{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar-group.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/toggle.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./src/views/pages/profile/Profile.vue?18db","webpack:///./src/views/pages/profile/ProfileHeader.vue?2336","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-toggle.js","webpack:///src/views/pages/profile/ProfileHeader.vue","webpack:///./src/views/pages/profile/ProfileHeader.vue?fad0","webpack:///./src/views/pages/profile/ProfileHeader.vue","webpack:///./src/views/pages/profile/ProfileAbout.vue?55d7","webpack:///src/views/pages/profile/ProfileAbout.vue","webpack:///./src/views/pages/profile/ProfileAbout.vue?0cb2","webpack:///./src/views/pages/profile/ProfileAbout.vue","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue?8d35","webpack:///src/views/pages/profile/ProfileSuggestedPages.vue","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue?25c0","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue?2c7e","webpack:///src/views/pages/profile/ProfileTwitterFeed.vue","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue?e2e2","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue","webpack:///./src/views/pages/profile/ProfilePost.vue?694d","webpack:///src/views/pages/profile/ProfilePost.vue","webpack:///./src/views/pages/profile/ProfilePost.vue?cb1e","webpack:///./src/views/pages/profile/ProfilePost.vue","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue?dfe4","webpack:///src/views/pages/profile/ProfileLatestPhotos.vue","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue?b7f8","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue","webpack:///./src/views/pages/profile/ProfileSuggestion.vue?6c80","webpack:///src/views/pages/profile/ProfileSuggestion.vue","webpack:///./src/views/pages/profile/ProfileSuggestion.vue?1571","webpack:///./src/views/pages/profile/ProfileSuggestion.vue","webpack:///./src/views/pages/profile/ProfilePolls.vue?0e07","webpack:///src/views/pages/profile/ProfilePolls.vue","webpack:///./src/views/pages/profile/ProfilePolls.vue?5dc7","webpack:///./src/views/pages/profile/ProfilePolls.vue","webpack:///./src/views/pages/profile/profileBottom.vue?63e3","webpack:///src/views/pages/profile/profileBottom.vue","webpack:///./src/views/pages/profile/profileBottom.vue?3415","webpack:///./src/views/pages/profile/profileBottom.vue","webpack:///src/views/pages/profile/Profile.vue","webpack:///./src/views/pages/profile/Profile.vue?c44f","webpack:///./src/views/pages/profile/Profile.vue","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./src/views/pages/profile/Profile.vue?7cc3","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/embed.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress-bar.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","props","label","role","small","tag","type","variant","BSpinner","extend","name","functional","render","h","_ref","_class","data","slots","scopedSlots","$slots","$scopedSlots","$label","staticClass","attrs","class","concat","formSelectionMixin","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread","target","i","length","source","forEach","getOwnPropertyDescriptors","defineProperties","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","icon","stacked","BIcon","parent","replace","kFormatter","num","toFixed","title","replacer","str","toString","arr","split","capitalizedArray","word","capitalized","charAt","toUpperCase","slice","join","avatarText","nameArray","map","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatDateToMonthShort","toTimeForCurrentDay","date","isToday","hour","minute","filterTags","toInteger","requireObjectCoercible","module","exports","repeat","count","String","result","n","Infinity","RangeError","fixRegExpWellKnownSymbolLogic","isRegExp","anObject","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","fails","arrayPush","min","Math","MAX_UINT32","SUPPORTS_Y","RegExp","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","string","lim","undefined","call","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","index","test","O","splitter","regexp","res","done","rx","S","C","unicodeMatching","p","q","A","e","z","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","trigger","placement","fallbackPlacement","container","animation","offset","id","html","interactive","disabled","delay","boundary","boundaryPadding","customClass","show","hide","arg","modifiers","mod","selectedTriggers","trim","toLowerCase","applyTooltip","el","context","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","bind","componentUpdated","$nextTick","unbind","overlap","rounded","size","square","BAvatarGroup","mixins","provide","bvAvatarGroup","computedSize","overlapScale","paddingStyle","paddingLeft","paddingRight","$inner","style","normalizeSlot","CLASS_BV_TOGGLE_COLLAPSED","CLASS_BV_TOGGLE_NOT_COLLAPSED","BV_BASE","BV_TOGGLE_ROOT_HANDLER","BV_TOGGLE_CLICK_HANDLER","BV_TOGGLE_STATE","BV_TOGGLE_TARGETS","STRING_FALSE","STRING_TRUE","ATTR_ARIA_CONTROLS","ATTR_ARIA_EXPANDED","ATTR_ROLE","ATTR_TABINDEX","STYLE_OVERFLOW_ANCHOR","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","KEYDOWN_KEY_CODES","isNonStandardTag","tagName","getTargets","targets","href","t","indexOf","removeClickListener","handler","addClickListener","event","keyCode","$root","$emit","removeRootListeners","$off","addRootListeners","state","setToggleState","resetProp","handleUpdate","binding","VBToggle","updated","classof","TypeError","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","formatter","lazy","lazyFormatter","number","placeholder","plaintext","readonly","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","watch","newValue","stringifyValue","modifiedValue","clearDebounce","created","$_inputDebounceTimer","mounted","beforeDestroy","clearTimeout","formatValue","force","updateValue","_this","doUpdate","$input","setTimeout","onInput","composing","formattedValue","defaultPrevented","propagation","onChange","onBlur","$el","linkAttrs","linkClasses","BNavItem","listeners","children","on","progressBarProps","animated","height","max","precision","showProgress","showValue","striped","BProgress","bvProgress","progressHeight","$childNodes","$props","toObject","regExpExec","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","nativeReplace","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","global","fullUnicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","m","ch","capture","f","computeJustifyContent","align","cardHeader","fill","justified","pills","tabs","vertical","BNav","_vm","_h","$createElement","_c","_self","profileData","header","userAbout","suggestedPages","twitterFeeds","post","latestPhotos","suggestions","polls","_e","staticRenderFns","headerData","coverImg","avatar","_v","_s","username","designation","_u","fn","proxy","CLASS_NAME","BNavbarToggle","directives","toggleState","listenOnRoot","handleStateEvt","onClick","expanded","BCard","BTabs","BButton","BNavbar","BCollapse","BImg","Ripple","default","component","_l","BCardText","aboutData","subtitle","favorite","BAvatar","pagesData","imgUrl","desc","tags","BLink","twitterFeed","postTime","postText","postImg","postVid","youLiked","likes","avatarData","rawName","expression","likedCount","comments","share","comment","ind","commentsLikes","BFormTextarea","BFormGroup","BRow","BCol","BEmbed","posts","img","latestImages","mutualFriend","model","callback","$$v","Selected","BFormRadio","pollsData","BOverlay","ProfileHeader","ProfileAbout","ProfileSuggestedPages","ProfileTwitterFeed","ProfilePost","ProfileLatestPhotos","ProfileSuggestion","ProfilePolls","profileBottom","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","prototype","OBSERVER_PROP_NAME","VisibilityObserver","options","margin","once","observer","visible","doneOnce","createObserver","stop","IntersectionObserver","root","rootMargin","threshold","_unused","observe","entries","entry","isIntersecting","Boolean","intersectionRatio","disconnect","destroy","_prevModifiers","_ref2","oldValue","VBVisible","stableSort","array","compareFn","a","sort","b","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","content","arrowPadding","BVTooltip","activeTrigger","localShow","templateType","computedId","computedDelay","computedTriggers","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","_this2","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","$once","getTarget","document","body","scopeId","deactivated","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","_this3","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","removeAriaDescribedby","restoreTitle","getTemplateElement","_this4","dropdownOpen","showEvt","buildEvent","cancelable","emitEvent","addAriaDescribedby","tip","hideEvt","prevHoverState","leave","getTargetId","isInModal","isDropdown","clearInterval","_this5","d","relatedTarget","componentId","vueTarget","bvEvent","emitOnRoot","_this6","setRootListener","_this7","events","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","parentNode","_this9","documentElement","__vue__","enter","eventTarget","currentTarget","toggle","_this10","_this11","POSITION_COVER","top","left","bottom","right","bgColor","fixed","noCenter","noWrap","opacity","overlayTag","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","computedRounded","computedVariant","slotScope","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","$content","transform","appear","maxRows","noAutoShrink","noResize","rows","wrap","heightInPx","computedStyle","styles","resize","computedRows","overflowY","computedMinRows","computedMaxRows","computedAttrs","required","safeId","form","computedAriaInvalid","computedListeners","bvListeners","change","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","minHeight","oldHeight","scrollHeight","contentRows","domProps","ref","inject","bvGroup","from","computedLocalChecked","TYPES","aspect","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","reduce","alignContent","alignH","alignV","noGutters","_classList$push","classList","c","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","plain","formCustomMixin","custom","formSizeMixin","thisNumberValue","nativeToFixed","pow","x","acc","log","x2","FORCED","fractionDigits","k","fractDigits","sign","multiply","c2","divide","dataToString","s","isObject","today","getDate","getMonth","getFullYear","isDynamicRouteActive","route","router","resolve","resolvedRoute","path","currentRoute","useRouter","vm","getCurrentInstance","reactive","$route","r","toRefs","$router","labelHtml","BProgressBar","progressBarClasses","computedAnimated","computedStriped","progressBarStyles","width","computedValue","computedMax","computedPrecision","computedProgress","computedShowProgress","computedShowValue","$children","hasNormalizedSlot","print","toggleable","bvNavbar","breakpointClass","xs","_watch","_methods","ariaLabel","ariaLabelledby","button","buttonVariant","inline","formRadioCheckMixin","inheritAttrs","localChecked","isGroup","hasFocus","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","computedState","computedButtonVariant","buttonClasses","bvAttrs","computedLocalCheckedWatcher","checked","handleChange","handleFocus","$button","for","textTag","SELECTOR","autofocus","formControlMixin","handleAutofocus","activated","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","attachment","getAttachment","popperConfig","getOffset","flip","behavior","arrow","element","preventOverflow","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","beforeMount","updatePopper","destroyPopper","destroyed","removeChild","arrowOffset","scheduleUpdate","renderTemplate","beforeEnter","afterEnter","beforeLeave","afterLeave","BVTooltipTemplate","extends","templateClasses","noninteractive","templateAttributes","$attrs","tabindex","scopedStyleAttrs","templateListeners","mouseenter","mouseleave","focusin","focusout","$title","innerHTML","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","linkProps","alt","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","src","text","localSrc","fontStyle","fontSize","marginStyle","marginLeft","marginRight","badgeStyle","onImgError","_class2","link","error","$badge","hasBadgeSlot","badgeText","componentData","noop","notDisabled","tab","BVTabButton","bvTabs","controls","noKeyNav","posInSet","setSize","tabIndex","handleEvt","shiftKey","_this$tab","localActive","titleItemClass","titleLinkClass","titleLinkAttributes","$link","active","activeNavItemClass","keydown","navProps","activeTabClass","card","contentClass","end","navClass","navWrapperClass","noNavStyle","currentTab","registeredTabs","fade","localNavClass","classes","$tab","activateTab","previousTab","nextTab","updateTabs","$_observer","setObserver","registerTab","unregisterTab","$t","childList","subtree","attributes","attributeFilter","getTabs","$tabs","_isTab","order","selector","reverse","find","getButtonForTab","$btn","updateButton","$forceUpdate","tabEvent","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","currentIndex","lastTab","$activeTab","$fallbackTab","$buttons","_on","controlledBy","refInFor","$nav","$empty","col","row"],"mappings":"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","file":"js/chunk-aa051c9c.3c18f503.js","sourcesContent":["function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_SPINNER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_LABEL } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n label: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING, 'status'),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n type: makeProp(PROP_TYPE_STRING, 'border'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_SPINNER); // --- Main component ---\n// @vue/component\n\nexport var BSpinner = /*#__PURE__*/Vue.extend({\n name: NAME_SPINNER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $label = normalizeSlot(SLOT_NAME_LABEL, {}, $scopedSlots, $slots) || props.label;\n\n if ($label) {\n $label = h('span', {\n staticClass: 'sr-only'\n }, $label);\n }\n\n return h(props.tag, mergeData(data, {\n attrs: {\n role: $label ? props.role || 'status' : null,\n 'aria-hidden': $label ? null : 'true'\n },\n class: (_class = {}, _defineProperty(_class, \"spinner-\".concat(props.type), props.type), _defineProperty(_class, \"spinner-\".concat(props.type, \"-sm\"), props.small), _defineProperty(_class, \"text-\".concat(props.variant), props.variant), _class)\n }), [$label || h()]);\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\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, 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});","import { isToday } from './utils'\r\n\r\nexport const kFormatter = num => (num > 999 ? `${(num / 1000).toFixed(1)}k` : num)\r\n\r\nexport const title = (value, replacer = ' ') => {\r\n if (!value) return ''\r\n const str = value.toString()\r\n\r\n const arr = str.split(replacer)\r\n const capitalizedArray = []\r\n arr.forEach(word => {\r\n const capitalized = word.charAt(0).toUpperCase() + word.slice(1)\r\n capitalizedArray.push(capitalized)\r\n })\r\n return capitalizedArray.join(' ')\r\n}\r\n\r\nexport const avatarText = value => {\r\n if (!value) return ''\r\n const nameArray = value.split(' ')\r\n return nameArray.map(word => word.charAt(0).toUpperCase()).join('')\r\n}\r\n\r\n/**\r\n * Format and return date in Humanize format\r\n * Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\r\n * Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\r\n * @param {String} value date to format\r\n * @param {Object} formatting Intl object to format with\r\n */\r\nexport const formatDate = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\r\n if (!value) return value\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n/**\r\n * Return short human friendly month representation of date\r\n * Can also convert date to only time if date is of today (Better UX)\r\n * @param {String} value date to format\r\n * @param {Boolean} toTimeForCurrentDay Shall convert to time if day is today/current\r\n */\r\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\r\n const date = new Date(value)\r\n let formatting = { month: 'short', day: 'numeric' }\r\n\r\n if (toTimeForCurrentDay && isToday(date)) {\r\n formatting = { hour: 'numeric', minute: 'numeric' }\r\n }\r\n\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n// Strip all the tags from markup and return plain text\r\nexport const filterTags = value => value.replace(/<\\/?[^>]+(>|$)/g, '')\r\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\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 { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","import { Vue } from '../../vue';\nimport { NAME_AVATAR_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { mathMax, mathMin } from '../../utils/math';\nimport { toFloat } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { computeSize } from './avatar'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n overlap: makeProp(PROP_TYPE_NUMBER_STRING, 0.3),\n // Child avatars will prefer this prop (if set) over their own\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n // Child avatars will always use this over their own size\n size: makeProp(PROP_TYPE_STRING),\n // Child avatars will prefer this prop (if set) over their own\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n // Child avatars will prefer this variant over their own\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_AVATAR_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BAvatarGroup = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR_GROUP,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n return {\n bvAvatarGroup: this\n };\n },\n props: props,\n computed: {\n computedSize: function computedSize() {\n return computeSize(this.size);\n },\n overlapScale: function overlapScale() {\n return mathMin(mathMax(toFloat(this.overlap, 0), 0), 1) / 2;\n },\n paddingStyle: function paddingStyle() {\n var value = this.computedSize;\n value = value ? \"calc(\".concat(value, \" * \").concat(this.overlapScale, \")\") : null;\n return value ? {\n paddingLeft: value,\n paddingRight: value\n } : {};\n }\n },\n render: function render(h) {\n var $inner = h('div', {\n staticClass: 'b-avatar-group-inner',\n style: this.paddingStyle\n }, this.normalizeSlot());\n return h(this.tag, {\n staticClass: 'b-avatar-group',\n attrs: {\n role: 'group'\n }\n }, [$inner]);\n }\n});","import { NAME_COLLAPSE } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT } from '../../constants/regex';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { addClass, getAttr, hasAttr, isDisabled, isTag, removeAttr, removeClass, removeStyle, requestAF, setAttr, setStyle } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { isString } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { keys } from '../../utils/object'; // --- Constants ---\n// Classes to apply to trigger element\n\nvar CLASS_BV_TOGGLE_COLLAPSED = 'collapsed';\nvar CLASS_BV_TOGGLE_NOT_COLLAPSED = 'not-collapsed'; // Property key for handler storage\n\nvar BV_BASE = '__BV_toggle'; // Root event listener property (Function)\n\nvar BV_TOGGLE_ROOT_HANDLER = \"\".concat(BV_BASE, \"_HANDLER__\"); // Trigger element click handler property (Function)\n\nvar BV_TOGGLE_CLICK_HANDLER = \"\".concat(BV_BASE, \"_CLICK__\"); // Target visibility state property (Boolean)\n\nvar BV_TOGGLE_STATE = \"\".concat(BV_BASE, \"_STATE__\"); // Target ID list property (Array)\n\nvar BV_TOGGLE_TARGETS = \"\".concat(BV_BASE, \"_TARGETS__\"); // Commonly used strings\n\nvar STRING_FALSE = 'false';\nvar STRING_TRUE = 'true'; // Commonly used attribute names\n\nvar ATTR_ARIA_CONTROLS = 'aria-controls';\nvar ATTR_ARIA_EXPANDED = 'aria-expanded';\nvar ATTR_ROLE = 'role';\nvar ATTR_TABINDEX = 'tabindex'; // Commonly used style properties\n\nvar STYLE_OVERFLOW_ANCHOR = 'overflow-anchor'; // Emitted control event for collapse (emitted to collapse)\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle'); // Listen to event for toggle state update (emitted by collapse)\n\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state'); // Private event emitted on `$root` to ensure the toggle state is always synced\n// Gets emitted even if the state of b-collapse has not changed\n// This event is NOT to be documented as people should not be using it\n\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // Private event we send to collapse to request state update sync event\n\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar KEYDOWN_KEY_CODES = [CODE_ENTER, CODE_SPACE]; // --- Helper methods ---\n\nvar isNonStandardTag = function isNonStandardTag(el) {\n return !arrayIncludes(['button', 'a'], el.tagName.toLowerCase());\n};\n\nvar getTargets = function getTargets(_ref, el) {\n var modifiers = _ref.modifiers,\n arg = _ref.arg,\n value = _ref.value;\n // Any modifiers are considered target IDs\n var targets = keys(modifiers || {}); // If value is a string, split out individual targets (if space delimited)\n\n value = isString(value) ? value.split(RX_SPACE_SPLIT) : value; // Support target ID as link href (`href=\"#id\"`)\n\n if (isTag(el.tagName, 'a')) {\n var href = getAttr(el, 'href') || '';\n\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''));\n }\n } // Add ID from `arg` (if provided), and support value\n // as a single string ID or an array of string IDs\n // If `value` is not an array or string, then it gets filtered out\n\n\n concat(arg, value).forEach(function (t) {\n return isString(t) && targets.push(t);\n }); // Return only unique and truthy target IDs\n\n return targets.filter(function (t, index, arr) {\n return t && arr.indexOf(t) === index;\n });\n};\n\nvar removeClickListener = function removeClickListener(el) {\n var handler = el[BV_TOGGLE_CLICK_HANDLER];\n\n if (handler) {\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n\n el[BV_TOGGLE_CLICK_HANDLER] = null;\n};\n\nvar addClickListener = function addClickListener(el, vnode) {\n removeClickListener(el);\n\n if (vnode.context) {\n var handler = function handler(event) {\n if (!(event.type === 'keydown' && !arrayIncludes(KEYDOWN_KEY_CODES, event.keyCode)) && !isDisabled(el)) {\n var targets = el[BV_TOGGLE_TARGETS] || [];\n targets.forEach(function (target) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_TOGGLE, target);\n });\n }\n };\n\n el[BV_TOGGLE_CLICK_HANDLER] = handler;\n eventOn(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n\n if (isNonStandardTag(el)) {\n eventOn(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n }\n};\n\nvar removeRootListeners = function removeRootListeners(el, vnode) {\n if (el[BV_TOGGLE_ROOT_HANDLER] && vnode.context) {\n vnode.context.$root.$off([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], el[BV_TOGGLE_ROOT_HANDLER]);\n }\n\n el[BV_TOGGLE_ROOT_HANDLER] = null;\n};\n\nvar addRootListeners = function addRootListeners(el, vnode) {\n removeRootListeners(el, vnode);\n\n if (vnode.context) {\n var handler = function handler(id, state) {\n // `state` will be `true` if target is expanded\n if (arrayIncludes(el[BV_TOGGLE_TARGETS] || [], id)) {\n // Set/Clear 'collapsed' visibility class state\n el[BV_TOGGLE_STATE] = state; // Set `aria-expanded` and class state on trigger element\n\n setToggleState(el, state);\n }\n };\n\n el[BV_TOGGLE_ROOT_HANDLER] = handler; // Listen for toggle state changes (public) and sync (private)\n\n vnode.context.$root.$on([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], handler);\n }\n};\n\nvar setToggleState = function setToggleState(el, state) {\n // State refers to the visibility of the collapse/sidebar\n if (state) {\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_TRUE);\n } else {\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_FALSE);\n }\n}; // Reset and remove a property from the provided element\n\n\nvar resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n}; // Handle directive updates\n\n\nvar handleUpdate = function handleUpdate(el, binding, vnode) {\n /* istanbul ignore next: should never happen */\n if (!IS_BROWSER || !vnode.context) {\n return;\n } // If element is not a button or link, we add `role=\"button\"`\n // and `tabindex=\"0\"` for accessibility reasons\n\n\n if (isNonStandardTag(el)) {\n if (!hasAttr(el, ATTR_ROLE)) {\n setAttr(el, ATTR_ROLE, 'button');\n }\n\n if (!hasAttr(el, ATTR_TABINDEX)) {\n setAttr(el, ATTR_TABINDEX, '0');\n }\n } // Ensure the collapse class and `aria-*` attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or its contents)\n\n\n setToggleState(el, el[BV_TOGGLE_STATE]); // Parse list of target IDs\n\n var targets = getTargets(binding, el); // Ensure the `aria-controls` hasn't been overwritten\n // or removed when vnode updates\n // Also ensure to set `overflow-anchor` to `none` to prevent\n // the browser's scroll anchoring behavior\n\n /* istanbul ignore else */\n\n if (targets.length > 0) {\n setAttr(el, ATTR_ARIA_CONTROLS, targets.join(' '));\n setStyle(el, STYLE_OVERFLOW_ANCHOR, 'none');\n } else {\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n } // Add/Update our click listener(s)\n // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n addClickListener(el, vnode);\n }); // If targets array has changed, update\n\n if (!looseEqual(targets, el[BV_TOGGLE_TARGETS])) {\n // Update targets array to element storage\n el[BV_TOGGLE_TARGETS] = targets; // Ensure `aria-controls` is up to date\n // Request a state update from targets so that we can\n // ensure expanded state is correct (in most cases)\n\n targets.forEach(function (target) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, target);\n });\n }\n};\n/*\n * Export our directive\n */\n\n\nexport var VBToggle = {\n bind: function bind(el, binding, vnode) {\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false; // Assume no targets initially\n\n el[BV_TOGGLE_TARGETS] = []; // Add our root listeners\n\n addRootListeners(el, vnode); // Initial update of trigger\n\n handleUpdate(el, binding, vnode);\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind: function unbind(el, binding, vnode) {\n removeClickListener(el); // Remove our $root listener\n\n removeRootListeners(el, vnode); // Reset custom props\n\n resetProp(el, BV_TOGGLE_ROOT_HANDLER);\n resetProp(el, BV_TOGGLE_CLICK_HANDLER);\n resetProp(el, BV_TOGGLE_STATE);\n resetProp(el, BV_TOGGLE_TARGETS); // Reset classes/attrs/styles\n\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n removeAttr(el, ATTR_ARIA_EXPANDED);\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeAttr(el, ATTR_ROLE);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n }\n};","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\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 { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\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, mergeData } from '../../vue';\nimport { NAME_NAV_ITEM } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_OBJECT } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BLinkProps, ['event', 'routerTag'])), {}, {\n linkAttrs: makeProp(PROP_TYPE_OBJECT, {}),\n linkClasses: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})), NAME_NAV_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BNavItem = /*#__PURE__*/Vue.extend({\n name: NAME_NAV_ITEM,\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, ['on']), {\n staticClass: 'nav-item'\n }), [h(BLink, {\n staticClass: 'nav-link',\n class: props.linkClasses,\n attrs: props.linkAttrs,\n props: props,\n on: listeners\n }, children)]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PROGRESS } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BProgressBar, props as BProgressBarProps } from './progress-bar'; // --- Props ---\n\nvar progressBarProps = omit(BProgressBarProps, ['label', 'labelHtml']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, progressBarProps), {}, {\n animated: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, 100),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, false),\n showValue: makeProp(PROP_TYPE_BOOLEAN, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_PROGRESS); // --- Main component ---\n// @vue/component\n\nexport var BProgress = /*#__PURE__*/Vue.extend({\n name: NAME_PROGRESS,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n return {\n bvProgress: this\n };\n },\n props: props,\n computed: {\n progressHeight: function progressHeight() {\n return {\n height: this.height || null\n };\n }\n },\n render: function render(h) {\n var $childNodes = this.normalizeSlot();\n\n if (!$childNodes) {\n $childNodes = h(BProgressBar, {\n props: pluckProps(progressBarProps, this.$props)\n });\n }\n\n return h('div', {\n staticClass: 'progress',\n style: this.progressHeight\n }, [$childNodes]);\n }\n});","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_NAV } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Helper methods ---\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n align: makeProp(PROP_TYPE_STRING),\n // Set to `true` if placing in a card header\n cardHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n fill: makeProp(PROP_TYPE_BOOLEAN, false),\n justified: makeProp(PROP_TYPE_BOOLEAN, false),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tabs: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'ul'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_NAV); // --- Main component ---\n// @vue/component\n\nexport var BNav = /*#__PURE__*/Vue.extend({\n name: NAME_NAV,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tabs = props.tabs,\n pills = props.pills,\n vertical = props.vertical,\n align = props.align,\n cardHeader = props.cardHeader;\n return h(props.tag, mergeData(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': tabs,\n 'nav-pills': pills && !tabs,\n 'card-header-tabs': !vertical && cardHeader && tabs,\n 'card-header-pills': !vertical && cardHeader && pills && !tabs,\n 'flex-column': vertical,\n 'nav-fill': !vertical && props.fill,\n 'nav-justified': !vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(align), !vertical && align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (Object.keys(_vm.profileData).length)?_c('div',{attrs:{\"id\":\"user-profile\"}},[_c('profile-header',{attrs:{\"header-data\":_vm.profileData.header}}),_c('section',{attrs:{\"id\":\"profile-info\"}},[_c('b-row',[_c('b-col',{attrs:{\"lg\":\"3\",\"cols\":\"12\",\"order\":\"2\",\"order-lg\":\"1\"}},[_c('profile-about',{attrs:{\"about-data\":_vm.profileData.userAbout}}),_c('profile-suggested-pages',{attrs:{\"pages-data\":_vm.profileData.suggestedPages}}),_c('profile-twitter-feed',{attrs:{\"twitter-feed\":_vm.profileData.twitterFeeds}})],1),_c('b-col',{attrs:{\"lg\":\"6\",\"cols\":\"12\",\"order\":\"1\",\"order-lg\":\"2\"}},[_c('profile-post',{attrs:{\"posts\":_vm.profileData.post}})],1),_c('b-col',{attrs:{\"lg\":\"3\",\"cols\":\"12\",\"order\":\"3\"}},[_c('profile-latest-photos',{attrs:{\"latest-images\":_vm.profileData.latestPhotos}}),_c('profile-suggestion',{attrs:{\"suggestions\":_vm.profileData.suggestions}}),_c('profile-polls',{attrs:{\"polls-data\":_vm.profileData.polls}})],1),_c('b-col',{attrs:{\"cols\":\"12\",\"order\":\"4\"}},[_c('profile-bottom')],1)],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticClass:\"profile-header mb-2\",attrs:{\"img-src\":_vm.headerData.coverImg,\"img-top\":\"\",\"alt\":\"cover photo\",\"body-class\":\"p-0\"}},[_c('div',{staticClass:\"position-relative\"},[_c('div',{staticClass:\"profile-img-container d-flex align-items-center\"},[_c('div',{staticClass:\"profile-img\"},[_c('b-img',{attrs:{\"src\":_vm.headerData.avatar,\"rounded\":\"\",\"fluid\":\"\",\"alt\":\"profile photo\"}})],1),_c('div',{staticClass:\"profile-title ml-3\"},[_c('h2',{staticClass:\"text-white\"},[_vm._v(\" \"+_vm._s(_vm.headerData.username)+\" \")]),_c('p',{staticClass:\"text-white\"},[_vm._v(\" \"+_vm._s(_vm.headerData.designation)+\" \")])])])]),_c('div',{staticClass:\"profile-header-nav\"},[_c('b-navbar',{attrs:{\"toggleable\":\"md\",\"type\":\"light\"}},[_c('b-navbar-toggle',{staticClass:\"ml-auto\",attrs:{\"target\":\"nav-text-collapse\"}},[_c('feather-icon',{attrs:{\"icon\":\"AlignJustifyIcon\",\"size\":\"21\"}})],1),_c('b-collapse',{attrs:{\"id\":\"nav-text-collapse\",\"is-nav\":\"\"}},[_c('b-tabs',{staticClass:\"profile-tabs mt-1 mt-md-0\",attrs:{\"pills\":\"\",\"nav-class\":\"mb-0\"},scopedSlots:_vm._u([{key:\"tabs-start\",fn:function(){return [_c('b-nav-item',{staticClass:\"font-weight-bold\",attrs:{\"role\":\"presentation\",\"active\":\"\"}},[_c('span',{staticClass:\"d-none d-md-block\"},[_vm._v(\"Feed\")]),_c('feather-icon',{staticClass:\"d-block d-md-none\",attrs:{\"icon\":\"RssIcon\"}})],1),_c('b-nav-item',{staticClass:\"font-weight-bold\",attrs:{\"role\":\"presentation\"}},[_c('span',{staticClass:\"d-none d-md-block\"},[_vm._v(\"About\")]),_c('feather-icon',{staticClass:\"d-block d-md-none\",attrs:{\"icon\":\"InfoIcon\"}})],1),_c('b-nav-item',{staticClass:\"font-weight-bold\",attrs:{\"role\":\"presentation\"}},[_c('span',{staticClass:\"d-none d-md-block\"},[_vm._v(\"Photos\")]),_c('feather-icon',{staticClass:\"d-block d-md-none\",attrs:{\"icon\":\"ImageIcon\"}})],1),_c('b-nav-item',{staticClass:\"font-weight-bold\",attrs:{\"role\":\"presentation\"}},[_c('span',{staticClass:\"d-none d-md-block\"},[_vm._v(\"Friends\")]),_c('feather-icon',{staticClass:\"d-block d-md-none\",attrs:{\"icon\":\"UsersIcon\"}})],1)]},proxy:true},{key:\"tabs-end\",fn:function(){return [_c('b-button',{staticClass:\"ml-auto\",attrs:{\"variant\":\"primary\"}},[_c('feather-icon',{staticClass:\"d-block d-md-none\",attrs:{\"icon\":\"EditIcon\"}}),_c('span',{staticClass:\"font-weight-bold d-none d-md-block\"},[_vm._v(\"Edit\")])],1)]},proxy:true}])})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue } from '../../vue';\nimport { NAME_COLLAPSE, NAME_NAVBAR_TOGGLE } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { getRootEventName } from '../../utils/events';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { VBToggle } from '../../directives/toggle/toggle'; // --- Constants ---\n\nvar CLASS_NAME = 'navbar-toggler';\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // --- Props ---\n\nexport var props = makePropsConfigurable({\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n label: makeProp(PROP_TYPE_STRING, 'Toggle navigation'),\n target: makeProp(PROP_TYPE_ARRAY_STRING, undefined, true) // Required\n\n}, NAME_NAVBAR_TOGGLE); // --- Main component ---\n// @vue/component\n\nexport var BNavbarToggle = /*#__PURE__*/Vue.extend({\n name: NAME_NAVBAR_TOGGLE,\n directives: {\n VBToggle: VBToggle\n },\n mixins: [listenOnRootMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n toggleState: false\n };\n },\n created: function created() {\n this.listenOnRoot(ROOT_EVENT_NAME_STATE, this.handleStateEvt);\n this.listenOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.handleStateEvt);\n },\n methods: {\n onClick: function onClick(event) {\n if (!this.disabled) {\n // Emit courtesy `click` event\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n handleStateEvt: function handleStateEvt(id, state) {\n // We listen for state events so that we can pass the\n // boolean expanded state to the default scoped slot\n if (id === this.target) {\n this.toggleState = state;\n }\n }\n },\n render: function render(h) {\n var disabled = this.disabled;\n return h('button', {\n staticClass: CLASS_NAME,\n class: {\n disabled: disabled\n },\n directives: [{\n name: 'VBToggle',\n value: this.target\n }],\n attrs: {\n type: 'button',\n disabled: disabled,\n 'aria-label': this.label\n },\n on: {\n click: this.onClick\n }\n }, [this.normalizeSlot(SLOT_NAME_DEFAULT, {\n expanded: this.toggleState\n }) || h('span', {\n staticClass: \"\".concat(CLASS_NAME, \"-icon\")\n })]);\n }\n});","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ headerData.username }}\r\n \r\n \r\n {{ headerData.designation }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Feed\r\n \r\n \r\n \r\n About\r\n \r\n \r\n \r\n Photos\r\n \r\n \r\n \r\n Friends\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Edit\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileHeader.vue?vue&type=template&id=30c9be0c&\"\nimport script from \"./ProfileHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',_vm._l((_vm.aboutData),function(data,key,index){return _c('div',{key:data.title,class:index ? 'mt-2':''},[_c('h5',{staticClass:\"text-capitalize mb-75\"},[_vm._v(\" \"+_vm._s(key)+\" \")]),_c('b-card-text',[_vm._v(\" \"+_vm._s(data)+\" \")])],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n {{ data }}\r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileAbout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileAbout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileAbout.vue?vue&type=template&id=1c7f2c2e&\"\nimport script from \"./ProfileAbout.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileAbout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',{staticClass:\"mb-2\"},[_vm._v(\" Suggested Pages \")]),_vm._l((_vm.pagesData),function(data,index){return _c('div',{key:index,staticClass:\"d-flex justify-content-start align-items-center mt-1\"},[_c('div',{staticClass:\"mr-1\"},[_c('b-avatar',{attrs:{\"size\":\"40\",\"src\":data.avatar}})],1),_c('div',{staticClass:\"profile-user-info\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.username)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.subtitle))])]),_c('div',{staticClass:\"profile-star ml-auto\"},[_c('feather-icon',{class:data.favorite ? 'profile-favorite':'',attrs:{\"icon\":\"StarIcon\",\"size\":\"18\"}})],1)])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n Suggested Pages\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.username }}\r\n \r\n {{ data.subtitle }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileSuggestedPages.vue?vue&type=template&id=71fb2880&\"\nimport script from \"./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',[_vm._v(\"Twitter Feeds\")]),_vm._l((_vm.twitterFeed),function(data,index){return _c('div',{key:data.avatar,staticClass:\"profile-twitter-feed\",class:index != 0 ? 'mt-2' : 'mt-1'},[_c('div',{staticClass:\"d-flex justify-content-start align-items-center mb-1\"},[_c('b-avatar',{staticClass:\"mr-1\",attrs:{\"size\":\"40\",\"src\":data.imgUrl}}),_c('div',{staticClass:\"profile-user-info\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.title)+\" \")]),_c('b-link',[_c('small',{staticClass:\"text-muted\"},[_vm._v(\"@\"+_vm._s(data.id))]),_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\"}})],1)],1),_c('div',{staticClass:\"profile-star ml-auto\"},[_c('feather-icon',{class:data.favorite ? 'profile-favorite':'',attrs:{\"icon\":\"StarIcon\",\"size\":\"18\"}})],1)],1),_c('b-card-text',{staticClass:\"mb-50\"},[_vm._v(\" \"+_vm._s(data.desc)+\" \")]),_c('b-link',[_c('small',[_vm._v(\" \"+_vm._s(data.tags)+\" \")])])],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n Twitter Feeds\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.title }}\r\n \r\n \r\n @{{ data.id }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.desc }}\r\n \r\n \r\n \r\n {{ data.tags }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileTwitterFeed.vue?vue&type=template&id=885479f2&\"\nimport script from \"./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.posts),function(data){return _c('b-card',{key:data.avatar},[_c('div',{staticClass:\"d-flex justify-content-start align-items-center mb-1\"},[_c('b-avatar',{staticClass:\"mr-1\",attrs:{\"src\":data.avatar,\"size\":\"50\"}}),_c('div',{staticClass:\"profile-user-info\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.username)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.postTime))])])],1),_c('b-card-text',[_vm._v(\" \"+_vm._s(data.postText)+\" \")]),(data.postImg)?_c('b-img',{staticClass:\"mb-25\",attrs:{\"fluid\":\"\",\"rounded\":\"\",\"src\":data.postImg}}):_vm._e(),(data.postVid)?_c('b-embed',{staticClass:\"rounded mb-50\",attrs:{\"type\":\"iframe\",\"src\":data.postVid,\"allowfullscreen\":\"\"}}):_vm._e(),_c('b-row',{staticClass:\"pb-50 mt-50\"},[_c('b-col',{staticClass:\"d-flex justify-content-between justify-content-sm-start mb-2\",attrs:{\"sm\":\"8\"}},[_c('b-link',{staticClass:\"d-flex align-items-center text-muted text-nowrap\"},[_c('feather-icon',{staticClass:\"mr-50\",class:data.youLiked ? 'profile-likes':'profile-icon',attrs:{\"icon\":\"HeartIcon\",\"size\":\"18\"}}),_c('span',[_vm._v(_vm._s(_vm.kFormatter(data.likes)))])],1),_c('div',{staticClass:\"d-flex align-item-center\"},[_c('b-avatar-group',{staticClass:\"ml-1\",attrs:{\"size\":\"26\"}},_vm._l((data.likedUsers),function(avatarData,i){return _c('b-avatar',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottom\",value:(avatarData.username),expression:\"avatarData.username\",modifiers:{\"hover\":true,\"bottom\":true}}],key:i,staticClass:\"pull-up\",attrs:{\"src\":avatarData.avatar}})}),1),_c('b-link',{staticClass:\"text-muted text-nowrap mt-50 ml-50\"},[_vm._v(\" +\"+_vm._s(data.likedCount)+\" more \")])],1)],1),_c('b-col',{staticClass:\"d-flex justify-content-between justify-content-sm-end align-items-center mb-2\",attrs:{\"sm\":\"4\"}},[_c('b-link',{staticClass:\"text-body text-nowrap\"},[_c('feather-icon',{staticClass:\"profile-icon mr-50\",attrs:{\"icon\":\"MessageSquareIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"text-muted mr-1\"},[_vm._v(_vm._s(_vm.kFormatter(data.comments)))])],1),_c('b-link',{staticClass:\"text-body text-nowrap\"},[_c('feather-icon',{staticClass:\"profile-icon mr-50\",attrs:{\"icon\":\"Share2Icon\",\"size\":\"18\"}}),_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.kFormatter(data.share)))])],1)],1)],1),_vm._l((data.detailedComments),function(comment,ind){return _c('div',{key:ind,staticClass:\"d-flex align-items-start mb-1\"},[_c('b-avatar',{staticClass:\"mt-25 mr-75\",attrs:{\"src\":comment.avatar,\"size\":\"34\"}}),_c('div',{staticClass:\"profile-user-info w-100\"},[_c('div',{staticClass:\"d-flex align-items-center justify-content-between\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(comment.username)+\" \")]),_c('b-link',{staticClass:\"text-body\"},[_c('feather-icon',{staticClass:\"mr-25\",class:comment.youLiked ? 'profile-likes' :'profile-icon',attrs:{\"icon\":\"HeartIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"text-muted align-middle\"},[_vm._v(_vm._s(comment.commentsLikes))])],1)],1),_c('small',[_vm._v(_vm._s(comment.comment))])])],1)}),_c('b-form-group',[_c('b-form-textarea',{attrs:{\"rows\":\"3\",\"placeholder\":\"Add Comment\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"size\":\"sm\",\"variant\":\"primary\"}},[_vm._v(\" Post Comment \")])],2)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.username }}\r\n \r\n {{ data.postTime }}\r\n \r\n \r\n \r\n {{ data.postText }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ kFormatter(data.likes) }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n +{{ data.likedCount }} more\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ kFormatter(data.comments) }}\r\n \r\n \r\n \r\n {{ kFormatter(data.share) }}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ comment.username }}\r\n \r\n \r\n \r\n {{ comment.commentsLikes }}\r\n \r\n \r\n {{ comment.comment }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Post Comment\r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePost.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePost.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfilePost.vue?vue&type=template&id=e74908a2&\"\nimport script from \"./ProfilePost.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePost.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',{staticClass:\"mb-0\"},[_vm._v(\" Latest Photos \")]),_c('b-row',_vm._l((_vm.latestImages),function(data){return _c('b-col',{key:data.img,staticClass:\"profile-latest-img\",attrs:{\"md\":\"4\",\"cols\":\"6\"}},[_c('b-link',[_c('b-img',{attrs:{\"fluid\":\"\",\"rounded\":\"\",\"src\":data.img,\"alt\":data.img.slice(5)}})],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n Latest Photos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileLatestPhotos.vue?vue&type=template&id=3c7158db&\"\nimport script from \"./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',[_vm._v(\"Suggestions\")]),_vm._l((_vm.suggestions),function(data,index){return _c('div',{key:data.avatar,staticClass:\"d-flex justify-content-start align-items-center\",class:index == 0 ? 'mt-2' : 'mt-1'},[_c('b-avatar',{staticClass:\"mr-50\",attrs:{\"src\":data.avatar,\"size\":\"40\"}}),_c('div',{staticClass:\"user-page-info\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.name)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.mutualFriend))])]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon ml-auto\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"}},[_c('feather-icon',{attrs:{\"icon\":\"UserPlusIcon\"}})],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n Suggestions\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ data.name }}\r\n \r\n {{ data.mutualFriend }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileSuggestion.vue?vue&type=template&id=682a83c9&\"\nimport script from \"./ProfileSuggestion.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSuggestion.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',{staticClass:\"mb-1\"},[_vm._v(\" Polls \")]),_c('b-card-text',[_vm._v(\"Who is the best actor in Marvel Cinematic Universe?\")]),_vm._l((_vm.pollsData),function(data){return _c('div',{key:data.name,staticClass:\"polls-info mt-2\"},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('b-form-radio',{staticClass:\"mb-25\",attrs:{\"name\":\"polls\",\"value\":data.username},model:{value:(_vm.Selected),callback:function ($$v) {_vm.Selected=$$v},expression:\"Selected\"}},[_vm._v(\" \"+_vm._s(data.name)+\" \")]),_c('div',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(data.result)+\" \")])],1),_c('b-progress',{staticClass:\"my-50\",attrs:{\"value\":data.result,\"max\":\"100\",\"height\":\"6px\"}}),_c('b-avatar-group',{staticClass:\"mt-1\",attrs:{\"size\":\"26\"}},_vm._l((data.votedUser),function(avatar){return _c('b-avatar',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottom\",value:(avatar.username),expression:\"avatar.username\",modifiers:{\"hover\":true,\"bottom\":true}}],key:avatar.img,staticClass:\"pull-up\",attrs:{\"src\":avatar.img}})}),1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n Polls\r\n \r\n Who is the best actor in Marvel Cinematic Universe?\r\n\r\n \r\n \r\n \r\n \r\n {{ data.name }}\r\n \r\n \r\n {{ data.result }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePolls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePolls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfilePolls.vue?vue&type=template&id=4d360c98&\"\nimport script from \"./ProfilePolls.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePolls.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-center mb-2\"},[_c('b-overlay',{staticClass:\"d-inline-block\",attrs:{\"show\":_vm.show,\"rounded\":\"sm\",\"spinner-variant\":\"primary\",\"spinner-small\":\"\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":_vm.onClick}},[_vm._v(\" Load More \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n Load More\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profileBottom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profileBottom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./profileBottom.vue?vue&type=template&id=7dafae0a&\"\nimport script from \"./profileBottom.vue?vue&type=script&lang=js&\"\nexport * from \"./profileBottom.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Profile.vue?vue&type=template&id=2b703750&\"\nimport script from \"./Profile.vue?vue&type=script&lang=js&\"\nexport * from \"./Profile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Profile.vue?vue&type=style&index=0&id=2b703750&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\nimport { RX_DIGITS } from '../../constants/regex';\nimport { requestAF } from '../../utils/dom';\nimport { isFunction } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { clone, keys } from '../../utils/object';\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options, vnode) {\n _classCallCheck(this, VisibilityObserver);\n\n this.el = el;\n this.callback = options.callback;\n this.margin = options.margin || 0;\n this.once = options.once || false;\n this.observer = null;\n this.visible = undefined;\n this.doneOnce = false; // Create the observer instance (if possible)\n\n this.createObserver(vnode);\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver(vnode) {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n });\n } catch (_unused) {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true;\n this.observer = undefined;\n this.callback(null);\n return;\n } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n vnode.context.$nextTick(function () {\n requestAF(function () {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n });\n }\n /* istanbul ignore next */\n\n }, {\n key: \"handler\",\n value: function handler(entries) {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n /* istanbul ignore next */\n this.observer && this.observer.disconnect();\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n}();\n\nvar destroy = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n};\n\nvar bind = function bind(el, _ref, vnode) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n keys(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until is switched to use this directive */\n if (RX_DIGITS.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers);\n}; // When the directive options may have been updated (or element)\n\n\nvar componentUpdated = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n modifiers = clone(modifiers);\n /* istanbul ignore next */\n\n if (el && (value !== oldValue || !el[OBSERVER_PROP_NAME] || !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))) {\n // Re-bind on element\n bind(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nexport var VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\n};","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=style&index=0&id=2b703750&prod&lang=scss&\"","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\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, Vue } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.$parent) {\n this.$parent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\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_OVERLAY } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_OVERLAY } from '../../constants/slots';\nimport { toFloat } from '../../utils/number';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BSpinner } from '../spinner/spinner';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar POSITION_COVER = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n}; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Alternative to variant, allowing a specific\n // CSS color to be applied to the overlay\n bgColor: makeProp(PROP_TYPE_STRING),\n blur: makeProp(PROP_TYPE_STRING, '2px'),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n noCenter: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // If `true, does not render the default slot\n // and switches to absolute positioning\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false),\n opacity: makeProp(PROP_TYPE_NUMBER_STRING, 0.85, function (value) {\n var number = toFloat(value, 0);\n return number >= 0 && number <= 1;\n }),\n overlayTag: makeProp(PROP_TYPE_STRING, 'div'),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n show: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerSmall: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerType: makeProp(PROP_TYPE_STRING, 'border'),\n spinnerVariant: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'light'),\n wrapTag: makeProp(PROP_TYPE_STRING, 'div'),\n zIndex: makeProp(PROP_TYPE_NUMBER_STRING, 10)\n}, NAME_OVERLAY); // --- Main component ---\n// @vue/component\n\nexport var BOverlay = /*#__PURE__*/Vue.extend({\n name: NAME_OVERLAY,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n computedRounded: function computedRounded() {\n var rounded = this.rounded;\n return rounded === true || rounded === '' ? 'rounded' : !rounded ? '' : \"rounded-\".concat(rounded);\n },\n computedVariant: function computedVariant() {\n var variant = this.variant;\n return variant && !this.bgColor ? \"bg-\".concat(variant) : '';\n },\n slotScope: function slotScope() {\n return {\n spinnerType: this.spinnerType || null,\n spinnerVariant: this.spinnerVariant || null,\n spinnerSmall: this.spinnerSmall\n };\n }\n },\n methods: {\n defaultOverlayFn: function defaultOverlayFn(_ref) {\n var spinnerType = _ref.spinnerType,\n spinnerVariant = _ref.spinnerVariant,\n spinnerSmall = _ref.spinnerSmall;\n return this.$createElement(BSpinner, {\n props: {\n type: spinnerType,\n variant: spinnerVariant,\n small: spinnerSmall\n }\n });\n }\n },\n render: function render(h) {\n var _this = this;\n\n var show = this.show,\n fixed = this.fixed,\n noFade = this.noFade,\n noWrap = this.noWrap,\n slotScope = this.slotScope;\n var $overlay = h();\n\n if (show) {\n var $background = h('div', {\n staticClass: 'position-absolute',\n class: [this.computedVariant, this.computedRounded],\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n opacity: this.opacity,\n backgroundColor: this.bgColor || null,\n backdropFilter: this.blur ? \"blur(\".concat(this.blur, \")\") : null\n })\n });\n var $content = h('div', {\n staticClass: 'position-absolute',\n style: this.noCenter ?\n /* istanbul ignore next */\n _objectSpread({}, POSITION_COVER) : {\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)'\n }\n }, [this.normalizeSlot(SLOT_NAME_OVERLAY, slotScope) || this.defaultOverlayFn(slotScope)]);\n $overlay = h(this.overlayTag, {\n staticClass: 'b-overlay',\n class: {\n 'position-absolute': !noWrap || noWrap && !fixed,\n 'position-fixed': noWrap && fixed\n },\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n zIndex: this.zIndex || 10\n }),\n on: {\n click: function click(event) {\n return _this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n key: 'overlay'\n }, [$background, $content]);\n } // Wrap in a fade transition\n\n\n $overlay = h(BVTransition, {\n props: {\n noFade: noFade,\n appear: true\n },\n on: {\n 'after-enter': function afterEnter() {\n return _this.$emit(EVENT_NAME_SHOWN);\n },\n 'after-leave': function afterLeave() {\n return _this.$emit(EVENT_NAME_HIDDEN);\n }\n }\n }, [$overlay]);\n\n if (noWrap) {\n return $overlay;\n }\n\n return h(this.wrapTag, {\n staticClass: 'b-overlay-wrap position-relative',\n attrs: {\n 'aria-busy': show ? 'true' : null\n }\n }, noWrap ? [$overlay] : [this.normalizeSlot(), $overlay]);\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_FORM_TEXTAREA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom';\nimport { isNull } from '../../utils/inspect';\nimport { mathCeil, mathMax, mathMin } from '../../utils/math';\nimport { toInteger, toFloat } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { VBVisible } from '../../directives/visible/visible'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n maxRows: makeProp(PROP_TYPE_NUMBER_STRING),\n // When in auto resize mode, disable shrinking to content height\n noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable the resize handle of textarea\n noResize: makeProp(PROP_TYPE_BOOLEAN, false),\n rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),\n // 'soft', 'hard' or 'off'\n // Browser default is 'soft'\n wrap: makeProp(PROP_TYPE_STRING, 'soft')\n})), NAME_FORM_TEXTAREA); // --- Main component ---\n// @vue/component\n\nexport var BFormTextarea = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXTAREA,\n directives: {\n 'b-visible': VBVisible\n },\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, listenOnRootMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return mathMax(toInteger(this.rows, 2), 2);\n },\n computedMaxRows: function computedMaxRows() {\n return mathMax(this.computedMinRows, toInteger(this.maxRows, 0));\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.disabled,\n required = this.required;\n return {\n id: this.safeId(),\n name: this.name || null,\n form: this.form || null,\n disabled: disabled,\n placeholder: this.placeholder || null,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.computedRows,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n localValue: function localValue() {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n\n /* istanbul ignore next */\n visibleCallback: function visibleCallback(visible) {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight);\n }\n },\n setHeight: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n computeHeight: function computeHeight() {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!isVisible(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = getCS(el); // Height of one line of text in px\n\n var lineHeight = toFloat(computedStyle.lineHeight, 1); // Calculate height of border and padding\n\n var border = toFloat(computedStyle.borderTopWidth, 0) + toFloat(computedStyle.borderBottomWidth, 0);\n var padding = toFloat(computedStyle.paddingTop, 0) + toFloat(computedStyle.paddingBottom, 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = getStyle(el, 'height') || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n setStyle(el, 'height', 'auto');\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n setStyle(el, 'height', oldHeight); // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = mathMax((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = mathMin(mathMax(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = mathMax(mathCeil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && toFloat(oldHeight, 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n return h('textarea', {\n class: this.computedClass,\n style: this.computedStyle,\n directives: [{\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\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_FORM_RADIO } from '../../constants/components';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formRadioCheckProps), formSizeProps), formStateProps)), NAME_FORM_RADIO); // --- Main component ---\n// @vue/component\n\nexport var BFormRadio = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_RADIO,\n mixins: [idMixin, formRadioCheckMixin, // Includes shared render function\n formControlMixin, formSizeMixin, formStateMixin],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: props,\n watch: {\n computedLocalChecked: function computedLocalChecked(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_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__*/Vue.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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\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","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formCustomMixin = Vue.extend({\n props: props,\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","import router from '@/router'\r\n// eslint-disable-next-line object-curly-newline\r\nimport { reactive, getCurrentInstance, watch, toRefs } from '@vue/composition-api'\r\n\r\nexport const isObject = obj => typeof obj === 'object' && obj !== null\r\n\r\nexport const isToday = date => {\r\n const today = new Date()\r\n return (\r\n /* eslint-disable operator-linebreak */\r\n date.getDate() === today.getDate() &&\r\n date.getMonth() === today.getMonth() &&\r\n date.getFullYear() === today.getFullYear()\r\n /* eslint-enable */\r\n )\r\n}\r\n\r\nconst getRandomFromArray = array => array[Math.floor(Math.random() * array.length)]\r\n\r\n// ? Light and Dark variant is not included\r\n// prettier-ignore\r\nexport const getRandomBsVariant = () => getRandomFromArray(['primary', 'secondary', 'success', 'warning', 'danger', 'info','darkBlue'])\r\n\r\nexport const isDynamicRouteActive = route => {\r\n const { route: resolvedRoute } = router.resolve(route)\r\n return resolvedRoute.path === router.currentRoute.path\r\n}\r\n\r\n// Thanks: https://medium.com/better-programming/reactive-vue-routes-with-the-composition-api-18c1abd878d1\r\nexport const useRouter = () => {\r\n const vm = getCurrentInstance().proxy\r\n const state = reactive({\r\n route: vm.$route,\r\n })\r\n\r\n watch(\r\n () => vm.$route,\r\n r => {\r\n state.route = r\r\n },\r\n )\r\n\r\n return { ...toRefs(state), router: vm.$router }\r\n}\r\n\r\n/**\r\n * This is just enhancement over Object.extend [Gives deep extend]\r\n * @param {target} a Object which contains values to be overridden\r\n * @param {source} b Object which contains values to override\r\n */\r\n// export const objectExtend = (a, b) => {\r\n// // Don't touch 'null' or 'undefined' objects.\r\n// if (a == null || b == null) {\r\n// return a\r\n// }\r\n\r\n// Object.keys(b).forEach(key => {\r\n// if (Object.prototype.toString.call(b[key]) === '[object Object]') {\r\n// if (Object.prototype.toString.call(a[key]) !== '[object Object]') {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = b[key]\r\n// } else {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = objectExtend(a[key], b[key])\r\n// }\r\n// } else {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = b[key]\r\n// }\r\n// })\r\n\r\n// return a\r\n// }\r\n","import { Vue } from '../../vue';\nimport { NAME_PROGRESS_BAR } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { isBoolean } from '../../utils/inspect';\nimport { mathMax, mathPow } from '../../utils/math';\nimport { toFixed, toFloat, toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animated: makeProp(PROP_TYPE_BOOLEAN, null),\n label: makeProp(PROP_TYPE_STRING),\n labelHtml: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, null),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, null),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, null),\n showValue: makeProp(PROP_TYPE_BOOLEAN, null),\n striped: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_PROGRESS_BAR); // --- Main component ---\n// @vue/component\n\nexport var BProgressBar = /*#__PURE__*/Vue.extend({\n name: NAME_PROGRESS_BAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n props: props,\n computed: {\n progressBarClasses: function progressBarClasses() {\n var computedAnimated = this.computedAnimated,\n computedVariant = this.computedVariant;\n return [computedVariant ? \"bg-\".concat(computedVariant) : '', this.computedStriped || computedAnimated ? 'progress-bar-striped' : '', computedAnimated ? 'progress-bar-animated' : ''];\n },\n progressBarStyles: function progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n };\n },\n computedValue: function computedValue() {\n return toFloat(this.value, 0);\n },\n computedMax: function computedMax() {\n // Prefer our max over parent setting\n // Default to `100` for invalid values (`-x`, `0`, `NaN`)\n var max = toFloat(this.max) || toFloat(this.bvProgress.max, 0);\n return max > 0 ? max : 100;\n },\n computedPrecision: function computedPrecision() {\n // Prefer our precision over parent setting\n // Default to `0` for invalid values (`-x`, `NaN`)\n return mathMax(toInteger(this.precision, toInteger(this.bvProgress.precision, 0)), 0);\n },\n computedProgress: function computedProgress() {\n var precision = this.computedPrecision;\n var p = mathPow(10, precision);\n return toFixed(100 * p * this.computedValue / this.computedMax / p, precision);\n },\n computedVariant: function computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant;\n },\n computedStriped: function computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false;\n },\n computedAnimated: function computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false;\n },\n computedShowProgress: function computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress) ? this.showProgress : this.bvProgress.showProgress || false;\n },\n computedShowValue: function computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false;\n }\n },\n render: function render(h) {\n var label = this.label,\n labelHtml = this.labelHtml,\n computedValue = this.computedValue,\n computedPrecision = this.computedPrecision;\n var $children;\n var domProps = {};\n\n if (this.hasNormalizedSlot()) {\n $children = this.normalizeSlot();\n } else if (label || labelHtml) {\n domProps = htmlOrText(labelHtml, label);\n } else if (this.computedShowProgress) {\n $children = this.computedProgress;\n } else if (this.computedShowValue) {\n $children = toFixed(computedValue, computedPrecision);\n }\n\n return h('div', {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(computedValue, computedPrecision)\n },\n domProps: domProps\n }, $children);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_NAVBAR } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getBreakpoints } from '../../utils/config';\nimport { isTag } from '../../utils/dom';\nimport { isString } from '../../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n fixed: makeProp(PROP_TYPE_STRING),\n print: makeProp(PROP_TYPE_BOOLEAN, false),\n sticky: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'nav'),\n toggleable: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n type: makeProp(PROP_TYPE_STRING, 'light'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_NAVBAR); // --- Main component ---\n// @vue/component\n\nexport var BNavbar = /*#__PURE__*/Vue.extend({\n name: NAME_NAVBAR,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n return {\n bvNavbar: this\n };\n },\n props: props,\n computed: {\n breakpointClass: function breakpointClass() {\n var toggleable = this.toggleable;\n var xs = getBreakpoints()[0];\n var breakpoint = null;\n\n if (toggleable && isString(toggleable) && toggleable !== xs) {\n breakpoint = \"navbar-expand-\".concat(toggleable);\n } else if (toggleable === false) {\n breakpoint = 'navbar-expand';\n }\n\n return breakpoint;\n }\n },\n render: function render(h) {\n var _ref;\n\n var tag = this.tag,\n type = this.type,\n variant = this.variant,\n fixed = this.fixed;\n return h(tag, {\n staticClass: 'navbar',\n class: [(_ref = {\n 'd-print': this.print,\n 'sticky-top': this.sticky\n }, _defineProperty(_ref, \"navbar-\".concat(type), type), _defineProperty(_ref, \"bg-\".concat(variant), variant), _defineProperty(_ref, \"fixed-\".concat(fixed), fixed), _ref), this.breakpointClass],\n attrs: {\n role: isTag(tag, 'nav') ? null : 'navigation'\n }\n }, [this.normalizeSlot()]);\n }\n});","var _watch, _methods;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { EVENT_NAME_CHANGE } from '../constants/events';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { isBoolean } from '../utils/inspect';\nimport { looseEqual } from '../utils/loose-equal';\nimport { makeModelMixin } from '../utils/model';\nimport { sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { attrsMixin } from './attrs';\nimport { formControlMixin, props as formControlProps } from './form-control';\nimport { formCustomMixin, props as formCustomProps } from './form-custom';\nimport { formSizeMixin, props as formSizeProps } from './form-size';\nimport { formStateMixin, props as formStateProps } from './form-state';\nimport { idMixin, props as idProps } from './id';\nimport { normalizeSlotMixin } from './normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('checked', {\n defaultValue: null\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formSizeProps), formStateProps), formCustomProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n})), 'formRadioCheckControls'); // --- Mixin ---\n// @vue/component\n\nexport var formRadioCheckMixin = Vue.extend({\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formSizeMixin, formStateMixin, formCustomMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value;\n } else {\n this.localChecked = value;\n }\n }\n },\n isChecked: function isChecked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n isRadio: function isRadio() {\n return true;\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup;\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required);\n },\n computedName: function computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n computedForm: function computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n computedSize: function computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n computedState: function computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null;\n },\n computedButtonVariant: function computedButtonVariant() {\n // Local variant preferred over group variant\n var buttonVariant = this.buttonVariant;\n\n if (buttonVariant) {\n return buttonVariant;\n }\n\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n }\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n var computedSize = this.computedSize;\n return ['btn', \"btn-\".concat(this.computedButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(computedSize), computedSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.isDisabled,\n required = this.isRequired;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled: disabled,\n required: required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function () {\n this[\"\".concat(MODEL_PROP_NAME, \"Watcher\")].apply(this, arguments);\n }), _defineProperty(_watch, \"computedLocalChecked\", function computedLocalChecked() {\n this.computedLocalCheckedWatcher.apply(this, arguments);\n }), _watch),\n methods: (_methods = {}, _defineProperty(_methods, \"\".concat(MODEL_PROP_NAME, \"Watcher\"), function Watcher(newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue;\n }\n }), _defineProperty(_methods, \"computedLocalCheckedWatcher\", function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_methods, \"handleChange\", function handleChange(_ref2) {\n var _this = this;\n\n var checked = _ref2.target.checked;\n var value = this.value;\n var localChecked = checked ? value : null;\n this.computedLocalChecked = value; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n });\n }), _defineProperty(_methods, \"handleFocus\", function handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true;\n } else if (event.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }), _defineProperty(_methods, \"focus\", function focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input);\n }\n }), _defineProperty(_methods, \"blur\", function blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input);\n }\n }), _methods),\n render: function render(h) {\n var isRadio = this.isRadio,\n isBtnMode = this.isBtnMode,\n isPlain = this.isPlain,\n isCustom = this.isCustom,\n isInline = this.isInline,\n isSwitch = this.isSwitch,\n computedSize = this.computedSize,\n bvAttrs = this.bvAttrs;\n var $content = this.normalizeSlot();\n var $input = h('input', {\n class: [{\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n }, isBtnMode ? '' : this.stateClass],\n directives: [{\n name: 'model',\n value: this.computedLocalChecked\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: _objectSpread({\n change: this.handleChange\n }, isBtnMode ? {\n focus: this.handleFocus,\n blur: this.handleFocus\n } : {}),\n key: 'input',\n ref: 'input'\n });\n\n if (isBtnMode) {\n var $button = h('label', {\n class: this.buttonClasses\n }, [$input, $content]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [$button]);\n }\n\n return $button;\n } // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n\n var $label = h();\n\n if (!(isPlain && !$content)) {\n $label = h('label', {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, $content);\n }\n\n return h('div', {\n class: [_defineProperty({\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio\n }, \"b-custom-control-\".concat(computedSize), computedSize && !isBtnMode), bvAttrs.class],\n style: bvAttrs.style\n }, [$input, $label]);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_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 return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\nimport Popper from 'popper.js';\nimport { Vue } from '../../../vue';\nimport { NAME_POPPER } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { HTMLElement, SVGElement } from '../../../constants/safe-types';\nimport { getCS, requestAF, select } from '../../../utils/dom';\nimport { toFloat } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { BVTransition } from '../../transition/bv-transition'; // --- Constants ---\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // --- Props ---\n\nexport var props = {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),\n // 'scrollParent', 'viewport', 'window', or `Element`\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),\n fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n placement: makeProp(PROP_TYPE_STRING, 'top'),\n // Element that the tooltip/popover is positioned relative to\n target: makeProp([HTMLElement, SVGElement])\n}; // --- Main component ---\n// @vue/component\n\nexport var BVPopper = /*#__PURE__*/Vue.extend({\n name: NAME_POPPER,\n props: props,\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n /* istanbul ignore next */\n templateType: function templateType() {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on(EVENT_NAME_SHOW, function (el) {\n _this2.popperCreate(el);\n }); // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.updatePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyPopper();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || select('.arrow', this.$el);\n var arrowOffset = toFloat(getCS(arrow).width, 0) + toFloat(this.arrowPadding, 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n /* istanbul ignore next: can't test in JSDOM */\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n /* istanbul ignore next: can't test in JSDOM */\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.destroyPopper(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new Popper(this.target, el, this.popperConfig);\n },\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n updatePopper: function updatePopper() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n\n /* istanbul ignore next */\n renderTemplate: function renderTemplate(h) {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var noFade = this.noFade; // Note: 'show' and 'fade' classes are only appled during transition\n\n return h(BVTransition, {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOW, el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOWN, el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDE, el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDDEN, el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\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_TOOLTIP_TEMPLATE } from '../../../constants/components';\nimport { EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { scopedStyleMixin } from '../../../mixins/scoped-style';\nimport { BVPopper } from './bv-popper'; // --- Props ---\n\nexport var props = {\n // Used only by the directive versions\n html: makeProp(PROP_TYPE_BOOLEAN, false),\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltipTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_TEMPLATE,\n extends: BVPopper,\n mixins: [scopedStyleMixin],\n props: props,\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n var variant = this.variant,\n attachment = this.attachment,\n templateType = this.templateType;\n return [(_ref = {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive\n }, _defineProperty(_ref, \"b-\".concat(templateType, \"-\").concat(variant), variant), _defineProperty(_ref, \"bs-\".concat(templateType, \"-\").concat(attachment), attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n var id = this.id;\n return _objectSpread(_objectSpread({}, this.$parent.$parent.$attrs), {}, {\n id: id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter:\n /* istanbul ignore next */\n function mouseenter(event) {\n _this.$emit(EVENT_NAME_MOUSEENTER, event);\n },\n mouseleave:\n /* istanbul ignore next */\n function mouseleave(event) {\n _this.$emit(EVENT_NAME_MOUSELEAVE, event);\n },\n focusin:\n /* istanbul ignore next */\n function focusin(event) {\n _this.$emit(EVENT_NAME_FOCUSIN, event);\n },\n focusout:\n /* istanbul ignore next */\n function focusout(event) {\n _this.$emit(EVENT_NAME_FOCUSOUT, event);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title; // Title can be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title; // Directive versions only\n\n var domProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\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});","export var noop = function noop() {};","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_TABS, NAME_TAB_BUTTON_HELPER } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_ACTIVATE_TAB, EVENT_NAME_CHANGED, EVENT_NAME_CLICK, EVENT_NAME_FIRST, EVENT_NAME_LAST, EVENT_NAME_NEXT, EVENT_NAME_PREV } from '../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_TABS_END, SLOT_NAME_TABS_START, SLOT_NAME_TITLE } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, selectAll, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isEvent } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { mathMax } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { stableSort } from '../../utils/stable-sort';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink } from '../link/link';\nimport { BNav, props as BNavProps } from '../nav/nav'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Filter function to filter out disabled tabs\n\n\nvar notDisabled = function notDisabled(tab) {\n return !tab.disabled;\n}; // --- Helper components ---\n// @vue/component\n\n\nvar BVTabButton = /*#__PURE__*/Vue.extend({\n name: NAME_TAB_BUTTON_HELPER,\n inject: {\n bvTabs: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n props: {\n controls: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n posInSet: makeProp(PROP_TYPE_NUMBER),\n setSize: makeProp(PROP_TYPE_NUMBER),\n // Reference to the child instance\n tab: makeProp(),\n tabIndex: makeProp(PROP_TYPE_NUMBER)\n },\n methods: {\n focus: function focus() {\n attemptFocus(this.$refs.link);\n },\n handleEvt: function handleEvt(event) {\n /* istanbul ignore next */\n if (this.tab.disabled) {\n return;\n }\n\n var type = event.type,\n keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (type === 'click') {\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && keyCode === CODE_SPACE) {\n // For ARIA tabs the SPACE key will also trigger a click/select\n // Even with keyboard navigation disabled, SPACE should \"click\" the button\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/4323\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if ([CODE_UP, CODE_LEFT, CODE_HOME].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_HOME) {\n this.$emit(EVENT_NAME_FIRST, event);\n } else {\n this.$emit(EVENT_NAME_PREV, event);\n }\n } else if ([CODE_DOWN, CODE_RIGHT, CODE_END].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_END) {\n this.$emit(EVENT_NAME_LAST, event);\n } else {\n this.$emit(EVENT_NAME_NEXT, event);\n }\n }\n }\n }\n },\n render: function render(h) {\n var id = this.id,\n tabIndex = this.tabIndex,\n setSize = this.setSize,\n posInSet = this.posInSet,\n controls = this.controls,\n handleEvt = this.handleEvt;\n var _this$tab = this.tab,\n title = _this$tab.title,\n localActive = _this$tab.localActive,\n disabled = _this$tab.disabled,\n titleItemClass = _this$tab.titleItemClass,\n titleLinkClass = _this$tab.titleLinkClass,\n titleLinkAttributes = _this$tab.titleLinkAttributes;\n var $link = h(BLink, {\n staticClass: 'nav-link',\n class: [{\n active: localActive && !disabled,\n disabled: disabled\n }, titleLinkClass, // Apply `activeNavItemClass` styles when the tab is active\n localActive ? this.bvTabs.activeNavItemClass : null],\n props: {\n disabled: disabled\n },\n attrs: _objectSpread(_objectSpread({}, titleLinkAttributes), {}, {\n id: id,\n role: 'tab',\n // Roving tab index when keynav enabled\n tabindex: tabIndex,\n 'aria-selected': localActive && !disabled ? 'true' : 'false',\n 'aria-setsize': setSize,\n 'aria-posinset': posInSet,\n 'aria-controls': controls\n }),\n on: {\n click: handleEvt,\n keydown: handleEvt\n },\n ref: 'link'\n }, [this.tab.normalizeSlot(SLOT_NAME_TITLE) || title]);\n return h('li', {\n staticClass: 'nav-item',\n class: [titleItemClass],\n attrs: {\n role: 'presentation'\n }\n }, [$link]);\n }\n}); // --- Props ---\n\nvar navProps = omit(BNavProps, ['tabs', 'isNavBar', 'cardHeader']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), navProps), {}, {\n // Only applied to the currently active ``\n activeNavItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Only applied to the currently active ``\n // This prop is sniffed by the `` child\n activeTabClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n card: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Synonym for 'bottom'\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n // This prop is sniffed by the `` child\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n navClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n navWrapperClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n noNavStyle: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_TABS); // --- Main component ---\n// @vue/component\n\nexport var BTabs = /*#__PURE__*/Vue.extend({\n name: NAME_TABS,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTabs: this\n };\n },\n props: props,\n data: function data() {\n return {\n // Index of current tab\n currentTab: toInteger(this[MODEL_PROP_NAME], -1),\n // Array of direct child `` instances, in DOM order\n tabs: [],\n // Array of child instances registered (for triggering reactive updates)\n registeredTabs: []\n };\n },\n computed: {\n fade: function fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade;\n },\n localNavClass: function localNavClass() {\n var classes = [];\n\n if (this.card && this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0');\n }\n\n return [].concat(classes, [this.navClass]);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n newValue = toInteger(newValue, -1);\n oldValue = toInteger(oldValue, 0);\n var $tab = this.tabs[newValue];\n\n if ($tab && !$tab.disabled) {\n this.activateTab($tab);\n } else {\n // Try next or prev tabs\n if (newValue < oldValue) {\n this.previousTab();\n } else {\n this.nextTab();\n }\n }\n }\n }), _defineProperty(_watch, \"currentTab\", function currentTab(newValue) {\n var index = -1; // Ensure only one tab is active at most\n\n this.tabs.forEach(function ($tab, i) {\n if (i === newValue && !$tab.disabled) {\n $tab.localActive = true;\n index = i;\n } else {\n $tab.localActive = false;\n }\n }); // Update the v-model\n\n this.$emit(MODEL_EVENT_NAME, index);\n }), _defineProperty(_watch, \"tabs\", function tabs(newValue, oldValue) {\n var _this = this;\n\n // We use `_uid` instead of `safeId()`, as the later is changed in a `$nextTick()`\n // if no explicit ID is provided, causing duplicate emits\n if (!looseEqual(newValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }), oldValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }))) {\n // In a `$nextTick()` to ensure `currentTab` has been set first\n this.$nextTick(function () {\n // We emit shallow copies of the new and old arrays of tabs,\n // to prevent users from potentially mutating the internal arrays\n _this.$emit(EVENT_NAME_CHANGED, newValue.slice(), oldValue.slice());\n });\n }\n }), _defineProperty(_watch, \"registeredTabs\", function registeredTabs() {\n this.updateTabs();\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_observer = null;\n },\n mounted: function mounted() {\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.setObserver(false); // Ensure no references to child instances exist\n\n this.tabs = [];\n },\n methods: {\n registerTab: function registerTab($tab) {\n if (!arrayIncludes(this.registeredTabs, $tab)) {\n this.registeredTabs.push($tab);\n }\n },\n unregisterTab: function unregisterTab($tab) {\n this.registeredTabs = this.registeredTabs.slice().filter(function ($t) {\n return $t !== $tab;\n });\n },\n // DOM observer is needed to detect changes in order of tabs\n setObserver: function setObserver() {\n var _this2 = this;\n\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n /* istanbul ignore next: difficult to test mutation observer in JSDOM */\n var handler = function handler() {\n _this2.$nextTick(function () {\n requestAF(function () {\n _this2.updateTabs();\n });\n });\n }; // Watch for changes to `` sub components\n\n\n this.$_observer = observeDom(this.$refs.content, handler, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n getTabs: function getTabs() {\n var $tabs = this.registeredTabs.filter(function ($tab) {\n return $tab.$children.filter(function ($t) {\n return $t._isTab;\n }).length === 0;\n }); // DOM Order of Tabs\n\n var order = [];\n /* istanbul ignore next: too difficult to test */\n\n if (IS_BROWSER && $tabs.length > 0) {\n // We rely on the DOM when mounted to get the \"true\" order of the `` children\n // `querySelectorAll()` always returns elements in document order, regardless of\n // order specified in the selector\n var selector = $tabs.map(function ($tab) {\n return \"#\".concat($tab.safeId());\n }).join(', ');\n order = selectAll(selector, this.$el).map(function ($el) {\n return $el.id;\n }).filter(identity);\n } // Stable sort keeps the original order if not found in the `order` array,\n // which will be an empty array before mount\n\n\n return stableSort($tabs, function (a, b) {\n return order.indexOf(a.safeId()) - order.indexOf(b.safeId());\n });\n },\n updateTabs: function updateTabs() {\n var $tabs = this.getTabs(); // Find last active non-disabled tab in current tabs\n // We trust tab state over `currentTab`, in case tabs were added/removed/re-ordered\n\n var tabIndex = $tabs.indexOf($tabs.slice().reverse().find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n })); // Else try setting to `currentTab`\n\n if (tabIndex < 0) {\n var currentTab = this.currentTab;\n\n if (currentTab >= $tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = $tabs.indexOf($tabs.slice().reverse().find(notDisabled));\n } else if ($tabs[currentTab] && !$tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab;\n }\n } // Else find first non-disabled tab in current tabs\n\n\n if (tabIndex < 0) {\n tabIndex = $tabs.indexOf($tabs.find(notDisabled));\n } // Ensure only one tab is active at a time\n\n\n $tabs.forEach(function ($tab, index) {\n $tab.localActive = index === tabIndex;\n });\n this.tabs = $tabs;\n this.currentTab = tabIndex;\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab: function getButtonForTab($tab) {\n return (this.$refs.buttons || []).find(function ($btn) {\n return $btn.tab === $tab;\n });\n },\n // Force a button to re-render its content, given a `` instance\n // Called by `` on `update()`\n updateButton: function updateButton($tab) {\n var $button = this.getButtonForTab($tab);\n\n if ($button && $button.$forceUpdate) {\n $button.$forceUpdate();\n }\n },\n // Activate a tab given a `` instance\n // Also accessed by ``\n activateTab: function activateTab($tab) {\n var currentTab = this.currentTab,\n $tabs = this.tabs;\n var result = false;\n\n if ($tab) {\n var index = $tabs.indexOf($tab);\n\n if (index !== currentTab && index > -1 && !$tab.disabled) {\n var tabEvent = new BvEvent(EVENT_NAME_ACTIVATE_TAB, {\n cancelable: true,\n vueTarget: this,\n componentId: this.safeId()\n });\n this.$emit(tabEvent.type, index, currentTab, tabEvent);\n\n if (!tabEvent.defaultPrevented) {\n this.currentTab = index;\n result = true;\n }\n }\n } // Couldn't set tab, so ensure v-model is up to date\n\n /* istanbul ignore next: should rarely happen */\n\n\n if (!result && this[MODEL_PROP_NAME] !== currentTab) {\n this.$emit(MODEL_EVENT_NAME, currentTab);\n }\n\n return result;\n },\n // Deactivate a tab given a `` instance\n // Accessed by ``\n deactivateTab: function deactivateTab($tab) {\n if ($tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(function ($t) {\n return $t !== $tab;\n }).find(notDisabled));\n }\n /* istanbul ignore next: should never/rarely happen */\n\n\n return false;\n },\n // Focus a tab button given its `` instance\n focusButton: function focusButton($tab) {\n var _this3 = this;\n\n // Wrap in `$nextTick()` to ensure DOM has completed rendering\n this.$nextTick(function () {\n attemptFocus(_this3.getButtonForTab($tab));\n });\n },\n // Emit a click event on a specified `` component instance\n emitTabClick: function emitTabClick(tab, event) {\n if (isEvent(event) && tab && tab.$emit && !tab.disabled) {\n tab.$emit(EVENT_NAME_CLICK, event);\n }\n },\n // Click handler\n clickTab: function clickTab($tab, event) {\n this.activateTab($tab);\n this.emitTabClick($tab, event);\n },\n // Move to first non-disabled tab\n firstTab: function firstTab(focus) {\n var $tab = this.tabs.find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to previous non-disabled tab\n previousTab: function previousTab(focus) {\n var currentIndex = mathMax(this.currentTab, 0);\n var $tab = this.tabs.slice(0, currentIndex).reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to next non-disabled tab\n nextTab: function nextTab(focus) {\n var currentIndex = mathMax(this.currentTab, -1);\n var $tab = this.tabs.slice(currentIndex + 1).find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to last non-disabled tab\n lastTab: function lastTab(focus) {\n var $tab = this.tabs.slice().reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n var align = this.align,\n card = this.card,\n end = this.end,\n fill = this.fill,\n firstTab = this.firstTab,\n justified = this.justified,\n lastTab = this.lastTab,\n nextTab = this.nextTab,\n noKeyNav = this.noKeyNav,\n noNavStyle = this.noNavStyle,\n pills = this.pills,\n previousTab = this.previousTab,\n small = this.small,\n $tabs = this.tabs,\n vertical = this.vertical; // Currently active tab\n\n var $activeTab = $tabs.find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n }); // Tab button to allow focusing when no active tab found (keynav only)\n\n var $fallbackTab = $tabs.find(function ($tab) {\n return !$tab.disabled;\n }); // For each `` found create the tab buttons\n\n var $buttons = $tabs.map(function ($tab, index) {\n var _on;\n\n var safeId = $tab.safeId; // Ensure at least one tab button is focusable when keynav enabled (if possible)\n\n var tabIndex = null;\n\n if (!noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1;\n\n if ($tab === $activeTab || !$activeTab && $tab === $fallbackTab) {\n // Place tab button in tab sequence\n tabIndex = null;\n }\n }\n\n return h(BVTabButton, {\n props: {\n controls: safeId ? safeId() : null,\n id: $tab.controlledBy || (safeId ? safeId(\"_BV_tab_button_\") : null),\n noKeyNav: noKeyNav,\n posInSet: index + 1,\n setSize: $tabs.length,\n tab: $tab,\n tabIndex: tabIndex\n },\n on: (_on = {}, _defineProperty(_on, EVENT_NAME_CLICK, function (event) {\n _this4.clickTab($tab, event);\n }), _defineProperty(_on, EVENT_NAME_FIRST, firstTab), _defineProperty(_on, EVENT_NAME_PREV, previousTab), _defineProperty(_on, EVENT_NAME_NEXT, nextTab), _defineProperty(_on, EVENT_NAME_LAST, lastTab), _on),\n key: $tab[COMPONENT_UID_KEY] || index,\n ref: 'buttons',\n // Needed to make `this.$refs.buttons` an array\n refInFor: true\n });\n });\n var $nav = h(BNav, {\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: fill,\n justified: justified,\n align: align,\n tabs: !noNavStyle && !pills,\n pills: !noNavStyle && pills,\n vertical: vertical,\n small: small,\n cardHeader: card && !vertical\n },\n ref: 'nav'\n }, [this.normalizeSlot(SLOT_NAME_TABS_START) || h(), $buttons, this.normalizeSlot(SLOT_NAME_TABS_END) || h()]);\n $nav = h('div', {\n class: [{\n 'card-header': card && !vertical && !end,\n 'card-footer': card && !vertical && end,\n 'col-auto': vertical\n }, this.navWrapperClass],\n key: 'bv-tabs-nav'\n }, [$nav]);\n var $children = this.normalizeSlot() || [];\n var $empty = h();\n\n if ($children.length === 0) {\n $empty = h('div', {\n class: ['tab-pane', 'active', {\n 'card-body': card\n }],\n key: 'bv-empty-tab'\n }, this.normalizeSlot(SLOT_NAME_EMPTY));\n }\n\n var $content = h('div', {\n staticClass: 'tab-content',\n class: [{\n col: vertical\n }, this.contentClass],\n attrs: {\n id: this.safeId('_BV_tab_container_')\n },\n key: 'bv-content',\n ref: 'content'\n }, [$children, $empty]); // Render final output\n\n return h(this.tag, {\n staticClass: 'tabs',\n class: {\n row: vertical,\n 'no-gutters': vertical && card\n },\n attrs: {\n id: this.safeId()\n }\n }, [end ? $content : h(), $nav, end ? h() : $content]);\n }\n});"],"sourceRoot":""}
\r\n {{ headerData.designation }}\r\n