{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/utils/observe-dom.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-document.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-window.js","webpack:///./node_modules/bootstrap-vue/esm/components/transporter/transporter.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/modal-manager.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/scoped-style.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get-scope-id.js","webpack:///./node_modules/bootstrap-vue/esm/components/transition/bv-transition.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button-close.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","observeDom","el","callback","options","$el","obs","mutations","changed","mutation","type","nodeType","Node","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","BLANK_TEMPLATE","makeBlankImgSrc","width","height","color","src","encodeURIComponent","replace","concat","props","alt","blank","blankColor","block","center","fluid","fluidGrow","left","right","rounded","sizes","srcset","thumbnail","BImg","extend","name","functional","render","h","_ref","_class","data","align","join","attrs","class","PROP","listenOnDocumentMixin","created","this","beforeDestroy","_this","event","listenOffDocument","methods","registerDocumentListener","array","unregisterDocumentListener","cb","listenDocument","on","listenOnDocument","document","listenOnWindowMixin","listenOffWindow","registerWindowListener","unregisterWindowListener","listenWindow","listenOnWindow","window","BVTransporterTarget","abstract","nodes","vm","updatedNodes","destroyed","$nodes","identity","text","container","disabled","tag","BVTransporter","mixins","watch","immediate","handler","unmountTarget","$nextTick","mountTarget","$_defaultFn","$_target","beforeMount","updated","updateTarget","getContainer","$container","createElement","appendChild","parent","propsData","normalizeSlot","defaultFn","$scopedSlots","default","$slots","$destroy","_typeof","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","_get","Reflect","get","property","receiver","base","_superPropBase","desc","call","hasOwnProperty","_getPrototypeOf","_inherits","subClass","superClass","create","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","_BvEvent","BvModalEvent","_super","eventInit","undefined","trigger","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","computed","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","body","resetScrollbar","String","newValue","updateModals","registerModal","modal","indexOf","unregisterModal","index","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","removeChild","clientWidth","_this2","isTop","_getBCR","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","actualMargin","marginRight","modalManager","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","characterData","attributes","attributeFilter","id","ariaLabel","autoFocusButton","bodyBgVariant","bodyClass","bodyTextVariant","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","footerBgVariant","footerBorderVariant","footerClass","footerTag","footerTextVariant","headerBgVariant","headerBorderVariant","headerClass","headerCloseContent","headerCloseLabel","headerCloseVariant","headerTag","headerTextVariant","hideBackdrop","hideFooter","hideHeader","hideHeaderClose","ignoreEnforceFocusSelector","lazy","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noFade","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","size","static","title","titleClass","titleHtml","titleSrOnly","titleTag","BModal","inheritAttrs","isHidden","isVisible","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","safeId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","show","modalStyles","sbWidth","paddingLeft","display","dialogClasses","headerClasses","_ref2","titleClasses","bodyClasses","_ref3","footerClasses","_ref4","modalOuterStyle","position","slotScope","cancel","onCancel","close","onClose","hide","ok","onOk","visible","computeIgnoreEnforceFocusSelector","trim","computedAttrs","scopedStyleAttrs","bvAttrs","computedModalAttrs","role","hasNormalizedSlot","oldValue","$_observer","$_returnFocus","mounted","listenOnRoot","showHandler","hideHandler","toggleHandler","modalListener","setObserver","disconnect","$refs","content","checkModalOverflow","bind","updateModel","$emit","buildEvent","cancelable","relatedTarget","vueTarget","componentId","$once","getActiveElement","showEvent","emitEvent","defaultPrevented","doShow","hideEvent","toggle","triggerEl","activeElement","focus","listenOnRootOnce","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","_this3","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","_this4","returnFocusTo","bvEvent","emitOnRoot","onDialogMousedown","_this5","onceModalMouseup","onClickOut","onEsc","keyCode","focusHandler","tabables","bottomTrap","topTrap","preventScroll","_this6","autoFocus","scrollTop","scrollHeight","documentElement","clientHeight","makeModal","$header","$modalHeader","$closeButton","textVariant","click","ref","staticClass","domProps","html","$body","$footer","$modalFooter","$cancelButton","variant","$okButton","$modalContent","tabindex","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","style","keydown","directives","enterClass","enterToClass","enterActiveClass","leaveClass","leaveActiveClass","leaveToClass","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","BvEvent","Defaults","nativeEvent","preventDefault","scopedStyleMixin","scopeId","$parent","getScopeId","$options","_scopeId","NO_FADE_PROPS","FADE_PROPS","appear","mode","transProps","BVTransition","children","appearClass","appearActiveClass","appearToClass","css","BButtonClose","slots","scopedSlots","componentData","innerHTML"],"mappings":"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","file":"js/chunk-17ef6c5a.99b90194.js","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { MutationObs, isElement } from './dom';\nimport { warnNoMutationObserverSupport } from './warn';\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\n\nexport var observeDom = function observeDom(el, callback, options)\n/* istanbul ignore next: difficult to test in JSDOM */\n{\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null; // Early exit when we have no element\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n if (!isElement(el)) {\n return null;\n } // Exit and throw a warning when `MutationObserver` isn't available\n\n\n if (warnNoMutationObserverSupport('observeDom')) {\n return null;\n } // Define a new observer\n\n\n var obs = new MutationObs(function (mutations) {\n var changed = false; // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n\n for (var i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n var mutation = mutations[i]; // Mutation type\n\n var type = mutation.type; // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n\n var target = mutation.target; // Detect whether a change happened based on type and target\n\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true;\n } else if (type === 'attributes') {\n changed = true;\n } else if (type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true;\n }\n } // We only call the callback if a change that could affect\n // layout/size truly happened\n\n\n if (changed) {\n callback();\n }\n }); // Have the observer observe foo for changes in children, etc\n\n obs.observe(el, _objectSpread({\n childList: true,\n subtree: true\n }, options)); // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n\n return obs;\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","import { Vue } from '../vue';\nimport { IS_BROWSER } from '../constants/env';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { arrayIncludes } from '../utils/array';\nimport { eventOn, eventOff } from '../utils/events';\nimport { keys } from '../utils/object'; // --- Constants ---\n\nvar PROP = '$_documentListeners'; // --- Mixin ---\n// @vue/component\n\nexport var listenOnDocumentMixin = Vue.extend({\n created: function created() {\n // Define non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of callbacks\n this[PROP] = {};\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n // Unregister all registered listeners\n keys(this[PROP] || {}).forEach(function (event) {\n _this[PROP][event].forEach(function (callback) {\n _this.listenOffDocument(event, callback);\n });\n });\n this[PROP] = null;\n },\n methods: {\n registerDocumentListener: function registerDocumentListener(event, callback) {\n if (this[PROP]) {\n this[PROP][event] = this[PROP][event] || [];\n\n if (!arrayIncludes(this[PROP][event], callback)) {\n this[PROP][event].push(callback);\n }\n }\n },\n unregisterDocumentListener: function unregisterDocumentListener(event, callback) {\n if (this[PROP] && this[PROP][event]) {\n this[PROP][event] = this[PROP][event].filter(function (cb) {\n return cb !== callback;\n });\n }\n },\n listenDocument: function listenDocument(on, event, callback) {\n on ? this.listenOnDocument(event, callback) : this.listenOffDocument(event, callback);\n },\n listenOnDocument: function listenOnDocument(event, callback) {\n if (IS_BROWSER) {\n eventOn(document, event, callback, EVENT_OPTIONS_NO_CAPTURE);\n this.registerDocumentListener(event, callback);\n }\n },\n listenOffDocument: function listenOffDocument(event, callback) {\n if (IS_BROWSER) {\n eventOff(document, event, callback, EVENT_OPTIONS_NO_CAPTURE);\n }\n\n this.unregisterDocumentListener(event, callback);\n }\n }\n});","import { Vue } from '../vue';\nimport { IS_BROWSER } from '../constants/env';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { arrayIncludes } from '../utils/array';\nimport { eventOn, eventOff } from '../utils/events';\nimport { keys } from '../utils/object'; // --- Constants ---\n\nvar PROP = '$_windowListeners'; // --- Mixin ---\n// @vue/component\n\nexport var listenOnWindowMixin = Vue.extend({\n created: function created() {\n // Define non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of callbacks\n this[PROP] = {};\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n // Unregister all registered listeners\n keys(this[PROP] || {}).forEach(function (event) {\n _this[PROP][event].forEach(function (callback) {\n _this.listenOffWindow(event, callback);\n });\n });\n this[PROP] = null;\n },\n methods: {\n registerWindowListener: function registerWindowListener(event, callback) {\n if (this[PROP]) {\n this[PROP][event] = this[PROP][event] || [];\n\n if (!arrayIncludes(this[PROP][event], callback)) {\n this[PROP][event].push(callback);\n }\n }\n },\n unregisterWindowListener: function unregisterWindowListener(event, callback) {\n if (this[PROP] && this[PROP][event]) {\n this[PROP][event] = this[PROP][event].filter(function (cb) {\n return cb !== callback;\n });\n }\n },\n listenWindow: function listenWindow(on, event, callback) {\n on ? this.listenOnWindow(event, callback) : this.listenOffWindow(event, callback);\n },\n listenOnWindow: function listenOnWindow(event, callback) {\n if (IS_BROWSER) {\n eventOn(window, event, callback, EVENT_OPTIONS_NO_CAPTURE);\n this.registerWindowListener(event, callback);\n }\n },\n listenOffWindow: function listenOffWindow(event, callback) {\n if (IS_BROWSER) {\n eventOff(window, event, callback, EVENT_OPTIONS_NO_CAPTURE);\n }\n\n this.unregisterWindowListener(event, callback);\n }\n }\n});","import { Vue } from '../../vue';\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement } from '../../constants/safe-types';\nimport { concat } from '../../utils/array';\nimport { removeNode, select } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isString } from '../../utils/inspect';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp } from '../../utils/props'; // --- Helper components ---\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\n\nvar BVTransporterTarget = /*#__PURE__*/Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n destroyed: function destroyed() {\n removeNode(this.$el);\n },\n render: function render(h) {\n var updatedNodes = this.updatedNodes;\n var $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes;\n $nodes = concat($nodes).filter(identity);\n\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0];\n }\n /* istanbul ignore next */\n\n\n return h();\n }\n}); // --- Props ---\n\nexport var props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTransporter = /*#__PURE__*/Vue.extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props: props,\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget);\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_defaultFn = null;\n this.$_target = null;\n },\n beforeMount: function beforeMount() {\n this.mountTarget();\n },\n updated: function updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget();\n },\n beforeDestroy: function beforeDestroy() {\n this.unmountTarget();\n this.$_defaultFn = null;\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer: function getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n var container = this.container;\n return isString(container) ? select(container) : container;\n } else {\n return null;\n }\n },\n // Mount the target\n mountTarget: function mountTarget() {\n if (!this.$_target) {\n var $container = this.getContainer();\n\n if ($container) {\n var $el = document.createElement('div');\n $container.appendChild($el);\n this.$_target = new BVTransporterTarget({\n el: $el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n });\n }\n }\n },\n // Update the content of the target\n updateTarget: function updateTarget() {\n if (IS_BROWSER && this.$_target) {\n var defaultFn = this.$scopedSlots.default;\n\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn;\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default;\n }\n } // Update the scoped slot function cache\n\n\n this.$_defaultFn = defaultFn;\n }\n },\n // Unmount the target\n unmountTarget: function unmountTarget() {\n this.$_target && this.$_target.$destroy();\n this.$_target = null;\n }\n },\n render: function render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n var $nodes = concat(this.normalizeSlot()).filter(identity);\n\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0];\n }\n }\n\n return h();\n }\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } Object.defineProperty(subClass, \"prototype\", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object';\n\nvar BvModalEvent = /*#__PURE__*/function (_BvEvent) {\n _inherits(BvModalEvent, _BvEvent);\n\n var _super = _createSuper(BvModalEvent);\n\n function BvModalEvent(type) {\n var _this;\n\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvModalEvent);\n\n _this = _super.call(this, type, eventInit); // Freeze our new props as readonly, but leave them enumerable\n\n defineProperties(_assertThisInitialized(_this), {\n trigger: readonlyDescriptor()\n });\n return _this;\n }\n\n _createClass(BvModalEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(BvModalEvent), \"Defaults\", this)), {}, {\n trigger: null\n });\n }\n }]);\n\n return BvModalEvent;\n}(BvEvent); // Named exports\n\n\nexport { BvModalEvent };","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\nimport { Vue } from '../../../vue';\nimport { IS_BROWSER } from '../../../constants/env';\nimport { addClass, getAttr, getBCR, getCS, getStyle, hasAttr, removeAttr, removeClass, requestAF, selectAll, setAttr, setStyle } from '../../../utils/dom';\nimport { isNull } from '../../../utils/inspect';\nimport { toFloat, toInteger } from '../../../utils/number'; // --- Constants ---\n// Default modal backdrop z-index\n\nvar DEFAULT_ZINDEX = 1040; // Selectors for padding/margin adjustments\n\nvar SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nvar SELECTOR_STICKY_CONTENT = '.sticky-top';\nvar SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'; // --- Main component ---\n// @vue/component\n\nvar ModalManager = /*#__PURE__*/Vue.extend({\n data: function data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n };\n },\n computed: {\n modalCount: function modalCount() {\n return this.modals.length;\n },\n modalsAreOpen: function modalsAreOpen() {\n return this.modalCount > 0;\n }\n },\n watch: {\n modalCount: function modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth();\n\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar();\n this.setScrollbar();\n addClass(document.body, 'modal-open');\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar();\n removeClass(document.body, 'modal-open');\n }\n\n setAttr(document.body, 'data-modal-open-count', String(newCount));\n }\n },\n modals: function modals(newValue) {\n var _this = this;\n\n this.checkScrollbar();\n requestAF(function () {\n _this.updateModals(newValue || []);\n });\n }\n },\n methods: {\n // Public methods\n registerModal: function registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n this.modals.push(modal);\n }\n },\n unregisterModal: function unregisterModal(modal) {\n var index = this.modals.indexOf(modal);\n\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1); // Reset the modal's data\n\n if (!modal._isBeingDestroyed && !modal._isDestroyed) {\n this.resetModal(modal);\n }\n }\n },\n getBaseZIndex: function getBaseZIndex() {\n if (IS_BROWSER && isNull(this.baseZIndex)) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n var div = document.createElement('div');\n addClass(div, 'modal-backdrop');\n addClass(div, 'd-none');\n setStyle(div, 'display', 'none');\n document.body.appendChild(div);\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX);\n document.body.removeChild(div);\n }\n\n return this.baseZIndex || DEFAULT_ZINDEX;\n },\n getScrollbarWidth: function getScrollbarWidth() {\n if (IS_BROWSER && isNull(this.scrollbarWidth)) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n var div = document.createElement('div');\n addClass(div, 'modal-scrollbar-measure');\n document.body.appendChild(div);\n this.scrollbarWidth = getBCR(div).width - div.clientWidth;\n document.body.removeChild(div);\n }\n\n return this.scrollbarWidth || 0;\n },\n // Private methods\n updateModals: function updateModals(modals) {\n var _this2 = this;\n\n var baseZIndex = this.getBaseZIndex();\n var scrollbarWidth = this.getScrollbarWidth();\n modals.forEach(function (modal, index) {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index;\n modal.scrollbarWidth = scrollbarWidth;\n modal.isTop = index === _this2.modals.length - 1;\n modal.isBodyOverflowing = _this2.isBodyOverflowing;\n });\n },\n resetModal: function resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex();\n modal.isTop = true;\n modal.isBodyOverflowing = false;\n }\n },\n checkScrollbar: function checkScrollbar() {\n // Determine if the body element is overflowing\n var _getBCR = getBCR(document.body),\n left = _getBCR.left,\n right = _getBCR.right;\n\n this.isBodyOverflowing = left + right < window.innerWidth;\n },\n setScrollbar: function setScrollbar() {\n var body = document.body; // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n\n body._paddingChangedForModal = body._paddingChangedForModal || [];\n body._marginChangedForModal = body._marginChangedForModal || [];\n\n if (this.isBodyOverflowing) {\n var scrollbarWidth = this.scrollbarWidth; // Adjust fixed content padding\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_FIXED_CONTENT).forEach(function (el) {\n var actualPadding = getStyle(el, 'paddingRight') || '';\n setAttr(el, 'data-padding-right', actualPadding);\n setStyle(el, 'paddingRight', \"\".concat(toFloat(getCS(el).paddingRight, 0) + scrollbarWidth, \"px\"));\n\n body._paddingChangedForModal.push(el);\n }); // Adjust sticky content margin\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_STICKY_CONTENT).forEach(function (el)\n /* istanbul ignore next */\n {\n var actualMargin = getStyle(el, 'marginRight') || '';\n setAttr(el, 'data-margin-right', actualMargin);\n setStyle(el, 'marginRight', \"\".concat(toFloat(getCS(el).marginRight, 0) - scrollbarWidth, \"px\"));\n\n body._marginChangedForModal.push(el);\n }); // Adjust margin\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(function (el)\n /* istanbul ignore next */\n {\n var actualMargin = getStyle(el, 'marginRight') || '';\n setAttr(el, 'data-margin-right', actualMargin);\n setStyle(el, 'marginRight', \"\".concat(toFloat(getCS(el).marginRight, 0) + scrollbarWidth, \"px\"));\n\n body._marginChangedForModal.push(el);\n }); // Adjust body padding\n\n var actualPadding = getStyle(body, 'paddingRight') || '';\n setAttr(body, 'data-padding-right', actualPadding);\n setStyle(body, 'paddingRight', \"\".concat(toFloat(getCS(body).paddingRight, 0) + scrollbarWidth, \"px\"));\n }\n },\n resetScrollbar: function resetScrollbar() {\n var body = document.body;\n\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(function (el) {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '');\n removeAttr(el, 'data-padding-right');\n }\n });\n }\n\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(function (el) {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '');\n removeAttr(el, 'data-margin-right');\n }\n });\n }\n\n body._paddingChangedForModal = null;\n body._marginChangedForModal = null; // Restore body padding\n\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '');\n removeAttr(body, 'data-padding-right');\n }\n }\n }\n}); // Create and export our modal manager instance\n\nexport var modalManager = new ModalManager();","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_MODAL } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_CANCEL, EVENT_NAME_CHANGE, EVENT_NAME_CLOSE, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_OK, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { CODE_ESC } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement } from '../../constants/safe-types';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_MODAL_BACKDROP, SLOT_NAME_MODAL_CANCEL, SLOT_NAME_MODAL_FOOTER, SLOT_NAME_MODAL_HEADER, SLOT_NAME_MODAL_HEADER_CLOSE, SLOT_NAME_MODAL_OK, SLOT_NAME_MODAL_TITLE } from '../../constants/slots';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { attemptFocus, closest, contains, getActiveElement as _getActiveElement, getTabables, requestAF, select } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { htmlOrText } from '../../utils/html';\nimport { identity } from '../../utils/identity';\nimport { isString, isUndefinedOrNull } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { scopedStyleMixin } from '../../mixins/scoped-style';\nimport { BButton } from '../button/button';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition';\nimport { BVTransporter } from '../transporter/transporter';\nimport { BvModalEvent } from './helpers/bv-modal-event.class';\nimport { modalManager } from './helpers/modal-manager'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar TRIGGER_BACKDROP = 'backdrop';\nvar TRIGGER_ESC = 'esc';\nvar TRIGGER_FORCE = 'FORCE';\nvar TRIGGER_TOGGLE = 'toggle';\nvar BUTTON_CANCEL = 'cancel'; // TODO: This should be renamed to 'close'\n\nvar BUTTON_CLOSE = 'headerclose';\nvar BUTTON_OK = 'ok';\nvar BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]; // `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\n\nvar OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(PROP_TYPE_STRING, null,\n /* istanbul ignore next */\n function (value) {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value);\n }),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTag: makeProp(PROP_TYPE_STRING, 'footer'),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n})), NAME_MODAL); // --- Main component ---\n// @vue/component\n\nexport var BModal = /*#__PURE__*/Vue.extend({\n name: NAME_MODAL,\n mixins: [attrsMixin, idMixin, modelMixin, listenOnDocumentMixin, listenOnRootMixin, listenOnWindowMixin, normalizeSlotMixin, scopedStyleMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n isHidden: true,\n // If modal should not be in document\n isVisible: false,\n // Controls modal visible state\n isTransitioning: false,\n // Used for style control\n isShow: false,\n // Used for style control\n isBlock: false,\n // Used for style control\n isOpening: false,\n // To signal that the modal is in the process of opening\n isClosing: false,\n // To signal that the modal is in the process of closing\n ignoreBackdropClick: false,\n // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n };\n },\n computed: {\n modalId: function modalId() {\n return this.safeId();\n },\n modalOuterId: function modalOuterId() {\n return this.safeId('__BV_modal_outer_');\n },\n modalHeaderId: function modalHeaderId() {\n return this.safeId('__BV_modal_header_');\n },\n modalBodyId: function modalBodyId() {\n return this.safeId('__BV_modal_body_');\n },\n modalTitleId: function modalTitleId() {\n return this.safeId('__BV_modal_title_');\n },\n modalContentId: function modalContentId() {\n return this.safeId('__BV_modal_content_');\n },\n modalFooterId: function modalFooterId() {\n return this.safeId('__BV_modal_footer_');\n },\n modalBackdropId: function modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_');\n },\n modalClasses: function modalClasses() {\n return [{\n fade: !this.noFade,\n show: this.isShow\n }, this.modalClass];\n },\n modalStyles: function modalStyles() {\n var sbWidth = \"\".concat(this.scrollbarWidth, \"px\");\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n };\n },\n dialogClasses: function dialogClasses() {\n var _ref;\n\n return [(_ref = {}, _defineProperty(_ref, \"modal-\".concat(this.size), this.size), _defineProperty(_ref, 'modal-dialog-centered', this.centered), _defineProperty(_ref, 'modal-dialog-scrollable', this.scrollable), _ref), this.dialogClass];\n },\n headerClasses: function headerClasses() {\n var _ref2;\n\n return [(_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(this.headerBgVariant), this.headerBgVariant), _defineProperty(_ref2, \"text-\".concat(this.headerTextVariant), this.headerTextVariant), _defineProperty(_ref2, \"border-\".concat(this.headerBorderVariant), this.headerBorderVariant), _ref2), this.headerClass];\n },\n titleClasses: function titleClasses() {\n return [{\n 'sr-only': this.titleSrOnly\n }, this.titleClass];\n },\n bodyClasses: function bodyClasses() {\n var _ref3;\n\n return [(_ref3 = {}, _defineProperty(_ref3, \"bg-\".concat(this.bodyBgVariant), this.bodyBgVariant), _defineProperty(_ref3, \"text-\".concat(this.bodyTextVariant), this.bodyTextVariant), _ref3), this.bodyClass];\n },\n footerClasses: function footerClasses() {\n var _ref4;\n\n return [(_ref4 = {}, _defineProperty(_ref4, \"bg-\".concat(this.footerBgVariant), this.footerBgVariant), _defineProperty(_ref4, \"text-\".concat(this.footerTextVariant), this.footerTextVariant), _defineProperty(_ref4, \"border-\".concat(this.footerBorderVariant), this.footerBorderVariant), _ref4), this.footerClass];\n },\n modalOuterStyle: function modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n };\n },\n slotScope: function slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n };\n },\n computeIgnoreEnforceFocusSelector: function computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector).filter(identity).join(',').trim();\n },\n computedAttrs: function computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n var scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {};\n return _objectSpread(_objectSpread(_objectSpread({}, scopedStyleAttrs), this.bvAttrs), {}, {\n id: this.modalOuterId\n });\n },\n computedModalAttrs: function computedModalAttrs() {\n var isVisible = this.isVisible,\n ariaLabel = this.ariaLabel;\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby': this.hideHeader || ariaLabel || // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title) ? null : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n };\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']();\n }\n }),\n created: function created() {\n // Define non-reactive properties\n this.$_observer = null;\n this.$_returnFocus = this.returnFocus || null;\n },\n mounted: function mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex(); // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler);\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler);\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler); // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener); // Initially show modal?\n\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Ensure everything is back to normal\n modalManager.unregisterModal(this);\n this.setObserver(false);\n\n if (this.isVisible) {\n this.isVisible = false;\n this.isShow = false;\n this.isTransitioning = false;\n }\n },\n methods: {\n setObserver: function setObserver() {\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n this.$_observer = observeDom(this.$refs.content, this.checkModalOverflow.bind(this), OBSERVER_CONFIG);\n }\n },\n // Private method to update the v-model\n updateModel: function updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value);\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new BvModalEvent(type, _objectSpread(_objectSpread({\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null\n }, options), {}, {\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n }));\n },\n // Public method to show modal\n show: function show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show);\n /* istanbul ignore next */\n\n return;\n }\n\n this.isOpening = true; // Set the element to return focus to when closed\n\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement();\n var showEvent = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvent); // Don't show if canceled\n\n if (showEvent.defaultPrevented || this.isVisible) {\n this.isOpening = false; // Ensure the v-model reflects the current state\n\n this.updateModel(false);\n return;\n } // Show the modal\n\n\n this.doShow();\n },\n // Public method to hide modal\n hide: function hide() {\n var trigger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return;\n }\n\n this.isClosing = true;\n var hideEvent = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n }); // We emit specific event for one of the three built-in buttons\n\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvent);\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvent);\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvent);\n }\n\n this.emitEvent(hideEvent); // Hide if not canceled\n\n if (hideEvent.defaultPrevented || !this.isVisible) {\n this.isClosing = false; // Ensure v-model reflects current state\n\n this.updateModel(true);\n return;\n } // Stop observing for content changes\n\n\n this.setObserver(false); // Trigger the hide transition\n\n this.isVisible = false; // Update the v-model\n\n this.updateModel(false);\n },\n // Public method to toggle modal visibility\n toggle: function toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl;\n }\n\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE);\n } else {\n this.show();\n }\n },\n // Private method to get the current document active element\n getActiveElement: function getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n var activeElement = _getActiveElement(IS_BROWSER ? [document.body] : []); // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n\n\n return activeElement && activeElement.focus ? activeElement : null;\n },\n // Private method to finish showing modal\n doShow: function doShow() {\n var _this = this;\n\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow);\n return;\n }\n\n modalManager.registerModal(this); // Place modal in DOM\n\n this.isHidden = false;\n this.$nextTick(function () {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n _this.isVisible = true;\n _this.isOpening = false; // Update the v-model\n\n _this.updateModel(true);\n\n _this.$nextTick(function () {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n _this.setObserver(true);\n });\n });\n },\n // Transition handlers\n onBeforeEnter: function onBeforeEnter() {\n this.isTransitioning = true;\n this.setResizeEvent(true);\n },\n onEnter: function onEnter() {\n var _this2 = this;\n\n this.isBlock = true; // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n\n requestAF(function () {\n requestAF(function () {\n _this2.isShow = true;\n });\n });\n },\n onAfterEnter: function onAfterEnter() {\n var _this3 = this;\n\n this.checkModalOverflow();\n this.isTransitioning = false; // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n\n requestAF(function () {\n _this3.emitEvent(_this3.buildEvent(EVENT_NAME_SHOWN));\n\n _this3.setEnforceFocus(true);\n\n _this3.$nextTick(function () {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n _this3.focusFirst();\n });\n });\n },\n onBeforeLeave: function onBeforeLeave() {\n this.isTransitioning = true;\n this.setResizeEvent(false);\n this.setEnforceFocus(false);\n },\n onLeave: function onLeave() {\n // Remove the 'show' class\n this.isShow = false;\n },\n onAfterLeave: function onAfterLeave() {\n var _this4 = this;\n\n this.isBlock = false;\n this.isTransitioning = false;\n this.isModalOverflowing = false;\n this.isHidden = true;\n this.$nextTick(function () {\n _this4.isClosing = false;\n modalManager.unregisterModal(_this4);\n\n _this4.returnFocusTo(); // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n\n\n _this4.emitEvent(_this4.buildEvent(EVENT_NAME_HIDDEN));\n });\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type; // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId);\n this.$emit(type, bvEvent);\n },\n // UI event handlers\n onDialogMousedown: function onDialogMousedown() {\n var _this5 = this;\n\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n var modal = this.$refs.modal;\n\n var onceModalMouseup = function onceModalMouseup(event) {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE);\n\n if (event.target === modal) {\n _this5.ignoreBackdropClick = true;\n }\n };\n\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE);\n },\n onClickOut: function onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false;\n return;\n } // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n\n\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return;\n } // If backdrop clicked, hide modal\n\n\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP);\n }\n },\n onOk: function onOk() {\n this.hide(BUTTON_OK);\n },\n onCancel: function onCancel() {\n this.hide(BUTTON_CANCEL);\n },\n onClose: function onClose() {\n this.hide(BUTTON_CLOSE);\n },\n onEsc: function onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC);\n }\n },\n // Document focusin listener\n focusHandler: function focusHandler(event) {\n // If focus leaves modal content, bring it back\n var content = this.$refs.content;\n var target = event.target;\n\n if (this.noEnforceFocus || !this.isTop || !this.isVisible || !content || document === target || contains(content, target) || this.computeIgnoreEnforceFocusSelector && closest(this.computeIgnoreEnforceFocusSelector, target, true)) {\n return;\n }\n\n var tabables = getTabables(this.$refs.content);\n var bottomTrap = this.$refs['bottom-trap'];\n var topTrap = this.$refs['top-trap'];\n\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return;\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return;\n }\n } // Otherwise focus the modal content container\n\n\n attemptFocus(content, {\n preventScroll: true\n });\n },\n // Turn on/off focusin listener\n setEnforceFocus: function setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler);\n },\n // Resize listener\n setResizeEvent: function setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow);\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow);\n },\n // Root listener handlers\n showHandler: function showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement();\n this.show();\n }\n },\n hideHandler: function hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event');\n }\n },\n toggleHandler: function toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl);\n }\n },\n modalListener: function modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide();\n }\n },\n // Focus control handlers\n focusFirst: function focusFirst() {\n var _this6 = this;\n\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(function () {\n var modal = _this6.$refs.modal;\n var content = _this6.$refs.content;\n\n var activeElement = _this6.getActiveElement(); // If the modal contains the activeElement, we don't do anything\n\n\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n var ok = _this6.$refs['ok-button'];\n var cancel = _this6.$refs['cancel-button'];\n var close = _this6.$refs['close-button']; // Focus the appropriate button or modal content wrapper\n\n var autoFocus = _this6.autoFocusButton;\n /* istanbul ignore next */\n\n var el = autoFocus === BUTTON_OK && ok ? ok.$el || ok : autoFocus === BUTTON_CANCEL && cancel ? cancel.$el || cancel : autoFocus === BUTTON_CLOSE && close ? close.$el || close : content; // Focus the element\n\n attemptFocus(el);\n\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n _this6.$nextTick(function () {\n modal.scrollTop = 0;\n });\n }\n }\n });\n }\n },\n returnFocusTo: function returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n var el = this.returnFocus || this.$_returnFocus || null;\n this.$_returnFocus = null;\n this.$nextTick(function () {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el;\n\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el;\n attemptFocus(el);\n }\n });\n },\n checkModalOverflow: function checkModalOverflow() {\n if (this.isVisible) {\n var modal = this.$refs.modal;\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight;\n }\n },\n makeModal: function makeModal(h) {\n // Modal header\n var $header = h();\n\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n var $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope);\n\n if (!$modalHeader) {\n var $closeButton = h();\n\n if (!this.hideHeaderClose) {\n $closeButton = h(BButtonClose, {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: {\n click: this.onClose\n },\n ref: 'close-button'\n }, // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]);\n }\n\n $modalHeader = [h(this.titleTag, {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: {\n id: this.modalTitleId\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) ? {} : htmlOrText(this.titleHtml, this.title)\n }, // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)), $closeButton];\n }\n\n $header = h(this.headerTag, {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: {\n id: this.modalHeaderId\n },\n ref: 'header'\n }, [$modalHeader]);\n } // Modal body\n\n\n var $body = h('div', {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: {\n id: this.modalBodyId\n },\n ref: 'body'\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)); // Modal footer\n\n var $footer = h();\n\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n var $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope);\n\n if (!$modalFooter) {\n var $cancelButton = h();\n\n if (!this.okOnly) {\n $cancelButton = h(BButton, {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL) ? {} : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: {\n click: this.onCancel\n },\n ref: 'cancel-button'\n }, // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL));\n }\n\n var $okButton = h(BButton, {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK) ? {} : htmlOrText(this.okTitleHtml, this.okTitle),\n on: {\n click: this.onOk\n },\n ref: 'ok-button'\n }, // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK));\n $modalFooter = [$cancelButton, $okButton];\n }\n\n $footer = h(this.footerTag, {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: {\n id: this.modalFooterId\n },\n ref: 'footer'\n }, [$modalFooter]);\n } // Assemble modal content\n\n\n var $modalContent = h('div', {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n }, [$header, $body, $footer]); // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n\n var $tabTrapTop = h();\n var $tabTrapBottom = h();\n\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: {\n tabindex: '0'\n },\n ref: 'top-trap'\n });\n $tabTrapBottom = h('span', {\n attrs: {\n tabindex: '0'\n },\n ref: 'bottom-trap'\n });\n } // Modal dialog wrapper\n\n\n var $modalDialog = h('div', {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: {\n mousedown: this.onDialogMousedown\n },\n ref: 'dialog'\n }, [$tabTrapTop, $modalContent, $tabTrapBottom]); // Modal\n\n var $modal = h('div', {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: {\n keydown: this.onEsc,\n click: this.onClickOut\n },\n directives: [{\n name: 'show',\n value: this.isVisible\n }],\n ref: 'modal'\n }, [$modalDialog]); // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n\n $modal = h('transition', {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$modal]); // Modal backdrop\n\n var $backdrop = h();\n\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h('div', {\n staticClass: 'modal-backdrop',\n attrs: {\n id: this.modalBackdropId\n }\n }, // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP));\n }\n\n $backdrop = h(BVTransition, {\n props: {\n noFade: this.noFade\n }\n }, [$backdrop]); // Assemble modal and backdrop in an outer
\n\n return h('div', {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: \"modal-outer-\".concat(this[COMPONENT_UID_KEY])\n }, [$modal, $backdrop]);\n }\n },\n render: function render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h);\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)]);\n }\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport { assign, defineProperty, defineProperties, readonlyDescriptor } from './object';\nexport var BvEvent = /*#__PURE__*/function () {\n function BvEvent(type) {\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvEvent);\n\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\"Failed to construct '\".concat(this.constructor.name, \"'. 1 argument required, \").concat(arguments.length, \" given.\"));\n } // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n\n\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, {\n type: type\n }); // Freeze some props as readonly, but leave them enumerable\n\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n }); // Create a private variable using closure scoping\n\n var defaultPrevented = false; // Recreate preventDefault method. One way setter\n\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true;\n }\n }; // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n\n\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get: function get() {\n return defaultPrevented;\n }\n });\n }\n\n _createClass(BvEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n };\n }\n }]);\n\n return BvEvent;\n}();","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { getScopeId } from '../utils/get-scope-id'; // @vue/component\n\nexport var scopedStyleMixin = Vue.extend({\n computed: {\n scopedStyleAttrs: function scopedStyleAttrs() {\n var scopeId = getScopeId(this.$parent);\n return scopeId ? _defineProperty({}, scopeId, '') : {};\n }\n }\n});","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport var getScopeId = function getScopeId(vm) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return vm ? vm.$options._scopeId || defaultValue : defaultValue;\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_TRANSITION } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { isPlainObject } from '../../utils/inspect';\nimport { makeProp } from '../../utils/props'; // --- Constants ---\n\nvar NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n};\n\nvar FADE_PROPS = _objectSpread(_objectSpread({}, NO_FADE_PROPS), {}, {\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}); // --- Props ---\n\n\nexport var props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTransition = /*#__PURE__*/Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var children = _ref.children,\n data = _ref.data,\n props = _ref.props;\n var transProps = props.transProps;\n\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS;\n\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = _objectSpread(_objectSpread({}, transProps), {}, {\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n });\n }\n }\n\n transProps = _objectSpread(_objectSpread({\n mode: props.mode\n }, transProps), {}, {\n // We always need `css` true\n css: true\n });\n return h('transition', // Any transition event listeners will get merged here\n mergeData(data, {\n props: transProps\n }), children);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BUTTON_CLOSE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { stopEvent } from '../../utils/events';\nimport { isEvent } from '../../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_BUTTON_CLOSE); // --- Main component ---\n// @vue/component\n\nexport var BButtonClose = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var componentData = {\n staticClass: 'close',\n class: _defineProperty({}, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click: function click(event) {\n // Ensure click on button HTML content is also disabled\n\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event);\n }\n }\n }\n }; // Careful not to override the default slot with innerHTML\n\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = {\n innerHTML: props.content\n };\n }\n\n return h('button', mergeData(data, componentData), normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots));\n }\n});"],"sourceRoot":""}