{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/collapse/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item-button.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/embed.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel-slide.js"],"names":["CollapsePlugin","components","BCollapse","plugins","VBTogglePlugin","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","props","ariaDescribedby","header","headerClasses","headerTag","headerVariant","id","BDropdownGroup","name","functional","render","h","_ref","data","slots","scopedSlots","variant","$slots","$scopedSlots","slotScope","headerId","concat","$header","staticClass","class","attrs","role","ariaDescribedBy","join","trim","disabled","formClass","BDropdownForm","listeners","children","tabindex","on","ref","_watch","el","scrollHeight","height","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","appear","BVCollapse","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_EVENT_NAME_ACCORDION","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","_makeModelMixin","type","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","accordion","isNav","tag","mixins","show","this","transitioning","computed","classObject","collapse","_this","visible","close","watch","newValue","oldValue","emitState","created","mounted","_this2","listenOnRoot","handleToggleEvent","handleAccordionEvent","setWindowEvents","handleResize","$nextTick","safeId","emitSync","updated","deactivated","activated","beforeDestroy","methods","window","toggle","onEnter","$emit","onAfterEnter","onLeave","onAfterLeave","emitOnRoot","checkDisplayBlock","$el","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","$content","directives","click","normalizeSlot","BDropdownHeader","active","activeClass","buttonClass","BDropdownItemButton","inject","getBvDropdown","default","inheritAttrs","bvDropdown","computedAttrs","bvAttrs","closeDropdown","hide","onClick","style","DropdownPlugin","BDropdown","BDd","BDropdownItem","BDdItem","BDropdownItemBtn","BDdItemButton","BDdItemBtn","BDdHeader","BDropdownDivider","BDdDivider","BDdForm","BDropdownText","BDdText","BDdGroup","linkProps","linkClass","$props","TYPES","aspect","BEmbed","DIRECTION","next","dirClass","overlayClass","prev","TRANS_DURATION","TOUCH_EVENT_COMPAT_WAIT","SWIPE_THRESHOLD","PointerType","TOUCH","PEN","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","transition","getTransitionEndEvent","background","controls","fade","imgHeight","imgWidth","indicators","interval","labelGotoSlide","labelIndicators","labelNext","labelPrev","noAnimation","noHoverPause","noTouch","noWrap","BCarousel","provide","getBvCarousel","index","isSliding","transitionEndEvent","slides","direction","isPaused","touchStartX","touchDeltaX","numSlides","setSlide","pause","start","to","from","doSlide","$_interval","$_animationTimeout","$_touchTimeout","$_observer","updateSlides","setObserver","clearInterval","clearAnimationTimeout","clearTouchTimeout","_clearInterval","toString","clearTimeout","undefined","disconnect","$refs","inner","bind","subtree","childList","attributes","attributeFilter","slide","document","visibilityState","hidden","$once","setInterval","restart","contains","_this3","isCycling","Boolean","calcDirection","currentSlide","nextSlide","called","onceTransEnd","events","split","setTimeout","idx","n","String","curIndex","nextIndex","handleClick","fn","keyCode","handleSwipe","absDeltaX","touchStart","pointerType","toUpperCase","clientX","touches","touchMove","touchEnd","_this4","idInner","$inner","$controls","makeControl","label","handler","handlerWrapper","propagation","href","keydown","$indicators","map","mouseenter","mouseleave","focusin","focusout","test","tagName","CarouselPlugin","BCarouselSlide","block","html","lazy","menuClass","noCaret","size","splitButtonType","splitClass","splitHref","splitTo","splitVariant","text","toggleAttrs","toggleClass","toggleTag","toggleText","dropdownClasses","directionClass","boundaryClass","menuClasses","right","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","hasNormalizedSlot","$split","btnProps","domProps","onSplitClick","ariaHasPopupRoles","$toggle","includes","mousedown","onMousedown","$menu","onKeydown","textClass","EmbedPlugin","imgProps","imgAlt","imgBlank","imgBlankColor","imgSrc","caption","captionHtml","captionTag","contentTag","contentVisibleUp","textHtml","textTag","bvCarousel","contentClasses","computedWidth","computedHeight","$img","dragstart","width","fluidGrow","$contentChildren","some","$child"],"mappings":"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","file":"js/chunk-vendors~eb7344d5.0af0ce98.js","sourcesContent":["import { BCollapse } from './collapse';\nimport { VBTogglePlugin } from '../../directives/toggle';\nimport { pluginFactory } from '../../utils/plugins';\nvar CollapsePlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCollapse: BCollapse\n },\n plugins: {\n VBTogglePlugin: VBTogglePlugin\n }\n});\nexport { CollapsePlugin, BCollapse };","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 { extend, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_GROUP } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { isTag } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaDescribedby: makeProp(PROP_TYPE_STRING),\n header: makeProp(PROP_TYPE_STRING),\n headerClasses: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n headerVariant: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BDropdownGroup = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_GROUP,\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 id = props.id,\n variant = props.variant,\n header = props.header,\n headerTag = props.headerTag;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var slotScope = {};\n var headerId = id ? \"_bv_\".concat(id, \"_group_dd_header\") : null;\n var $header = h();\n\n if (hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots) || header) {\n $header = h(headerTag, {\n staticClass: 'dropdown-header',\n class: [props.headerClasses, _defineProperty({}, \"text-\".concat(variant), variant)],\n attrs: {\n id: headerId,\n role: isTag(headerTag, 'header') ? null : 'heading'\n }\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots) || header);\n }\n\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [$header, h('ul', {\n staticClass: 'list-unstyled',\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n id: id,\n role: 'group',\n 'aria-describedby': [headerId, props.ariaDescribedBy].filter(identity).join(' ').trim() || null\n })\n }, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots))]);\n }\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\nimport { extend, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_FORM } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BForm, props as formControlProps } from '../form/form'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formControlProps), {}, {\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n formClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})), NAME_DROPDOWN_FORM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownForm = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_FORM,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n children = _ref.children;\n return h('li', mergeData(omit(data, ['attrs', 'on']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(BForm, {\n staticClass: 'b-dropdown-form',\n class: [props.formClass, {\n disabled: props.disabled\n }],\n props: props,\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n disabled: props.disabled,\n // Tab index of -1 for keyboard navigation\n tabindex: props.disabled ? null : '-1'\n }),\n on: listeners,\n ref: 'form'\n }, children)]);\n }\n});","var _watch;\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\nimport { extend } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_COLLAPSE); // --- Main component ---\n// @vue/component\n\nexport var BCollapse = /*#__PURE__*/extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvent); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvent);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvent: function handleToggleEvent(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvent: function handleAccordionEvent(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { extend, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom';\nimport { makeProp } from '../../../utils/props'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n};\n\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n};\n\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}; // Default transition handlers\n// `appear` will use the enter handlers\n\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n\nexport var props = {\n // // If `true` (and `visible` is `true` on mount), animate initially visible\n appear: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/extend({\n name: NAME_COLLAPSE_HELPER,\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('transition', // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\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\nimport { extend, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_HEADER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'header'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_HEADER); // --- Main component ---\n// @vue/component\n\nexport var BDropdownHeader = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_HEADER,\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 tag = props.tag,\n variant = props.variant;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'dropdown-header',\n class: _defineProperty({}, \"text-\".concat(variant), variant),\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n id: props.id || null,\n role: isTag(tag, 'header') ? null : 'heading'\n }),\n ref: 'header'\n }, children)]);\n }\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\nimport { extend } from '../../vue';\nimport { NAME_DROPDOWN_ITEM_BUTTON } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n activeClass: makeProp(PROP_TYPE_STRING, 'active'),\n buttonClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_ITEM_BUTTON); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItemButton = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_ITEM_BUTTON,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n getBvDropdown: {\n default: function _default() {\n return function () {\n return null;\n };\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n bvDropdown: function bvDropdown() {\n return this.getBvDropdown();\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true);\n }\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var _ref;\n\n var active = this.active,\n variant = this.variant,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h('button', {\n staticClass: 'dropdown-item',\n class: [this.buttonClass, (_ref = {}, _defineProperty(_ref, this.activeClass, active), _defineProperty(_ref, \"text-\".concat(variant), variant && !(active || this.disabled)), _ref)],\n attrs: this.computedAttrs,\n on: {\n click: this.onClick\n },\n ref: 'button'\n }, this.normalizeSlot())]);\n }\n});","import { BDropdown } from './dropdown';\nimport { BDropdownItem } from './dropdown-item';\nimport { BDropdownItemButton } from './dropdown-item-button';\nimport { BDropdownHeader } from './dropdown-header';\nimport { BDropdownDivider } from './dropdown-divider';\nimport { BDropdownForm } from './dropdown-form';\nimport { BDropdownText } from './dropdown-text';\nimport { BDropdownGroup } from './dropdown-group';\nimport { pluginFactory } from '../../utils/plugins';\nvar DropdownPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BDropdown: BDropdown,\n BDd: BDropdown,\n BDropdownItem: BDropdownItem,\n BDdItem: BDropdownItem,\n BDropdownItemButton: BDropdownItemButton,\n BDropdownItemBtn: BDropdownItemButton,\n BDdItemButton: BDropdownItemButton,\n BDdItemBtn: BDropdownItemButton,\n BDropdownHeader: BDropdownHeader,\n BDdHeader: BDropdownHeader,\n BDropdownDivider: BDropdownDivider,\n BDdDivider: BDropdownDivider,\n BDropdownForm: BDropdownForm,\n BDdForm: BDropdownForm,\n BDropdownText: BDropdownText,\n BDdText: BDropdownText,\n BDropdownGroup: BDropdownGroup,\n BDdGroup: BDropdownGroup\n }\n});\nexport { DropdownPlugin, BDropdown, BDropdownItem, BDropdownItemButton, BDropdownHeader, BDropdownDivider, BDropdownForm, BDropdownText, BDropdownGroup };","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 { extend } from '../../vue';\nimport { NAME_DROPDOWN_ITEM } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { requestAF } from '../../utils/dom';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_DROPDOWN_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItem = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n getBvDropdown: {\n default: function _default() {\n return function () {\n return null;\n };\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n bvDropdown: function bvDropdown() {\n return this.getBvDropdown();\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem'\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: pluckProps(linkProps, this.$props),\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\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 { extend, mergeData } from '../../vue';\nimport { NAME_EMBED } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Constants ---\n\nvar TYPES = ['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy']; // --- Props ---\n\nexport var props = makePropsConfigurable({\n aspect: makeProp(PROP_TYPE_STRING, '16by9'),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n type: makeProp(PROP_TYPE_STRING, 'iframe', function (value) {\n return arrayIncludes(TYPES, value);\n })\n}, NAME_EMBED); // --- Main component ---\n// @vue/component\n\nexport var BEmbed = /*#__PURE__*/extend({\n name: NAME_EMBED,\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 aspect = props.aspect;\n return h(props.tag, {\n staticClass: 'embed-responsive',\n class: _defineProperty({}, \"embed-responsive-\".concat(aspect), aspect),\n ref: data.ref\n }, [h(props.type, mergeData(omit(data, ['ref']), {\n staticClass: 'embed-responsive-item'\n }), children)]);\n }\n});","var _watch;\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\nimport { extend } from '../../vue';\nimport { NAME_CAROUSEL } from '../../constants/components';\nimport { IS_BROWSER, HAS_POINTER_EVENT_SUPPORT, HAS_TOUCH_SUPPORT } from '../../constants/env';\nimport { EVENT_NAME_PAUSED, EVENT_NAME_SLIDING_END, EVENT_NAME_SLIDING_START, EVENT_NAME_UNPAUSED, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { CODE_ENTER, CODE_LEFT, CODE_RIGHT, CODE_SPACE } from '../../constants/key-codes';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { addClass, getActiveElement, reflow, removeClass, requestAF, selectAll, setAttr } from '../../utils/dom';\nimport { eventOn, eventOff, stopEvent } from '../../utils/events';\nimport { isUndefined } from '../../utils/inspect';\nimport { mathAbs, mathFloor, mathMax, mathMin } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { noop } from '../../utils/noop';\nimport { sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER,\n defaultValue: 0\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // Slide directional classes\n\n\nvar DIRECTION = {\n next: {\n dirClass: 'carousel-item-left',\n overlayClass: 'carousel-item-next'\n },\n prev: {\n dirClass: 'carousel-item-right',\n overlayClass: 'carousel-item-prev'\n }\n}; // Fallback Transition duration (with a little buffer) in ms\n\nvar TRANS_DURATION = 600 + 50; // Time for mouse compat events to fire after touch\n\nvar TOUCH_EVENT_COMPAT_WAIT = 500; // Number of pixels to consider touch move a swipe\n\nvar SWIPE_THRESHOLD = 40; // PointerEvent pointer types\n\nvar PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}; // Transition Event names\n\nvar TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n}; // --- Helper methods ---\n// Return the browser specific transitionEnd event name\n\nvar getTransitionEndEvent = function getTransitionEndEvent(el) {\n for (var name in TransitionEndEvents) {\n if (!isUndefined(el.style[name])) {\n return TransitionEndEvents[name];\n }\n } // Fallback\n\n /* istanbul ignore next */\n\n\n return null;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n background: makeProp(PROP_TYPE_STRING),\n controls: makeProp(PROP_TYPE_BOOLEAN, false),\n // Enable cross-fade animation instead of slide animation\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n // Sniffed by carousel-slide\n imgHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n // Sniffed by carousel-slide\n imgWidth: makeProp(PROP_TYPE_NUMBER_STRING),\n indicators: makeProp(PROP_TYPE_BOOLEAN, false),\n interval: makeProp(PROP_TYPE_NUMBER, 5000),\n labelGotoSlide: makeProp(PROP_TYPE_STRING, 'Goto slide'),\n labelIndicators: makeProp(PROP_TYPE_STRING, 'Select a slide to display'),\n labelNext: makeProp(PROP_TYPE_STRING, 'Next slide'),\n labelPrev: makeProp(PROP_TYPE_STRING, 'Previous slide'),\n // Disable slide/fade animation\n noAnimation: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable pause on hover\n noHoverPause: makeProp(PROP_TYPE_BOOLEAN, false),\n // Sniffed by carousel-slide\n noTouch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable wrapping/looping when start/end is reached\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CAROUSEL); // --- Main component ---\n// @vue/component\n\nexport var BCarousel = /*#__PURE__*/extend({\n name: NAME_CAROUSEL,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvCarousel: function getBvCarousel() {\n return _this;\n }\n };\n },\n props: props,\n data: function data() {\n return {\n index: this[MODEL_PROP_NAME] || 0,\n isSliding: false,\n transitionEndEvent: null,\n slides: [],\n direction: null,\n isPaused: !(toInteger(this.interval, 0) > 0),\n // Touch event handling values\n touchStartX: 0,\n touchDeltaX: 0\n };\n },\n computed: {\n numSlides: function numSlides() {\n return this.slides.length;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.setSlide(toInteger(newValue, 0));\n }\n }), _defineProperty(_watch, \"interval\", function interval(newValue, oldValue) {\n /* istanbul ignore next */\n if (newValue === oldValue) {\n return;\n }\n\n if (!newValue) {\n // Pausing slide show\n this.pause(false);\n } else {\n // Restarting or Changing interval\n this.pause(true);\n this.start(false);\n }\n }), _defineProperty(_watch, \"isPaused\", function isPaused(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(newValue ? EVENT_NAME_PAUSED : EVENT_NAME_UNPAUSED);\n }\n }), _defineProperty(_watch, \"index\", function index(to, from) {\n /* istanbul ignore next */\n if (to === from || this.isSliding) {\n return;\n }\n\n this.doSlide(to, from);\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_interval = null;\n this.$_animationTimeout = null;\n this.$_touchTimeout = null;\n this.$_observer = null; // Set initial paused state\n\n this.isPaused = !(toInteger(this.interval, 0) > 0);\n },\n mounted: function mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransitionEndEvent(this.$el) || null; // Get all slides\n\n this.updateSlides(); // Observe child changes so we can update slide list\n\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearInterval();\n this.clearAnimationTimeout();\n this.clearTouchTimeout();\n this.setObserver(false);\n },\n methods: {\n clearInterval: function (_clearInterval) {\n function clearInterval() {\n return _clearInterval.apply(this, arguments);\n }\n\n clearInterval.toString = function () {\n return _clearInterval.toString();\n };\n\n return clearInterval;\n }(function () {\n clearInterval(this.$_interval);\n this.$_interval = null;\n }),\n clearAnimationTimeout: function clearAnimationTimeout() {\n clearTimeout(this.$_animationTimeout);\n this.$_animationTimeout = null;\n },\n clearTouchTimeout: function clearTouchTimeout() {\n clearTimeout(this.$_touchTimeout);\n this.$_touchTimeout = null;\n },\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.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n // Set slide\n setSlide: function setSlide(slide) {\n var _this2 = this;\n\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // Don't animate when page is not visible\n\n /* istanbul ignore if: difficult to test */\n if (IS_BROWSER && document.visibilityState && document.hidden) {\n return;\n }\n\n var noWrap = this.noWrap;\n var numSlides = this.numSlides; // Make sure we have an integer (you never know!)\n\n slide = mathFloor(slide); // Don't do anything if nothing to slide to\n\n if (numSlides === 0) {\n return;\n } // Don't change slide while transitioning, wait until transition is done\n\n\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once(EVENT_NAME_SLIDING_END, function () {\n // Wrap in `requestAF()` to allow the slide to properly finish to avoid glitching\n requestAF(function () {\n return _this2.setSlide(slide, direction);\n });\n });\n return;\n }\n\n this.direction = direction; // Set new slide index\n // Wrap around if necessary (if no-wrap not enabled)\n\n this.index = slide >= numSlides ? noWrap ? numSlides - 1 : 0 : slide < 0 ? noWrap ? 0 : numSlides - 1 : slide; // Ensure the v-model is synched up if no-wrap is enabled\n // and user tried to slide pass either ends\n\n if (noWrap && this.index !== slide && this.index !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, this.index);\n }\n },\n // Previous slide\n prev: function prev() {\n this.setSlide(this.index - 1, 'prev');\n },\n // Next slide\n next: function next() {\n this.setSlide(this.index + 1, 'next');\n },\n // Pause auto rotation\n pause: function pause(event) {\n if (!event) {\n this.isPaused = true;\n }\n\n this.clearInterval();\n },\n // Start auto rotate slides\n start: function start(event) {\n if (!event) {\n this.isPaused = false;\n }\n /* istanbul ignore next: most likely will never happen, but just in case */\n\n\n this.clearInterval(); // Don't start if no interval, or less than 2 slides\n\n if (this.interval && this.numSlides > 1) {\n this.$_interval = setInterval(this.next, mathMax(1000, this.interval));\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n\n /* istanbul ignore next */\n restart: function restart() {\n if (!this.$el.contains(getActiveElement())) {\n this.start();\n }\n },\n doSlide: function doSlide(to, from) {\n var _this3 = this;\n\n var isCycling = Boolean(this.interval); // Determine sliding direction\n\n var direction = this.calcDirection(this.direction, from, to);\n var overlayClass = direction.overlayClass;\n var dirClass = direction.dirClass; // Determine current and next slides\n\n var currentSlide = this.slides[from];\n var nextSlide = this.slides[to]; // Don't do anything if there aren't any slides to slide to\n\n if (!currentSlide || !nextSlide) {\n /* istanbul ignore next */\n return;\n } // Start animating\n\n\n this.isSliding = true;\n\n if (isCycling) {\n this.pause(false);\n }\n\n this.$emit(EVENT_NAME_SLIDING_START, to); // Update v-model\n\n this.$emit(MODEL_EVENT_NAME, this.index);\n\n if (this.noAnimation) {\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n this.isSliding = false; // Notify ourselves that we're done sliding (slid)\n\n this.$nextTick(function () {\n return _this3.$emit(EVENT_NAME_SLIDING_END, to);\n });\n } else {\n addClass(nextSlide, overlayClass); // Trigger a reflow of next slide\n\n reflow(nextSlide);\n addClass(currentSlide, dirClass);\n addClass(nextSlide, dirClass); // Transition End handler\n\n var called = false;\n /* istanbul ignore next: difficult to test */\n\n var onceTransEnd = function onceTransEnd() {\n if (called) {\n return;\n }\n\n called = true;\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n if (_this3.transitionEndEvent) {\n var events = _this3.transitionEndEvent.split(/\\s+/);\n\n events.forEach(function (event) {\n return eventOff(nextSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE);\n });\n }\n\n _this3.clearAnimationTimeout();\n\n removeClass(nextSlide, dirClass);\n removeClass(nextSlide, overlayClass);\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n removeClass(currentSlide, dirClass);\n removeClass(currentSlide, overlayClass);\n setAttr(currentSlide, 'aria-current', 'false');\n setAttr(nextSlide, 'aria-current', 'true');\n setAttr(currentSlide, 'aria-hidden', 'true');\n setAttr(nextSlide, 'aria-hidden', 'false');\n _this3.isSliding = false;\n _this3.direction = null; // Notify ourselves that we're done sliding (slid)\n\n _this3.$nextTick(function () {\n return _this3.$emit(EVENT_NAME_SLIDING_END, to);\n });\n }; // Set up transitionend handler\n\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n\n if (this.transitionEndEvent) {\n var events = this.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n return eventOn(nextSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE);\n });\n } // Fallback to setTimeout()\n\n\n this.$_animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION);\n }\n\n if (isCycling) {\n this.start(false);\n }\n },\n // Update slide list\n updateSlides: function updateSlides() {\n this.pause(true); // Get all slides as DOM elements\n\n this.slides = selectAll('.carousel-item', this.$refs.inner);\n var numSlides = this.slides.length; // Keep slide number in range\n\n var index = mathMax(0, mathMin(mathFloor(this.index), numSlides - 1));\n this.slides.forEach(function (slide, idx) {\n var n = idx + 1;\n\n if (idx === index) {\n addClass(slide, 'active');\n setAttr(slide, 'aria-current', 'true');\n } else {\n removeClass(slide, 'active');\n setAttr(slide, 'aria-current', 'false');\n }\n\n setAttr(slide, 'aria-posinset', String(n));\n setAttr(slide, 'aria-setsize', String(numSlides));\n }); // Set slide as active\n\n this.setSlide(index);\n this.start(this.isPaused);\n },\n calcDirection: function calcDirection() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var curIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var nextIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev;\n }\n\n return DIRECTION[direction];\n },\n handleClick: function handleClick(event, fn) {\n var keyCode = event.keyCode;\n\n if (event.type === 'click' || keyCode === CODE_SPACE || keyCode === CODE_ENTER) {\n stopEvent(event);\n fn();\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n handleSwipe: function handleSwipe() {\n var absDeltaX = mathAbs(this.touchDeltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltaX / this.touchDeltaX; // Reset touch delta X\n // https://github.com/twbs/bootstrap/pull/28558\n\n this.touchDeltaX = 0;\n\n if (direction > 0) {\n // Swipe left\n this.prev();\n } else if (direction < 0) {\n // Swipe right\n this.next();\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchStart: function touchStart(event) {\n if (HAS_POINTER_EVENT_SUPPORT && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX;\n } else if (!HAS_POINTER_EVENT_SUPPORT) {\n this.touchStartX = event.touches[0].clientX;\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchMove: function touchMove(event) {\n // Ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0;\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX;\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchEnd: function touchEnd(event) {\n if (HAS_POINTER_EVENT_SUPPORT && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX;\n }\n\n this.handleSwipe(); // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause(false);\n this.clearTouchTimeout();\n this.$_touchTimeout = setTimeout(this.start, TOUCH_EVENT_COMPAT_WAIT + mathMax(1000, this.interval));\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n var indicators = this.indicators,\n background = this.background,\n noAnimation = this.noAnimation,\n noHoverPause = this.noHoverPause,\n noTouch = this.noTouch,\n index = this.index,\n isSliding = this.isSliding,\n pause = this.pause,\n restart = this.restart,\n touchStart = this.touchStart,\n touchEnd = this.touchEnd;\n var idInner = this.safeId('__BV_inner_'); // Wrapper for slides\n\n var $inner = h('div', {\n staticClass: 'carousel-inner',\n attrs: {\n id: idInner,\n role: 'list'\n },\n ref: 'inner'\n }, [this.normalizeSlot()]); // Prev and next controls\n\n var $controls = h();\n\n if (this.controls) {\n var makeControl = function makeControl(direction, label, handler) {\n var handlerWrapper = function handlerWrapper(event) {\n /* istanbul ignore next */\n if (!isSliding) {\n _this4.handleClick(event, handler);\n } else {\n stopEvent(event, {\n propagation: false\n });\n }\n };\n\n return h('a', {\n staticClass: \"carousel-control-\".concat(direction),\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': idInner,\n 'aria-disabled': isSliding ? 'true' : null\n },\n on: {\n click: handlerWrapper,\n keydown: handlerWrapper\n }\n }, [h('span', {\n staticClass: \"carousel-control-\".concat(direction, \"-icon\"),\n attrs: {\n 'aria-hidden': 'true'\n }\n }), h('span', {\n class: 'sr-only'\n }, [label])]);\n };\n\n $controls = [makeControl('prev', this.labelPrev, this.prev), makeControl('next', this.labelNext, this.next)];\n } // Indicators\n\n\n var $indicators = h('ol', {\n staticClass: 'carousel-indicators',\n directives: [{\n name: 'show',\n value: indicators\n }],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': idInner\n }\n }, this.slides.map(function (slide, i) {\n var handler = function handler(event) {\n _this4.handleClick(event, function () {\n _this4.setSlide(i);\n });\n };\n\n return h('li', {\n class: {\n active: i === index\n },\n attrs: {\n role: 'button',\n id: _this4.safeId(\"__BV_indicator_\".concat(i + 1, \"_\")),\n tabindex: indicators ? '0' : '-1',\n 'aria-current': i === index ? 'true' : 'false',\n 'aria-label': \"\".concat(_this4.labelGotoSlide, \" \").concat(i + 1),\n 'aria-describedby': slide.id || null,\n 'aria-controls': idInner\n },\n on: {\n click: handler,\n keydown: handler\n },\n key: \"slide_\".concat(i)\n });\n }));\n var on = {\n mouseenter: noHoverPause ? noop : pause,\n mouseleave: noHoverPause ? noop : restart,\n focusin: pause,\n focusout: restart,\n keydown: function keydown(event) {\n /* istanbul ignore next */\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_LEFT || keyCode === CODE_RIGHT) {\n stopEvent(event);\n\n _this4[keyCode === CODE_LEFT ? 'prev' : 'next']();\n }\n }\n }; // Touch support event handlers for environment\n\n if (HAS_TOUCH_SUPPORT && !noTouch) {\n // Attach appropriate listeners (prepend event name with '&' for passive mode)\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n if (HAS_POINTER_EVENT_SUPPORT) {\n on['&pointerdown'] = touchStart;\n on['&pointerup'] = touchEnd;\n } else {\n on['&touchstart'] = touchStart;\n on['&touchmove'] = this.touchMove;\n on['&touchend'] = touchEnd;\n }\n } // Return the carousel\n\n\n return h('div', {\n staticClass: 'carousel',\n class: {\n slide: !noAnimation,\n 'carousel-fade': !noAnimation && this.fade,\n 'pointer-event': HAS_TOUCH_SUPPORT && HAS_POINTER_EVENT_SUPPORT && !noTouch\n },\n style: {\n background: background\n },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': isSliding ? 'true' : 'false'\n },\n on: on\n }, [$inner, $controls, $indicators]);\n }\n});","import { BCarousel } from './carousel';\nimport { BCarouselSlide } from './carousel-slide';\nimport { pluginFactory } from '../../utils/plugins';\nvar CarouselPlugin =\n/*#__PURE*/\npluginFactory({\n components: {\n BCarousel: BCarousel,\n BCarouselSlide: BCarouselSlide\n }\n});\nexport { CarouselPlugin, BCarousel, BCarouselSlide };","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 { extend } from '../../vue';\nimport { NAME_DROPDOWN } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { htmlOrText } from '../../utils/html';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButton } from '../button/button';\nimport { sortKeys } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), dropdownProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n html: makeProp(PROP_TYPE_STRING),\n // If `true`, only render menu contents when open\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCaret: makeProp(PROP_TYPE_BOOLEAN, false),\n role: makeProp(PROP_TYPE_STRING, 'menu'),\n size: makeProp(PROP_TYPE_STRING),\n split: makeProp(PROP_TYPE_BOOLEAN, false),\n splitButtonType: makeProp(PROP_TYPE_STRING, 'button', function (value) {\n return arrayIncludes(['button', 'submit', 'reset'], value);\n }),\n splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n splitHref: makeProp(PROP_TYPE_STRING),\n splitTo: makeProp(PROP_TYPE_OBJECT_STRING),\n splitVariant: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n toggleAttrs: makeProp(PROP_TYPE_OBJECT, {}),\n toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n toggleTag: makeProp(PROP_TYPE_STRING, 'button'),\n // TODO: This really should be `toggleLabel`\n toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_DROPDOWN); // --- Main component ---\n// @vue/component\n\nexport var BDropdown = /*#__PURE__*/extend({\n name: NAME_DROPDOWN,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n computed: {\n dropdownClasses: function dropdownClasses() {\n var block = this.block,\n split = this.split;\n return [this.directionClass, this.boundaryClass, {\n show: this.visible,\n // The 'btn-group' class is required in `split` mode for button alignment\n // It needs also to be applied when `block` is disabled to allow multiple\n // dropdowns to be aligned one line\n 'btn-group': split || !block,\n // When `block` is enabled and we are in `split` mode the 'd-flex' class\n // needs to be applied to allow the buttons to stretch to full width\n 'd-flex': block && split\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 var split = this.split;\n return [this.toggleClass, {\n 'dropdown-toggle-split': split,\n 'dropdown-toggle-no-caret': this.noCaret && !split\n }];\n }\n },\n render: function render(h) {\n var visible = this.visible,\n variant = this.variant,\n size = this.size,\n block = this.block,\n disabled = this.disabled,\n split = this.split,\n role = this.role,\n hide = this.hide,\n toggle = this.toggle;\n var commonProps = {\n variant: variant,\n size: size,\n block: block,\n disabled: disabled\n };\n var $buttonChildren = this.normalizeSlot(SLOT_NAME_BUTTON_CONTENT);\n var buttonContentDomProps = this.hasNormalizedSlot(SLOT_NAME_BUTTON_CONTENT) ? {} : htmlOrText(this.html, this.text);\n var $split = h();\n\n if (split) {\n var splitTo = this.splitTo,\n splitHref = this.splitHref,\n splitButtonType = this.splitButtonType;\n\n var btnProps = _objectSpread(_objectSpread({}, commonProps), {}, {\n variant: this.splitVariant || variant\n }); // We add these as needed due to issues with\n // defined property with `undefined`/`null` values\n\n\n if (splitTo) {\n btnProps.to = splitTo;\n } else if (splitHref) {\n btnProps.href = splitHref;\n } else if (splitButtonType) {\n btnProps.type = splitButtonType;\n }\n\n $split = h(BButton, {\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n props: btnProps,\n domProps: buttonContentDomProps,\n on: {\n click: this.onSplitClick\n },\n ref: 'button'\n }, $buttonChildren); // Overwrite button content for the toggle when in `split` mode\n\n $buttonChildren = [h('span', {\n class: ['sr-only']\n }, [this.toggleText])];\n buttonContentDomProps = {};\n }\n\n var ariaHasPopupRoles = ['menu', 'listbox', 'tree', 'grid', 'dialog'];\n var $toggle = h(BButton, {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: _objectSpread(_objectSpread({}, this.toggleAttrs), {}, {\n // Must have attributes\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': ariaHasPopupRoles.includes(role) ? role : 'false',\n 'aria-expanded': toString(visible)\n }),\n props: _objectSpread(_objectSpread({}, commonProps), {}, {\n tag: this.toggleTag,\n block: block && !split\n }),\n domProps: buttonContentDomProps,\n on: {\n mousedown: this.onMousedown,\n click: toggle,\n keydown: toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, $buttonChildren);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, [!this.lazy || visible ? this.normalizeSlot(SLOT_NAME_DEFAULT, {\n hide: hide\n }) : h()]);\n return h('div', {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$split, $toggle, $menu]);\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 { extend, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_TEXT } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'p'),\n textClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BDropdownText = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_TEXT,\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 tag = props.tag,\n textClass = props.textClass,\n variant = props.variant;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'b-dropdown-text',\n class: [textClass, _defineProperty({}, \"text-\".concat(variant), variant)],\n props: props,\n attrs: data.attrs || {},\n ref: 'text'\n }, children)]);\n }\n});","import { BEmbed } from './embed';\nimport { pluginFactory } from '../../utils/plugins';\nvar EmbedPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BEmbed: BEmbed\n }\n});\nexport { EmbedPlugin, BEmbed };","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 { extend, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_DIVIDER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { omit } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'hr')\n}, NAME_DROPDOWN_DIVIDER); // --- Main component ---\n// @vue/component\n\nexport var BDropdownDivider = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_DIVIDER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n role: 'separator',\n 'aria-orientation': 'horizontal'\n }),\n ref: 'divider'\n })]);\n }\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\nimport { extend } from '../../vue';\nimport { NAME_CAROUSEL_SLIDE } from '../../constants/components';\nimport { HAS_TOUCH_SUPPORT } from '../../constants/env';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_IMG } from '../../constants/slots';\nimport { stopEvent } from '../../utils/events';\nimport { htmlOrText } from '../../utils/html';\nimport { identity } from '../../utils/identity';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps, unprefixPropName } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BImg } from '../image/img'; // --- Props ---\n\nvar imgProps = {\n imgAlt: makeProp(PROP_TYPE_STRING),\n imgBlank: makeProp(PROP_TYPE_BOOLEAN, false),\n imgBlankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n imgHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n imgSrc: makeProp(PROP_TYPE_STRING),\n imgWidth: makeProp(PROP_TYPE_NUMBER_STRING)\n};\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), imgProps), {}, {\n background: makeProp(PROP_TYPE_STRING),\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING),\n captionTag: makeProp(PROP_TYPE_STRING, 'h3'),\n contentTag: makeProp(PROP_TYPE_STRING, 'div'),\n contentVisibleUp: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n textHtml: makeProp(PROP_TYPE_STRING),\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n})), NAME_CAROUSEL_SLIDE); // --- Main component ---\n// @vue/component\n\nexport var BCarouselSlide = /*#__PURE__*/extend({\n name: NAME_CAROUSEL_SLIDE,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n getBvCarousel: {\n // Explicitly disable touch if not a child of carousel\n default: function _default() {\n return function () {\n return {\n noTouch: true\n };\n };\n }\n }\n },\n props: props,\n computed: {\n bvCarousel: function bvCarousel() {\n return this.getBvCarousel();\n },\n contentClasses: function contentClasses() {\n return [this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? \"d-\".concat(this.contentVisibleUp, \"-block\") : ''];\n },\n computedWidth: function computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.bvCarousel.imgWidth || null;\n },\n computedHeight: function computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.bvCarousel.imgHeight || null;\n }\n },\n render: function render(h) {\n var $img = this.normalizeSlot(SLOT_NAME_IMG);\n\n if (!$img && (this.imgSrc || this.imgBlank)) {\n var on = {}; // Touch support event handler\n\n /* istanbul ignore if: difficult to test in JSDOM */\n\n if (!this.bvCarousel.noTouch && HAS_TOUCH_SUPPORT) {\n on.dragstart = function (event) {\n return stopEvent(event, {\n propagation: false\n });\n };\n }\n\n $img = h(BImg, {\n props: _objectSpread(_objectSpread({}, pluckProps(imgProps, this.$props, unprefixPropName.bind(null, 'img'))), {}, {\n width: this.computedWidth,\n height: this.computedHeight,\n fluidGrow: true,\n block: true\n }),\n on: on\n });\n }\n\n var $contentChildren = [// Caption\n this.caption || this.captionHtml ? h(this.captionTag, {\n domProps: htmlOrText(this.captionHtml, this.caption)\n }) : false, // Text\n this.text || this.textHtml ? h(this.textTag, {\n domProps: htmlOrText(this.textHtml, this.text)\n }) : false, // Children\n this.normalizeSlot() || false];\n var $content = h();\n\n if ($contentChildren.some(identity)) {\n $content = h(this.contentTag, {\n staticClass: 'carousel-caption',\n class: this.contentClasses\n }, $contentChildren.map(function ($child) {\n return $child || h();\n }));\n }\n\n return h('div', {\n staticClass: 'carousel-item',\n style: {\n background: this.background || this.bvCarousel.background || null\n },\n attrs: {\n id: this.safeId(),\n role: 'listitem'\n }\n }, [$img, $content]);\n }\n});"],"sourceRoot":""}