{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js"],"names":["PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","extend","data","listenForClickOut","watch","newValue","oldValue","this","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","mounted","document","beforeDestroy","methods","isClickOut","event","$el","target","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","map","selector","concat","join","els","id","boundary","disabled","dropleft","dropright","dropup","noFlip","offset","popperOpts","right","dropdownMixin","mixins","provide","bvDropdown","inject","bvNavbar","default","props","visible","visibleChangePrevented","computed","inNavbar","toggler","toggle","$refs","directionClass","boundaryClass","eventName","bvEvent","cancelable","vueTarget","menu","relatedTarget","componentId","safeId","emitEvent","defaultPrevented","$off","focusToggler","showMenu","hideMenu","created","$_popper","$_hideTimeout","deactivated","whileOpenListen","destroyPopper","clearHideTimeout","type","emitOnRoot","$emit","_this","warn","el","split","createPopper","$nextTick","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","_unused","clearTimeout","placement","popperConfig","modifiers","flip","enabled","boundariesElement","preventOverflow","isOpen","method","$root","rootCloseListener","vm","show","_this2","hide","refocus","undefined","$once","_event","keyCode","indexOf","onMousedown","propagation","onKeydown","onEsc","focusNext","onSplitClick","hideHandler","_this3","setTimeout","up","_this4","items","getItems","index","focusItem","find","_this5","linkClass","variant","BDropdownItem","name","inheritAttrs","computedAttrs","bvAttrs","role","closeDropdown","onClick","render","h","active","class","style","attrs","staticClass","$props","on","click","ref","normalizeSlot","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","separator","call","block","html","lazy","menuClass","noCaret","size","splitButtonType","splitClass","splitHref","splitTo","splitVariant","text","toggleClass","toggleTag","toggleText","BDropdown","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","hasNormalizedSlot","$split","btnProps","to","href","domProps","$toggle","tag","mousedown","keydown","$menu","tabindex","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","icon","stacked","BIcon","functional","_ref","parent","replace","CLASS_NAME","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","linkProps","alt","ariaLabel","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","button","buttonType","rounded","square","src","BAvatar","bvAvatarGroup","localSrc","computedSize","computedVariant","computedRounded","fontStyle","fontSize","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","top","bottom","left","onImgError","_class2","link","$content","width","height","error","$badge","hasBadgeSlot","badgeText","componentData"],"mappings":"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","file":"js/chunk-3b99c485.4d95c9ae.js","sourcesContent":["export var PLACEMENT_TOP_START = 'top-start';\nexport var PLACEMENT_TOP_END = 'top-end';\nexport var PLACEMENT_BOTTOM_START = 'bottom-start';\nexport var PLACEMENT_BOTTOM_END = 'bottom-end';\nexport var PLACEMENT_RIGHT_START = 'right-start';\nexport var PLACEMENT_RIGHT_END = 'right-end';\nexport var PLACEMENT_LEFT_START = 'left-start';\nexport var PLACEMENT_LEFT_END = 'left-end';","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { contains } from '../utils/dom';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var clickOutMixin = Vue.extend({\n data: function data() {\n return {\n listenForClickOut: false\n };\n },\n watch: {\n listenForClickOut: function listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null;\n this.clickOutEventName = null;\n },\n mounted: function mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document;\n }\n\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click';\n }\n\n if (this.listenForClickOut) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n isClickOut: function isClickOut(event) {\n return !contains(this.$el, event.target);\n },\n _clickOutHandler: function _clickOutHandler(event) {\n if (this.clickOutHandler && this.isClickOut(event)) {\n this.clickOutHandler(event);\n }\n }\n }\n});","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var focusInMixin = Vue.extend({\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n _focusInHandler: function _focusInHandler(event) {\n if (this.focusInHandler) {\n this.focusInHandler(event);\n }\n }\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 Popper from 'popper.js';\nimport { Vue } from '../vue';\nimport { NAME_DROPDOWN } from '../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE } from '../constants/events';\nimport { CODE_DOWN, CODE_ENTER, CODE_ESC, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PLACEMENT_TOP_START, PLACEMENT_TOP_END, PLACEMENT_BOTTOM_START, PLACEMENT_BOTTOM_END, PLACEMENT_RIGHT_START, PLACEMENT_LEFT_START } from '../constants/popper';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { HTMLElement } from '../constants/safe-types';\nimport { BvEvent } from '../utils/bv-event.class';\nimport { attemptFocus, closest, contains, isVisible, requestAF, selectAll } from '../utils/dom';\nimport { getRootEventName, stopEvent } from '../utils/events';\nimport { isNull } from '../utils/inspect';\nimport { mergeDeep, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn';\nimport { clickOutMixin } from './click-out';\nimport { focusInMixin } from './focus-in';\nimport { idMixin, props as idProps } from './id';\nimport { listenOnRootMixin } from './listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_SHOWN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_SHOWN);\nvar ROOT_EVENT_NAME_HIDDEN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_HIDDEN); // CSS selectors\n\nvar SELECTOR_FORM_CHILD = '.dropdown form';\nvar SELECTOR_ITEM = ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n}).join(', '); // --- Helper methods ---\n// Return an array of visible items\n\nvar filterVisibles = function filterVisibles(els) {\n return (els || []).filter(isVisible);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place left if possible\n dropleft: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place right if possible\n dropright: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place on top if possible\n dropup: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable auto-flipping of menu from bottom <=> top\n noFlip: makeProp(PROP_TYPE_BOOLEAN, false),\n // Number of pixels or a CSS unit value to offset menu\n // (i.e. `1px`, `1rem`, etc.)\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n popperOpts: makeProp(PROP_TYPE_OBJECT, {}),\n // Right align menu (default is left align)\n right: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_DROPDOWN); // --- Mixin ---\n// @vue/component\n\nexport var dropdownMixin = Vue.extend({\n mixins: [idMixin, listenOnRootMixin, clickOutMixin, focusInMixin],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n inject: {\n bvNavbar: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n visible: false,\n visibleChangePrevented: false\n };\n },\n computed: {\n inNavbar: function inNavbar() {\n return !isNull(this.bvNavbar);\n },\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n },\n boundaryClass: function boundaryClass() {\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n return this.boundary !== 'scrollParent' && !this.inNavbar ? 'position-static' : '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var eventName = newValue ? EVENT_NAME_SHOW : EVENT_NAME_HIDE;\n var bvEvent = new BvEvent(eventName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvent);\n\n if (bvEvent.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered `this.hide(true)`\n\n this.$off(EVENT_NAME_HIDDEN, this.focusToggler);\n return;\n }\n\n if (newValue) {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_popper = null;\n this.$_hideTimeout = null;\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n this.clearHideTimeout();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_DROPDOWN, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Only instantiate Popper.js when dropdown is not in ``\n\n\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', NAME_DROPDOWN);\n } else {\n // For dropup with alignment we use the parent element as popper container\n var el = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n el = el.$el || el; // Instantiate Popper.js\n\n this.createPopper(el);\n }\n } // Ensure other menus are closed\n\n\n this.emitOnRoot(ROOT_EVENT_NAME_SHOWN, this); // Enable listeners\n\n this.whileOpenListen(true); // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit(EVENT_NAME_SHOWN);\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN, this);\n this.$emit(EVENT_NAME_HIDDEN);\n this.destroyPopper();\n },\n createPopper: function createPopper(element) {\n this.destroyPopper();\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n // Ensure popper event listeners are removed cleanly\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper: function updatePopper() {\n try {\n this.$_popper.scheduleUpdate();\n } catch (_unused) {}\n },\n clearHideTimeout: function clearHideTimeout() {\n clearTimeout(this.$_hideTimeout);\n this.$_hideTimeout = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = PLACEMENT_BOTTOM_START;\n\n if (this.dropup) {\n placement = this.right ? PLACEMENT_TOP_END : PLACEMENT_TOP_START;\n } else if (this.dropright) {\n placement = PLACEMENT_RIGHT_START;\n } else if (this.dropleft) {\n placement = PLACEMENT_LEFT_START;\n } else if (this.right) {\n placement = PLACEMENT_BOTTOM_END;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n var boundariesElement = this.boundary;\n\n if (boundariesElement) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: boundariesElement\n };\n }\n\n return mergeDeep(popperConfig, this.popperOpts || {});\n },\n // Turn listeners on/off while open\n whileOpenListen: function whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = isOpen; // Hide the dropdown when another dropdown is opened\n\n var method = isOpen ? '$on' : '$off';\n this.$root[method](ROOT_EVENT_NAME_SHOWN, this.rootCloseListener);\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n // Public method to show dropdown\n show: function show() {\n var _this2 = this;\n\n if (this.disabled) {\n return;\n } // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n _this2.visible = true;\n });\n },\n // Public method to hide dropdown\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n /* istanbul ignore next */\n if (this.disabled) {\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(event) {\n event = event || {}; // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n\n var _event = event,\n type = _event.type,\n keyCode = _event.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && [CODE_ENTER, CODE_SPACE, CODE_DOWN].indexOf(keyCode) !== -1)) {\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_TOGGLE, event);\n stopEvent(event); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Mousedown handler for the toggle\n\n /* istanbul ignore next */\n onMousedown: function onMousedown(event) {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n stopEvent(event, {\n propagation: false\n });\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ESC) {\n // Close on ESC\n this.onEsc(event);\n } else if (keyCode === CODE_DOWN) {\n // Down Arrow\n this.focusNext(event, false);\n } else if (keyCode === CODE_UP) {\n // Up Arrow\n this.focusNext(event, true);\n }\n },\n // If user presses ESC, close the menu\n onEsc: function onEsc(event) {\n if (this.visible) {\n this.visible = false;\n stopEvent(event); // Return focus to original trigger button\n\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick: function onSplitClick(event) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_CLICK, event);\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler: function hideHandler(event) {\n var _this3 = this;\n\n var target = event.target;\n\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.clearHideTimeout();\n this.$_hideTimeout = setTimeout(function () {\n return _this3.hide();\n }, this.inNavbar ? 300 : 0);\n }\n },\n // Document click-out listener\n clickOutHandler: function clickOutHandler(event) {\n this.hideHandler(event);\n },\n // Document focus-in listener\n focusInHandler: function focusInHandler(event) {\n this.hideHandler(event);\n },\n // Keyboard nav\n focusNext: function focusNext(event, up) {\n var _this4 = this;\n\n // Ignore key up/down on form elements\n var target = event.target;\n\n if (!this.visible || event && closest(SELECTOR_FORM_CHILD, target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n stopEvent(event);\n this.$nextTick(function () {\n var items = _this4.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this4.focusItem(index, items);\n });\n },\n focusItem: function focusItem(index, items) {\n var el = items.find(function (el, i) {\n return i === index;\n });\n attemptFocus(el);\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(selectAll(SELECTOR_ITEM, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n attemptFocus(this.$refs.menu);\n },\n focusToggler: function focusToggler() {\n var _this5 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this5.toggler);\n });\n }\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 '../../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 } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BLinkProps, ['event', 'routerTag'])), {}, {\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__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\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: this.$props,\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\n }\n});","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\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 '../../vue';\nimport { NAME_DROPDOWN } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, 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 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__*/Vue.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 $toggle = h(BButton, {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\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 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, mergeData } from '../vue';\nimport { NAME_ICON } from '../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BVIconBaseProps, ['content', 'stacked'])), {}, {\n icon: makeProp(PROP_TYPE_STRING),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n icon: null\n })\n }));\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 '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});"],"sourceRoot":""}