{"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/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.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/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./src/views/pages/profile/Profile.vue?b35f","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./src/views/pages/profile/Profile.vue?2fb4","webpack:///./src/views/pages/profile/ProfileHeader.vue?7060","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?a10f","webpack:///./src/views/pages/profile/ProfileHeader.vue","webpack:///./src/views/pages/profile/ProfileAbout.vue?59c0","webpack:///src/views/pages/profile/ProfileAbout.vue","webpack:///./src/views/pages/profile/ProfileAbout.vue?039d","webpack:///./src/views/pages/profile/ProfileAbout.vue","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue?5cf3","webpack:///src/views/pages/profile/ProfileSuggestedPages.vue","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue?bd4e","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue?6462","webpack:///src/views/pages/profile/ProfileTwitterFeed.vue","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue?b70e","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue","webpack:///./src/views/pages/profile/ProfilePost.vue?0612","webpack:///src/views/pages/profile/ProfilePost.vue","webpack:///./src/views/pages/profile/ProfilePost.vue?5ad7","webpack:///./src/views/pages/profile/ProfilePost.vue","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue?441f","webpack:///src/views/pages/profile/ProfileLatestPhotos.vue","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue?8d51","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue","webpack:///./src/views/pages/profile/ProfileSuggestion.vue?24fb","webpack:///src/views/pages/profile/ProfileSuggestion.vue","webpack:///./src/views/pages/profile/ProfileSuggestion.vue?b952","webpack:///./src/views/pages/profile/ProfileSuggestion.vue","webpack:///./src/views/pages/profile/ProfilePolls.vue?62bd","webpack:///src/views/pages/profile/ProfilePolls.vue","webpack:///./src/views/pages/profile/ProfilePolls.vue?d4a3","webpack:///./src/views/pages/profile/ProfilePolls.vue","webpack:///./src/views/pages/profile/profileBottom.vue?1c78","webpack:///src/views/pages/profile/profileBottom.vue","webpack:///./src/views/pages/profile/profileBottom.vue?c715","webpack:///./src/views/pages/profile/profileBottom.vue","webpack:///src/views/pages/profile/Profile.vue","webpack:///./src/views/pages/profile/Profile.vue?bd72","webpack:///./src/views/pages/profile/Profile.vue","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.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:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.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/mixins/card.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/avatar/avatar.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","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","bottom","end","start","top","BCardImg","src","alt","width","height","baseClass","right","left","cardImgProps","bind","imgSrc","required","card","align","noBody","BCard","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","html","$content","overlay","$footer","hasFooterSlot","redefine","anObject","fails","flags","TO_STRING","RegExpPrototype","RegExp","prototype","nativeToString","NOT_GENERIC","call","INCORRECT_NAME","R","p","rf","f","undefined","unsafe","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","interactive","disabled","delay","boundary","boundaryPadding","customClass","show","hide","arg","modifiers","mod","test","selectedTriggers","trim","toLowerCase","applyTooltip","el","context","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","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","index","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","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","sizes","srcset","thumbnail","BImg","titleTag","BCardTitle","progressBarProps","animated","max","precision","showProgress","showValue","striped","BProgress","bvProgress","progressHeight","$childNodes","$props","fixRegExpWellKnownSymbolLogic","toObject","toLength","advanceStringIndex","regExpExec","Math","min","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","nativeReplace","maybeCallNative","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","O","regexp","res","done","rx","S","functionalReplace","global","fullUnicode","unicode","lastIndex","results","matchStr","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","m","match","ch","capture","_watch","CLASS_NAME_SHOW","scrollHeight","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","BVCollapse","appear","Boolean","default","ROOT_EVENT_NAME_ACCORDION","accordion","isNav","BCollapse","transitioning","classObject","collapse","visible","close","oldValue","emitState","_this2","listenOnRoot","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","safeId","emitSync","deactivated","activated","window","toggle","onEnter","onAfterEnter","onLeave","onAfterLeave","emitOnRoot","checkDisplayBlock","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","directives","computeJustifyContent","cardHeader","fill","justified","pills","tabs","vertical","BNav","_vm","_h","$createElement","_c","_self","profileData","userAbout","suggestedPages","twitterFeeds","post","latestPhotos","suggestions","polls","_e","staticRenderFns","headerData","coverImg","avatar","_v","_s","username","designation","_u","fn","proxy","CLASS_NAME","BNavbarToggle","toggleState","handleStateEvt","onClick","expanded","BTabs","BButton","BNavbar","Ripple","component","_l","BCardText","aboutData","subtitle","favorite","BAvatar","pagesData","Array","imgUrl","desc","tags","twitterFeed","postTime","postText","postImg","postVid","youLiked","likes","avatarData","rawName","expression","likedCount","comments","share","comment","ind","commentsLikes","BFormTextarea","BFormGroup","BRow","BLink","BCol","BEmbed","posts","img","latestImages","mutualFriend","model","callback","$$v","Selected","pollsData","BOverlay","ProfileHeader","ProfileAbout","ProfileSuggestedPages","ProfileTwitterFeed","ProfilePost","ProfileLatestPhotos","ProfileSuggestion","ProfilePolls","profileBottom","$http","then","bodyClass","BCardBody","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","OBSERVER_PROP_NAME","VisibilityObserver","options","margin","once","observer","doneOnce","createObserver","stop","IntersectionObserver","root","rootMargin","threshold","_unused","observe","entries","entry","isIntersecting","intersectionRatio","disconnect","destroy","_prevModifiers","VBVisible","stableSort","array","compareFn","a","sort","b","e","POSITION_COVER","bgColor","fixed","noCenter","noWrap","opacity","overlayTag","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","transform","maxRows","noAutoShrink","noResize","rows","wrap","heightInPx","computedStyle","styles","resize","computedRows","overflowY","computedMinRows","computedMaxRows","computedAttrs","form","computedAriaInvalid","computedListeners","bvListeners","change","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","minHeight","oldHeight","contentRows","ref","BFormRadio","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","separator","plain","formCustomMixin","custom","formSizeMixin","thisNumberValue","nativeToFixed","pow","x","acc","log","x2","FORCED","fractionDigits","z","k","fractDigits","sign","multiply","c2","divide","dataToString","s","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","_typeof","Symbol","iterator","constructor","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","computedValue","computedMax","computedPrecision","computedProgress","computedShowProgress","computedShowValue","$children","hasNormalizedSlot","print","sticky","toggleable","bvNavbar","breakpointClass","xs","_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","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","linkProps","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","text","localSrc","fontStyle","fontSize","marginStyle","marginLeft","marginRight","badgeStyle","onImgError","_class2","link","error","$badge","hasBadgeSlot","badgeText","componentData","notDisabled","tab","BVTabButton","bvTabs","controls","noKeyNav","posInSet","setSize","tabIndex","handleEvt","shiftKey","_this$tab","localActive","titleItemClass","titleLinkClass","titleLinkAttributes","$link","active","activeNavItemClass","tabindex","keydown","navProps","activeTabClass","contentClass","navClass","navWrapperClass","noNavStyle","currentTab","registeredTabs","fade","localNavClass","classes","$tab","activateTab","previousTab","nextTab","updateTabs","$_observer","setObserver","registerTab","unregisterTab","$t","content","childList","subtree","attributes","attributeFilter","getTabs","$tabs","_isTab","order","selector","reverse","find","getButtonForTab","$btn","updateButton","$forceUpdate","tabEvent","cancelable","vueTarget","componentId","deactivateTab","focusButton","_this3","emitTabClick","clickTab","firstTab","currentIndex","lastTab","_this4","$activeTab","$fallbackTab","$buttons","_on","controlledBy","refInFor","$nav","$empty","col","row"],"mappings":"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","file":"js/chunk-83d2dbf0.b2f3f5e8.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","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 { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\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_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\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 imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\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.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=style&index=0&lang=scss&\"","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 { Vue } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_COLLAPSE); // --- Main component ---\n// @vue/component\n\nexport var BCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvt);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});","export var CLASS_NAME_SHOW = 'show';\nexport var CLASS_NAME_FADE = 'fade';","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { Vue, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n};\n\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n};\n\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}; // Default transition handlers\n// `appear` will use the enter handlers\n\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props: {\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('transition', // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\n});","function _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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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&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 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_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_BODY); // --- Main component ---\n// @vue/component\n\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, 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, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_FOOTER); // --- Main component ---\n// @vue/component\n\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }), children);\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\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};","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","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_CARD_HEADER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'header'))), {}, {\n header: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_HEADER); // --- Main component ---\n// @vue/component\n\nexport var BCardHeader = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_HEADER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var headerBgVariant = props.headerBgVariant,\n headerBorderVariant = props.headerBorderVariant,\n headerTextVariant = props.headerTextVariant;\n return h(props.headerTag, mergeData(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(headerBgVariant), headerBgVariant), _defineProperty(_ref2, \"border-\".concat(headerBorderVariant), headerBorderVariant), _defineProperty(_ref2, \"text-\".concat(headerTextVariant), headerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.headerHtml, props.header)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_SUB_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n subTitle: makeProp(PROP_TYPE_STRING),\n subTitleTag: makeProp(PROP_TYPE_STRING, 'h6'),\n subTitleTextVariant: makeProp(PROP_TYPE_STRING, 'muted')\n}, NAME_CARD_SUB_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardSubTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_SUB_TITLE,\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.subTitleTag, mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || toString(props.subTitle));\n }\n});","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\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'])\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 } from '../vue';\nimport { NAME_CARD } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n bgVariant: makeProp(PROP_TYPE_STRING),\n borderVariant: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_CARD); // --- Mixin ---\n// @vue/component\n\nexport var cardMixin = Vue.extend({\n props: props\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});","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});","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":""}