{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/modal-manager.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item-dropdown.js"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","props","tag","type","String","default","flush","Boolean","horizontal","BListGroup","extend","name","functional","render","h","_ref","data","children","componentData","staticClass","class","concat","MediaPlugin","components","BMedia","BMediaAside","BMediaBody","rightAlign","verticalAlign","noBody","slots","scopedSlots","childNodes","$slots","$scopedSlots","$aside","$default","push","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","BNavItem","linkAttrs","linkClasses","Array","listeners","on","attrs","formClass","BNavForm","_ref$listeners","$form","inline","fill","justified","align","tabs","pills","vertical","small","cardHeader","computeJustifyContent","BNav","_class","DEFAULT_ZINDEX","Selector","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","computed","modalCount","this","modalsAreOpen","watch","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","document","body","resetScrollbar","newVal","_this","updateModals","methods","registerModal","modal","_this2","indexOf","$once","unregisterModal","index","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","createElement","className","style","display","appendChild","zIndex","removeChild","width","clientWidth","_this3","isTop","_getBCR","left","right","window","innerWidth","_paddingChangedForModal","_marginChangedForModal","el","actualPadding","paddingRight","actualMargin","marginRight","modalManager","_typeof","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","_get","property","receiver","Reflect","get","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","Date","toString","e","getPrototypeOf","_BvEvent","BvModalEvent","_super","eventInit","undefined","trigger","NAME","OBSERVER_CONFIG","subtree","childList","characterData","attributes","attributeFilter","size","centered","scrollable","buttonSize","noStacking","noFade","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","ignoreEnforceFocusSelector","title","titleHtml","titleTag","titleClass","titleSrOnly","ariaLabel","headerBgVariant","headerBorderVariant","headerTextVariant","headerCloseVariant","headerClass","bodyBgVariant","bodyTextVariant","modalClass","dialogClass","contentClass","bodyClass","footerBgVariant","footerBorderVariant","footerTextVariant","footerClass","hideHeader","hideFooter","hideHeaderClose","hideBackdrop","okOnly","okDisabled","cancelDisabled","visible","returnFocus","headerCloseContent","headerCloseLabel","cancelTitle","cancelTitleHtml","okTitle","okTitleHtml","cancelVariant","okVariant","lazy","busy","static","autoFocusButton","validator","val","array","BModal","mixins","id","inheritAttrs","model","prop","event","isHidden","isVisible","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","return_focus","modalId","safeId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","show","modalStyles","sbWidth","paddingLeft","dialogClasses","headerClasses","_ref2","titleClasses","bodyClasses","_ref3","footerClasses","_ref4","modalOuterStyle","position","slotScope","ok","onOk","cancel","onCancel","close","onClose","hide","computeIgnoreEnforceFocusSelector","identity","join","trim","computedAttrs","scopedStyleAttrs","bvAttrs","computedModalAttrs","role","hasNormalizedSlot","oldVal","created","$_observer","mounted","listenOnRoot","showHandler","hideHandler","toggleHandler","modalListener","$nextTick","beforeDestroy","setObserver","disconnect","$refs","content","checkModalOverflow","bind","updateModel","$emit","buildEvent","options","cancelable","$el","relatedTarget","vueTarget","componentId","getActiveElement","showEvt","emitEvent","defaultPrevented","doShow","hideEvt","toggle","triggerEl","activeElement","focus","listenOnRootOnce","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","_this4","returnFocusTo","bvModalEvt","emitOnRoot","onDialogMousedown","_this5","onceModalMouseup","evt","onClickOut","onEsc","keyCode","ESC","focusHandler","tabables","_this$$refs","bottomTrap","topTrap","preventScroll","listenDocument","listenWindow","bvEvt","_this6","autoFocus","scrollTop","scrollHeight","documentElement","clientHeight","makeModal","$header","$modalHeader","normalizeSlot","$closeButton","disabled","textVariant","click","ref","domProps","html","$body","$footer","$modalFooter","$cancelButton","variant","$okButton","$modalContent","tabindex","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","keydown","directives","enterClass","enterToClass","enterActiveClass","leaveClass","leaveActiveClass","leaveToClass","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","_uid","NavPlugin","BNavText","BNavItemDropdown","BNavItemDd","BNavDropdown","BNavDd","plugins","DropdownPlugin","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","n","slice","from","test","iter","isArray","len","arr2","PROP_NAME","PROP_NAME_PRIV","BASE_PROPS","defaultResolver","propsToSlots","msgBoxContent","filterOptions","reduce","memo","plugin","Vue","BMsgBox","extends","destroyed","parentNode","handleDestroy","setTimeout","$destroy","$parent","$router","$route","$watch","asyncMsgBox","resolver","msgBox","parent","propsData","Promise","resolve","reject","resolved","Error","$on","$mount","makeMsgBox","BvModal","vm","_vm","_root","$root","_this$_root","_len","args","_key","_this$_root2","_len2","_key2","message","mixin","beforeCreate","BVModalPlugin","actionTags","linkProps","href","to","action","button","BListGroupItem","active","link","itemProps","ModalPlugin","VBModal","ListGroupPlugin","toggleId","isNav","dropdownClasses","directionClass","menuClasses","menuClass","toggleClasses","toggleClass","noCaret","$toggle","onMousedown","text","$menu","onKeydown"],"mappings":"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","file":"js/chunk-vendors~f414210c.3f2b3ed5.js","sourcesContent":["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 '../../utils/vue';\nimport { mergeData } from 'vue-functional-data-merge';\nimport { isString } from '../../utils/inspect';\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n flush: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: [Boolean, String],\n default: false\n }\n}; // @vue/component\n\nexport var BListGroup = /*#__PURE__*/Vue.extend({\n name: 'BListGroup',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var horizontal = props.horizontal === '' ? true : props.horizontal;\n horizontal = props.flush ? false : horizontal;\n var componentData = {\n staticClass: 'list-group',\n class: _defineProperty({\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true\n }, \"list-group-horizontal-\".concat(horizontal), isString(horizontal))\n };\n return h(props.tag, mergeData(data, componentData), children);\n }\n});","import { BMedia } from './media';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body';\nimport { pluginFactory } from '../../utils/plugins';\nvar MediaPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BMedia: BMedia,\n BMediaAside: BMediaAside,\n BMediaBody: BMediaBody\n }\n});\nexport { MediaPlugin, BMedia, BMediaAside, BMediaBody };","import Vue from '../../utils/vue';\nimport { mergeData } from 'vue-functional-data-merge';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { BMediaBody } from './media-body';\nimport { BMediaAside } from './media-aside';\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n rightAlign: {\n type: Boolean,\n default: false\n },\n verticalAlign: {\n type: String,\n default: 'top'\n },\n noBody: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: 'BMedia',\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 children = _ref.children;\n var childNodes = props.noBody ? children : [];\n\n if (!props.noBody) {\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $aside = normalizeSlot('aside', {}, $scopedSlots, $slots);\n var $default = normalizeSlot('default', {}, $scopedSlots, $slots);\n\n if ($aside && !props.rightAlign) {\n childNodes.push(h(BMediaAside, {\n staticClass: 'mr-3',\n props: {\n verticalAlign: props.verticalAlign\n }\n }, $aside));\n }\n\n childNodes.push(h(BMediaBody, $default));\n\n if ($aside && props.rightAlign) {\n childNodes.push(h(BMediaAside, {\n staticClass: 'ml-3',\n props: {\n verticalAlign: props.verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), childNodes);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { mergeData } from 'vue-functional-data-merge';\nimport Vue from '../../utils/vue';\nimport { omit } from '../../utils/object';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = omit(BLinkProps, ['event', 'routerTag']); // --- Main component ---\n// @vue/component\n\nexport var BNavItem = /*#__PURE__*/Vue.extend({\n name: 'BNavItem',\n functional: true,\n props: _objectSpread(_objectSpread({}, props), {}, {\n linkAttrs: {\n type: Object,\n default: function _default() {}\n },\n linkClasses: {\n type: [String, Object, Array],\n default: null\n }\n }),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n children = _ref.children;\n // We transfer the listeners to the link\n delete data.on;\n return h('li', mergeData(data, {\n staticClass: 'nav-item'\n }), [h(BLink, {\n staticClass: 'nav-link',\n class: props.linkClasses,\n attrs: props.linkAttrs,\n props: props,\n on: listeners\n }, children)]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 Vue from '../../utils/vue';\nimport { mergeData } from 'vue-functional-data-merge';\nimport { omit } from '../../utils/object';\nimport { BForm, props as BFormProps } from '../form/form';\nexport var props = _objectSpread(_objectSpread({}, omit(BFormProps, ['inline'])), {}, {\n formClass: {\n type: [String, Array, Object] // default: null\n\n }\n}); // @vue/component\n\nexport var BNavForm = /*#__PURE__*/Vue.extend({\n name: 'BNavForm',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children,\n _ref$listeners = _ref.listeners,\n listeners = _ref$listeners === void 0 ? {} : _ref$listeners;\n var attrs = data.attrs; // The following data properties are cleared out\n // as they will be passed to BForm directly\n\n data.attrs = {};\n data.on = {};\n var $form = h(BForm, {\n class: props.formClass,\n props: _objectSpread(_objectSpread({}, props), {}, {\n inline: true\n }),\n attrs: attrs,\n on: listeners\n }, children);\n return h('li', mergeData(data, {\n staticClass: 'form-inline'\n }), [$form]);\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 from '../../utils/vue';\nimport { mergeData } from 'vue-functional-data-merge'; // -- Constants --\n\nexport var props = {\n tag: {\n type: String,\n default: 'ul'\n },\n fill: {\n type: Boolean,\n default: false\n },\n justified: {\n type: Boolean,\n default: false\n },\n align: {\n type: String // default: null\n\n },\n tabs: {\n type: Boolean,\n default: false\n },\n pills: {\n type: Boolean,\n default: false\n },\n vertical: {\n type: Boolean,\n default: false\n },\n small: {\n type: Boolean,\n default: false\n },\n cardHeader: {\n // Set to true if placing in a card header\n type: Boolean,\n default: false\n }\n}; // -- Utils --\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n // Normalize value\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // @vue/component\n\n\nexport var BNav = /*#__PURE__*/Vue.extend({\n name: 'BNav',\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 children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(props.align), !props.vertical && props.align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\nimport Vue from '../../../utils/vue';\nimport { getAttr, hasAttr, removeAttr, setAttr, addClass, removeClass, getBCR, getCS, selectAll, requestAF } from '../../../utils/dom';\nimport { isBrowser } from '../../../utils/env';\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 = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\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 (isBrowser) {\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(newVal) {\n var _this = this;\n\n this.checkScrollbar();\n requestAF(function () {\n _this.updateModals(newVal || []);\n });\n }\n },\n methods: {\n // Public methods\n registerModal: function registerModal(modal) {\n var _this2 = this;\n\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal);\n modal.$once('hook:beforeDestroy', function () {\n _this2.unregisterModal(modal);\n });\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 (isNull(this.baseZIndex) && isBrowser) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n var div = document.createElement('div');\n div.className = 'modal-backdrop d-none';\n div.style.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 (isNull(this.scrollbarWidth) && isBrowser) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n var div = document.createElement('div');\n div.className = '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 _this3 = 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 === _this3.modals.length - 1;\n modal.isBodyOverflowing = _this3.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 = el.style.paddingRight;\n setAttr(el, 'data-padding-right', actualPadding);\n el.style.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 = el.style.marginRight;\n setAttr(el, 'data-margin-right', actualMargin);\n el.style.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 = el.style.marginRight;\n setAttr(el, 'data-margin-right', actualMargin);\n el.style.marginRight = \"\".concat(toFloat(getCS(el).marginRight, 0) + scrollbarWidth, \"px\");\n\n body._marginChangedForModal.push(el);\n }); // Adjust body padding\n\n var actualPadding = body.style.paddingRight;\n setAttr(body, 'data-padding-right', actualPadding);\n body.style.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 el.style.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 el.style.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 body.style.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 _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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); return Constructor; }\n\nfunction _get(target, property, receiver) { 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(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\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\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); 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 () { 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], 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 };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 Vue from '../../utils/vue';\nimport BVTransition from '../../utils/bv-transition';\nimport KeyCodes from '../../utils/key-codes';\nimport identity from '../../utils/identity';\nimport observeDom from '../../utils/observe-dom';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { attemptFocus, closest, contains, getActiveElement as _getActiveElement, getTabables, requestAF, select } from '../../utils/dom';\nimport { isBrowser } from '../../utils/env';\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../../utils/events';\nimport { htmlOrText } from '../../utils/html';\nimport { isString, isUndefinedOrNull } from '../../utils/inspect';\nimport { HTMLElement } from '../../utils/safe-types';\nimport { BTransporterSingle } from '../../utils/transporter';\nimport attrsMixin from '../../mixins/attrs';\nimport idMixin 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 scopedStyleAttrsMixin from '../../mixins/scoped-style-attrs';\nimport { BButton } from '../button/button';\nimport { BButtonClose } from '../button/button-close';\nimport { modalManager } from './helpers/modal-manager';\nimport { BvModalEvent } from './helpers/bv-modal-event.class'; // --- Constants ---\n\nvar NAME = 'BModal'; // 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 = {\n size: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'size');\n }\n },\n centered: {\n type: Boolean,\n default: false\n },\n scrollable: {\n type: Boolean,\n default: false\n },\n buttonSize: {\n type: String // default: ''\n\n },\n noStacking: {\n type: Boolean,\n default: false\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noCloseOnBackdrop: {\n type: Boolean,\n default: false\n },\n noCloseOnEsc: {\n type: Boolean,\n default: false\n },\n noEnforceFocus: {\n type: Boolean,\n default: false\n },\n ignoreEnforceFocusSelector: {\n type: [Array, String],\n default: ''\n },\n title: {\n type: String,\n default: ''\n },\n titleHtml: {\n type: String\n },\n titleTag: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'titleTag');\n }\n },\n titleClass: {\n type: [String, Array, Object] // default: null\n\n },\n titleSrOnly: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String // default: null\n\n },\n headerBgVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'headerBgVariant');\n }\n },\n headerBorderVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'headerBorderVariant');\n }\n },\n headerTextVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'headerTextVariant');\n }\n },\n headerCloseVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'headerCloseVariant');\n }\n },\n headerClass: {\n type: [String, Array, Object] // default: null\n\n },\n bodyBgVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'bodyBgVariant');\n }\n },\n bodyTextVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'bodyTextVariant');\n }\n },\n modalClass: {\n type: [String, Array, Object] // default: null\n\n },\n dialogClass: {\n type: [String, Array, Object] // default: null\n\n },\n contentClass: {\n type: [String, Array, Object] // default: null\n\n },\n bodyClass: {\n type: [String, Array, Object] // default: null\n\n },\n footerBgVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'footerBgVariant');\n }\n },\n footerBorderVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'footerBorderVariant');\n }\n },\n footerTextVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'footerTextVariant');\n }\n },\n footerClass: {\n type: [String, Array, Object] // default: null\n\n },\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: {\n type: Boolean,\n default: false\n },\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: {\n type: Boolean,\n default: false\n },\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: {\n type: Boolean,\n default: false\n },\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: {\n type: Boolean,\n default: false\n },\n okOnly: {\n type: Boolean,\n default: false\n },\n okDisabled: {\n type: Boolean,\n default: false\n },\n cancelDisabled: {\n type: Boolean,\n default: false\n },\n visible: {\n type: Boolean,\n default: false\n },\n returnFocus: {\n // HTML Element, CSS selector string or Vue component instance\n type: [HTMLElement, String, Object],\n default: null\n },\n headerCloseContent: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'headerCloseContent');\n }\n },\n headerCloseLabel: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'headerCloseLabel');\n }\n },\n cancelTitle: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'cancelTitle');\n }\n },\n cancelTitleHtml: {\n type: String\n },\n okTitle: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'okTitle');\n }\n },\n okTitleHtml: {\n type: String\n },\n cancelVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'cancelVariant');\n }\n },\n okVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'okVariant');\n }\n },\n lazy: {\n type: Boolean,\n default: false\n },\n busy: {\n type: Boolean,\n default: false\n },\n static: {\n type: Boolean,\n default: false\n },\n autoFocusButton: {\n type: String,\n default: null,\n validator\n /* istanbul ignore next */\n : function validator(val) {\n /* istanbul ignore next */\n return isUndefinedOrNull(val) || arrayIncludes(['ok', 'cancel', 'close'], val);\n }\n }\n}; // @vue/component\n\nexport var BModal = /*#__PURE__*/Vue.extend({\n name: NAME,\n mixins: [attrsMixin, idMixin, listenOnDocumentMixin, listenOnRootMixin, listenOnWindowMixin, normalizeSlotMixin, scopedStyleAttrsMixin],\n inheritAttrs: false,\n model: {\n prop: 'visible',\n event: 'change'\n },\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 return_focus: this.returnFocus || null,\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 ok: this.onOk,\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\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('modal-title') || this.titleHtml || this.title) ? null : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n };\n }\n },\n watch: {\n visible: function visible(newVal, oldVal) {\n if (newVal !== oldVal) {\n this[newVal ? 'show' : 'hide']();\n }\n }\n },\n created: function created() {\n // Define non-reactive properties\n this.$_observer = 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('bv::show::modal', this.showHandler);\n this.listenOnRoot('bv::hide::modal', this.hideHandler);\n this.listenOnRoot('bv::toggle::modal', this.toggleHandler); // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n\n this.listenOnRoot('bv::modal::show', this.modalListener); // Initially show modal?\n\n if (this.visible === true) {\n this.$nextTick(this.show);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Ensure everything is back to normal\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(val) {\n if (val !== this.visible) {\n this.$emit('change', val);\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('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.return_focus = this.return_focus || this.getActiveElement();\n var showEvt = this.buildEvent('show', {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if canceled\n\n if (showEvt.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 hideEvt = this.buildEvent('hide', {\n cancelable: trigger !== 'FORCE',\n trigger: trigger || null\n }); // We emit specific event for one of the three built-in buttons\n\n if (trigger === 'ok') {\n this.$emit('ok', hideEvt);\n } else if (trigger === 'cancel') {\n this.$emit('cancel', hideEvt);\n } else if (trigger === 'headerclose') {\n this.$emit('close', hideEvt);\n }\n\n this.emitEvent(hideEvt); // Hide if not canceled\n\n if (hideEvt.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.return_focus = triggerEl;\n }\n\n if (this.isVisible) {\n this.hide('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(isBrowser ? [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('bv::modal::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('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('hidden'));\n });\n },\n // Event emitter\n emitEvent: function emitEvent(bvModalEvt) {\n var type = bvModalEvt.type; // We emit on root first incase a global listener wants to cancel\n // the event first before the instance emits its event\n\n this.emitOnRoot(\"bv::modal::\".concat(type), bvModalEvt, bvModalEvt.componentId);\n this.$emit(type, bvModalEvt);\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(evt) {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE);\n\n if (evt.target === modal) {\n _this5.ignoreBackdropClick = true;\n }\n };\n\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE);\n },\n onClickOut: function onClickOut(evt) {\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, evt.target)) {\n return;\n } // If backdrop clicked, hide modal\n\n\n if (!contains(this.$refs.content, evt.target)) {\n this.hide('backdrop');\n }\n },\n onOk: function onOk() {\n this.hide('ok');\n },\n onCancel: function onCancel() {\n this.hide('cancel');\n },\n onClose: function onClose() {\n this.hide('headerclose');\n },\n onEsc: function onEsc(evt) {\n // If ESC pressed, hide modal\n if (evt.keyCode === KeyCodes.ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide('esc');\n }\n },\n // Document focusin listener\n focusHandler: function focusHandler(evt) {\n // If focus leaves modal content, bring it back\n var content = this.$refs.content;\n var target = evt.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 _this$$refs = this.$refs,\n bottomTrap = _this$$refs.bottomTrap,\n topTrap = _this$$refs.topTrap;\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.return_focus = 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(bvEvt) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvt.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 (isBrowser) {\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 === 'ok' && ok ? ok.$el || ok : autoFocus === 'cancel' && cancel ? cancel.$el || cancel : autoFocus === '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.return_focus || null;\n this.return_focus = 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('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('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('modal-title') ? {} : htmlOrText(this.titleHtml, this.title)\n }, // TODO: Rename slot to `title` and deprecate `modal-title`\n [this.normalizeSlot('modal-title', this.slotScope)]), $closeButton];\n }\n\n $header = h('header', {\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('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('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('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('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('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('modal-ok'));\n $modalFooter = [$cancelButton, $okButton];\n }\n\n $footer = h('footer', {\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 ref: 'topTrap',\n attrs: {\n tabindex: '0'\n }\n });\n $tabTrapBottom = h('span', {\n ref: 'bottomTrap',\n attrs: {\n tabindex: '0'\n }\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('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._uid)\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(BTransporterSingle, [this.makeModal(h)]);\n }\n }\n});","import { BNav } from './nav';\nimport { BNavItem } from './nav-item';\nimport { BNavText } from './nav-text';\nimport { BNavForm } from './nav-form';\nimport { BNavItemDropdown } from './nav-item-dropdown';\nimport { DropdownPlugin } from '../dropdown';\nimport { pluginFactory } from '../../utils/plugins';\nvar NavPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BNav: BNav,\n BNavItem: BNavItem,\n BNavText: BNavText,\n BNavForm: BNavForm,\n BNavItemDropdown: BNavItemDropdown,\n BNavItemDd: BNavItemDropdown,\n BNavDropdown: BNavItemDropdown,\n BNavDd: BNavItemDropdown\n },\n plugins: {\n DropdownPlugin: DropdownPlugin\n }\n});\nexport { NavPlugin, BNav, BNavItem, BNavText, BNavForm, BNavItemDropdown };","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 '../../utils/vue';\nimport { mergeData } from 'vue-functional-data-merge';\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n verticalAlign: {\n type: String,\n default: 'top'\n }\n}; // @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: 'BMediaAside',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var align = props.verticalAlign === 'top' ? 'start' : props.verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n props.verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'd-flex',\n class: _defineProperty({}, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import Vue from '../../utils/vue';\nimport { mergeData } from 'vue-functional-data-merge';\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n}; // @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: 'BMediaBody',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\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); return Constructor; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// Plugin for adding `$bvModal` property to all Vue instances\nimport { BModal, props as modalProps } from '../modal';\nimport { concat } from '../../../utils/array';\nimport { getComponentConfig } from '../../../utils/config';\nimport { isUndefined, isFunction } from '../../../utils/inspect';\nimport { assign, defineProperties, defineProperty, hasOwnProperty, keys, omit, readonlyDescriptor } from '../../../utils/object';\nimport { pluginFactory } from '../../../utils/plugins';\nimport { warn, warnNotClient, warnNoPromiseSupport } from '../../../utils/warn'; // --- Constants ---\n\nvar PROP_NAME = '$bvModal';\nvar PROP_NAME_PRIV = '_bv__modal'; // Base modal props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\n\nvar BASE_PROPS = ['id'].concat(_toConsumableArray(keys(omit(modalProps, ['busy', 'lazy', 'noStacking', \"static\", 'visible'])))); // Fallback event resolver (returns undefined)\n\nvar defaultResolver = function defaultResolver() {}; // Map prop names to modal slot names\n\n\nvar propsToSlots = {\n msgBoxContent: 'default',\n title: 'modal-title',\n okTitle: 'modal-ok',\n cancelTitle: 'modal-cancel'\n}; // --- Utility methods ---\n// Method to filter only recognized props that are not undefined\n\nvar filterOptions = function filterOptions(options) {\n return BASE_PROPS.reduce(function (memo, key) {\n if (!isUndefined(options[key])) {\n memo[key] = options[key];\n }\n\n return memo;\n }, {});\n}; // Method to install `$bvModal` VM injection\n\n\nvar plugin = function plugin(Vue) {\n // Create a private sub-component that extends BModal\n // which self-destructs after hidden\n // @vue/component\n var BMsgBox = Vue.extend({\n name: 'BMsgBox',\n extends: BModal,\n destroyed: function destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Self destruct handler\n var handleDestroy = function handleDestroy() {\n var self = _this;\n\n _this.$nextTick(function () {\n // In a `setTimeout()` to release control back to application\n setTimeout(function () {\n return self.$destroy();\n }, 0);\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once('hook:destroyed', handleDestroy); // Self destruct after hidden\n\n this.$once('hidden', handleDestroy); // Self destruct on route change\n\n /* istanbul ignore if */\n\n if (this.$router && this.$route) {\n // Destroy ourselves if route changes\n\n /* istanbul ignore next */\n this.$once('hook:beforeDestroy', this.$watch('$router', handleDestroy));\n } // Show the `BMsgBox`\n\n\n this.show();\n }\n }); // Method to generate the on-demand modal message box\n // Returns a promise that resolves to a value returned by the resolve\n\n var asyncMsgBox = function asyncMsgBox($parent, props) {\n var resolver = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultResolver;\n\n if (warnNotClient(PROP_NAME) || warnNoPromiseSupport(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n } // Create an instance of `BMsgBox` component\n\n\n var msgBox = new BMsgBox({\n // We set parent as the local VM so these modals can emit events on\n // the app `$root`, as needed by things like tooltips and popovers\n // And it helps to ensure `BMsgBox` is destroyed when parent is destroyed\n parent: $parent,\n // Preset the prop values\n propsData: _objectSpread(_objectSpread(_objectSpread({}, filterOptions(getComponentConfig('BModal') || {})), {}, {\n // Defaults that user can override\n hideHeaderClose: true,\n hideHeader: !(props.title || props.titleHtml)\n }, omit(props, keys(propsToSlots))), {}, {\n // Props that can't be overridden\n lazy: false,\n busy: false,\n visible: false,\n noStacking: false,\n noEnforceFocus: false\n })\n }); // Convert certain props to scoped slots\n\n keys(propsToSlots).forEach(function (prop) {\n if (!isUndefined(props[prop])) {\n // Can be a string, or array of VNodes.\n // Alternatively, user can use HTML version of prop to pass an HTML string.\n msgBox.$slots[propsToSlots[prop]] = concat(props[prop]);\n }\n }); // Return a promise that resolves when hidden, or rejects on destroyed\n\n return new Promise(function (resolve, reject) {\n var resolved = false;\n msgBox.$once('hook:destroyed', function () {\n if (!resolved) {\n /* istanbul ignore next */\n reject(new Error('BootstrapVue MsgBox destroyed before resolve'));\n }\n });\n msgBox.$on('hide', function (bvModalEvt) {\n if (!bvModalEvt.defaultPrevented) {\n var result = resolver(bvModalEvt); // If resolver didn't cancel hide, we resolve\n\n if (!bvModalEvt.defaultPrevented) {\n resolved = true;\n resolve(result);\n }\n }\n }); // Create a mount point (a DIV) and mount the msgBo which will trigger it to show\n\n var div = document.createElement('div');\n document.body.appendChild(div);\n msgBox.$mount(div);\n });\n }; // Private utility method to open a user defined message box and returns a promise.\n // Not to be used directly by consumers, as this method may change calling syntax\n\n\n var makeMsgBox = function makeMsgBox($parent, content) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var resolver = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!content || warnNoPromiseSupport(PROP_NAME) || warnNotClient(PROP_NAME) || !isFunction(resolver)) {\n /* istanbul ignore next */\n return;\n }\n\n return asyncMsgBox($parent, _objectSpread(_objectSpread({}, filterOptions(options)), {}, {\n msgBoxContent: content\n }), resolver);\n }; // BvModal instance class\n\n\n var BvModal = /*#__PURE__*/function () {\n function BvModal(vm) {\n _classCallCheck(this, BvModal);\n\n // Assign the new properties to this instance\n assign(this, {\n _vm: vm,\n _root: vm.$root\n }); // Set these properties as read-only and non-enumerable\n\n defineProperties(this, {\n _vm: readonlyDescriptor(),\n _root: readonlyDescriptor()\n });\n } // --- Instance methods ---\n // Show modal with the specified ID args are for future use\n\n\n _createClass(BvModal, [{\n key: \"show\",\n value: function show(id) {\n if (id && this._root) {\n var _this$_root;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_this$_root = this._root).$emit.apply(_this$_root, ['bv::show::modal', id].concat(args));\n }\n } // Hide modal with the specified ID args are for future use\n\n }, {\n key: \"hide\",\n value: function hide(id) {\n if (id && this._root) {\n var _this$_root2;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (_this$_root2 = this._root).$emit.apply(_this$_root2, ['bv::hide::modal', id].concat(args));\n }\n } // The following methods require Promise support!\n // IE 11 and others do not support Promise natively, so users\n // should have a Polyfill loaded (which they need anyways for IE 11 support)\n // Open a message box with OK button only and returns a promise\n\n }, {\n key: \"msgBoxOk\",\n value: function msgBoxOk(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Pick the modal props we support from options\n var props = _objectSpread(_objectSpread({}, options), {}, {\n // Add in overrides and our content prop\n okOnly: true,\n okDisabled: false,\n hideFooter: false,\n msgBoxContent: message\n });\n\n return makeMsgBox(this._vm, message, props, function () {\n // Always resolve to true for OK\n return true;\n });\n } // Open a message box modal with OK and CANCEL buttons\n // and returns a promise\n\n }, {\n key: \"msgBoxConfirm\",\n value: function msgBoxConfirm(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Set the modal props we support from options\n var props = _objectSpread(_objectSpread({}, options), {}, {\n // Add in overrides and our content prop\n okOnly: false,\n okDisabled: false,\n cancelDisabled: false,\n hideFooter: false\n });\n\n return makeMsgBox(this._vm, message, props, function (bvModalEvt) {\n var trigger = bvModalEvt.trigger;\n return trigger === 'ok' ? true : trigger === 'cancel' ? false : null;\n });\n }\n }]);\n\n return BvModal;\n }(); // Add our instance mixin\n\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvModal` for each VM\n this[PROP_NAME_PRIV] = new BvModal(this);\n }\n }); // Define our read-only `$bvModal` instance property\n // Placed in an if just in case in HMR mode\n\n if (!hasOwnProperty(Vue.prototype, PROP_NAME)) {\n defineProperty(Vue.prototype, PROP_NAME, {\n get: function get() {\n /* istanbul ignore next */\n if (!this || !this[PROP_NAME_PRIV]) {\n warn(\"\\\"\".concat(PROP_NAME, \"\\\" must be accessed from a Vue instance \\\"this\\\" context.\"), 'BModal');\n }\n\n return this[PROP_NAME_PRIV];\n }\n });\n }\n};\n\nexport var BVModalPlugin = /*#__PURE__*/pluginFactory({\n plugins: {\n plugin: plugin\n }\n});","import Vue from '../../utils/vue';\nimport { mergeData } from 'vue-functional-data-merge';\nexport var props = {}; // @vue/component\n\nexport var BNavText = /*#__PURE__*/Vue.extend({\n name: 'BNavText',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n children = _ref.children;\n return h('li', mergeData(data, {\n staticClass: 'navbar-text'\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { mergeData } from 'vue-functional-data-merge';\nimport Vue from '../../utils/vue';\nimport { arrayIncludes } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { isTag } from '../../utils/dom';\nimport { omit } from '../../utils/object';\nimport { pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar NAME = 'BListGroupItem';\nvar actionTags = ['a', 'router-link', 'button', 'b-link']; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = _objectSpread({\n tag: {\n type: String,\n default: 'div'\n },\n action: {\n type: Boolean,\n default: null\n },\n button: {\n type: Boolean,\n default: null\n },\n variant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'variant');\n }\n }\n}, linkProps); // --- Main component ---\n// @vue/component\n\nexport var BListGroupItem = /*#__PURE__*/Vue.extend({\n name: NAME,\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 children = _ref.children;\n var button = props.button,\n variant = props.variant,\n active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = button ? 'button' : !link ? props.tag : BLink;\n var action = !!(props.action || link || button || arrayIncludes(actionTags, props.tag));\n var attrs = {};\n var itemProps = {};\n\n if (isTag(tag, 'button')) {\n if (!data.attrs || !data.attrs.type) {\n // Add a type for button is one not provided in passed attributes\n attrs.type = 'button';\n }\n\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n attrs.disabled = true;\n }\n } else {\n itemProps = pluckProps(linkProps, props);\n }\n\n return h(tag, mergeData(data, {\n attrs: attrs,\n props: itemProps,\n staticClass: 'list-group-item',\n class: (_class = {}, _defineProperty(_class, \"list-group-item-\".concat(variant), variant), _defineProperty(_class, 'list-group-item-action', action), _defineProperty(_class, \"active\", active), _defineProperty(_class, \"disabled\", disabled), _class)\n }), children);\n }\n});","import { BModal } from './modal';\nimport { VBModal } from '../../directives/modal/modal';\nimport { BVModalPlugin } from './helpers/bv-modal';\nimport { pluginFactory } from '../../utils/plugins';\nvar ModalPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BModal: BModal\n },\n directives: {\n VBModal: VBModal\n },\n // $bvModal injection\n plugins: {\n BVModalPlugin: BVModalPlugin\n }\n});\nexport { ModalPlugin, BModal };","import { BListGroup } from './list-group';\nimport { BListGroupItem } from './list-group-item';\nimport { pluginFactory } from '../../utils/plugins';\nvar ListGroupPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BListGroup: BListGroup,\n BListGroupItem: BListGroupItem\n }\n});\nexport { ListGroupPlugin, BListGroup, BListGroupItem };","import Vue from '../../utils/vue';\nimport { htmlOrText } from '../../utils/html';\nimport { pluckProps } from '../../utils/props';\nimport dropdownMixin from '../../mixins/dropdown';\nimport idMixin from '../../mixins/id';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nimport { props as BDropdownProps } from '../dropdown/dropdown';\nimport { BLink } from '../link/link'; // --- Props ---\n\nexport var props = pluckProps(['text', 'html', 'menuClass', 'toggleClass', 'noCaret', 'role', 'lazy'], BDropdownProps); // --- Main component ---\n// @vue/component\n\nexport var BNavItemDropdown = /*#__PURE__*/Vue.extend({\n name: 'BNavItemDropdown',\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n computed: {\n toggleId: function toggleId() {\n return this.safeId('_BV_toggle_');\n },\n isNav: function isNav() {\n // Signal to dropdown mixin that we are in a navbar\n return true;\n },\n dropdownClasses: function dropdownClasses() {\n return [this.directionClass, {\n show: this.visible\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n return [this.toggleClass, {\n 'dropdown-toggle-no-caret': this.noCaret\n }];\n }\n },\n render: function render(h) {\n var toggleId = this.toggleId,\n visible = this.visible;\n var $toggle = h(BLink, {\n staticClass: 'nav-link dropdown-toggle',\n class: this.toggleClasses,\n props: {\n href: \"#\".concat(this.id || ''),\n disabled: this.disabled\n },\n attrs: {\n id: toggleId,\n role: 'button',\n 'aria-haspopup': 'true',\n 'aria-expanded': visible ? 'true' : 'false'\n },\n on: {\n mousedown: this.onMousedown,\n click: this.toggle,\n keydown: this.toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, [// TODO: The `text` slot is deprecated in favor of the `button-content` slot\n this.normalizeSlot(['button-content', 'text']) || h('span', {\n domProps: htmlOrText(this.html, this.text)\n })]);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n tabindex: '-1',\n 'aria-labelledby': toggleId\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, !this.lazy || visible ? this.normalizeSlot('default', {\n hide: this.hide\n }) : [h()]);\n return h('li', {\n staticClass: 'nav-item b-nav-dropdown dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$toggle, $menu]);\n }\n});"],"sourceRoot":""}