{"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/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/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:///./src/views/pages/profile/Profile.vue?045b","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:///./src/views/pages/profile/Profile.vue?4b2f","webpack:///./src/views/pages/profile/ProfileHeader.vue?262c","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-toggle.js","webpack:///src/views/pages/profile/ProfileHeader.vue","webpack:///./src/views/pages/profile/ProfileHeader.vue?fad0","webpack:///./src/views/pages/profile/ProfileHeader.vue","webpack:///./src/views/pages/profile/ProfileAbout.vue?6bcc","webpack:///src/views/pages/profile/ProfileAbout.vue","webpack:///./src/views/pages/profile/ProfileAbout.vue?0cb2","webpack:///./src/views/pages/profile/ProfileAbout.vue","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue?f095","webpack:///src/views/pages/profile/ProfileSuggestedPages.vue","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue?25c0","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue?8cd5","webpack:///src/views/pages/profile/ProfileTwitterFeed.vue","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue?e2e2","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue","webpack:///./src/views/pages/profile/ProfilePost.vue?a09e","webpack:///src/views/pages/profile/ProfilePost.vue","webpack:///./src/views/pages/profile/ProfilePost.vue?cb1e","webpack:///./src/views/pages/profile/ProfilePost.vue","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue?0745","webpack:///src/views/pages/profile/ProfileLatestPhotos.vue","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue?b7f8","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue","webpack:///./src/views/pages/profile/ProfileSuggestion.vue?986a","webpack:///src/views/pages/profile/ProfileSuggestion.vue","webpack:///./src/views/pages/profile/ProfileSuggestion.vue?1571","webpack:///./src/views/pages/profile/ProfileSuggestion.vue","webpack:///./src/views/pages/profile/ProfilePolls.vue?9bb0","webpack:///src/views/pages/profile/ProfilePolls.vue","webpack:///./src/views/pages/profile/ProfilePolls.vue?5dc7","webpack:///./src/views/pages/profile/ProfilePolls.vue","webpack:///./src/views/pages/profile/profileBottom.vue?9238","webpack:///src/views/pages/profile/profileBottom.vue","webpack:///./src/views/pages/profile/profileBottom.vue?3415","webpack:///./src/views/pages/profile/profileBottom.vue","webpack:///src/views/pages/profile/Profile.vue","webpack:///./src/views/pages/profile/Profile.vue?c44f","webpack:///./src/views/pages/profile/Profile.vue","webpack:///./node_modules/bootstrap-vue/esm/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/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/embed.js","webpack:///./node_modules/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:///./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/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js"],"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","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","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","undefined","trigger","placement","fallbackPlacement","container","animation","offset","id","interactive","disabled","delay","boundary","String","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","module","exports","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","_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","_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","result","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","prototype","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","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","content","arrowPadding","BVTooltip","activeTrigger","localShow","templateType","computedId","computedDelay","computedTriggers","sort","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","$once","getTarget","document","body","scopeId","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","_this3","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","removeAriaDescribedby","restoreTitle","getTemplateElement","_this4","dropdownOpen","showEvt","buildEvent","cancelable","emitEvent","addAriaDescribedby","tip","hideEvt","prevHoverState","getTargetId","isInModal","isDropdown","clearInterval","_this5","d","relatedTarget","componentId","vueTarget","bvEvent","_this6","setRootListener","_this7","events","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","parentNode","_this9","documentElement","__vue__","eventTarget","currentTarget","_this10","_this11","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","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","separator","call","plain","formCustomMixin","custom","formSizeMixin","toInteger","thisNumberValue","repeat","fails","nativeToFixed","floor","Math","pow","x","n","acc","log","x2","FORCED","fractionDigits","e","z","j","k","fractDigits","sign","multiply","c","c2","divide","dataToString","s","RangeError","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","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","p","computedShowProgress","computedShowValue","$children","hasNormalizedSlot","print","sticky","toggleable","bvNavbar","breakpointClass","xs","breakpoint","_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","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","attachment","getAttachment","popperConfig","getOffset","flip","behavior","arrow","element","preventOverflow","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","beforeMount","updatePopper","destroyPopper","destroyed","removeChild","arrowOffset","scheduleUpdate","renderTemplate","beforeEnter","beforeLeave","BVTooltipTemplate","extends","templateClasses","noninteractive","templateAttributes","$attrs","tabindex","scopedStyleAttrs","templateListeners","mouseenter","mouseleave","focusin","focusout","innerHTML","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","noop"],"mappings":"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","file":"js/chunk-0a25b1d2.98722a52.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","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});","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});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=style&index=0&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});","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--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileHeader.vue?vue&type=template&id=30c9be0c&\"\nimport script from \"./ProfileHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',_vm._l((_vm.aboutData),function(data,key,index){return _c('div',{key:data.title,class:index ? 'mt-2':''},[_c('h5',{staticClass:\"text-capitalize mb-75\"},[_vm._v(\" \"+_vm._s(key)+\" \")]),_c('b-card-text',[_vm._v(\" \"+_vm._s(data)+\" \")])],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileAbout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileAbout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileAbout.vue?vue&type=template&id=1c7f2c2e&\"\nimport script from \"./ProfileAbout.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileAbout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',{staticClass:\"mb-2\"},[_vm._v(\" Suggested Pages \")]),_vm._l((_vm.pagesData),function(data,index){return _c('div',{key:index,staticClass:\"d-flex justify-content-start align-items-center mt-1\"},[_c('div',{staticClass:\"mr-1\"},[_c('b-avatar',{attrs:{\"size\":\"40\",\"src\":data.avatar}})],1),_c('div',{staticClass:\"profile-user-info\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.username)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.subtitle))])]),_c('div',{staticClass:\"profile-star ml-auto\"},[_c('feather-icon',{class:data.favorite ? 'profile-favorite':'',attrs:{\"icon\":\"StarIcon\",\"size\":\"18\"}})],1)])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileSuggestedPages.vue?vue&type=template&id=71fb2880&\"\nimport script from \"./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',[_vm._v(\"Twitter Feeds\")]),_vm._l((_vm.twitterFeed),function(data,index){return _c('div',{key:data.avatar,staticClass:\"profile-twitter-feed\",class:index != 0 ? 'mt-2' : 'mt-1'},[_c('div',{staticClass:\"d-flex justify-content-start align-items-center mb-1\"},[_c('b-avatar',{staticClass:\"mr-1\",attrs:{\"size\":\"40\",\"src\":data.imgUrl}}),_c('div',{staticClass:\"profile-user-info\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.title)+\" \")]),_c('b-link',[_c('small',{staticClass:\"text-muted\"},[_vm._v(\"@\"+_vm._s(data.id))]),_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\"}})],1)],1),_c('div',{staticClass:\"profile-star ml-auto\"},[_c('feather-icon',{class:data.favorite ? 'profile-favorite':'',attrs:{\"icon\":\"StarIcon\",\"size\":\"18\"}})],1)],1),_c('b-card-text',{staticClass:\"mb-50\"},[_vm._v(\" \"+_vm._s(data.desc)+\" \")]),_c('b-link',[_c('small',[_vm._v(\" \"+_vm._s(data.tags)+\" \")])])],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileTwitterFeed.vue?vue&type=template&id=885479f2&\"\nimport script from \"./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.posts),function(data){return _c('b-card',{key:data.avatar},[_c('div',{staticClass:\"d-flex justify-content-start align-items-center mb-1\"},[_c('b-avatar',{staticClass:\"mr-1\",attrs:{\"src\":data.avatar,\"size\":\"50\"}}),_c('div',{staticClass:\"profile-user-info\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.username)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.postTime))])])],1),_c('b-card-text',[_vm._v(\" \"+_vm._s(data.postText)+\" \")]),(data.postImg)?_c('b-img',{staticClass:\"mb-25\",attrs:{\"fluid\":\"\",\"rounded\":\"\",\"src\":data.postImg}}):_vm._e(),(data.postVid)?_c('b-embed',{staticClass:\"rounded mb-50\",attrs:{\"type\":\"iframe\",\"src\":data.postVid,\"allowfullscreen\":\"\"}}):_vm._e(),_c('b-row',{staticClass:\"pb-50 mt-50\"},[_c('b-col',{staticClass:\"d-flex justify-content-between justify-content-sm-start mb-2\",attrs:{\"sm\":\"8\"}},[_c('b-link',{staticClass:\"d-flex align-items-center text-muted text-nowrap\"},[_c('feather-icon',{staticClass:\"mr-50\",class:data.youLiked ? 'profile-likes':'profile-icon',attrs:{\"icon\":\"HeartIcon\",\"size\":\"18\"}}),_c('span',[_vm._v(_vm._s(_vm.kFormatter(data.likes)))])],1),_c('div',{staticClass:\"d-flex align-item-center\"},[_c('b-avatar-group',{staticClass:\"ml-1\",attrs:{\"size\":\"26\"}},_vm._l((data.likedUsers),function(avatarData,i){return _c('b-avatar',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottom\",value:(avatarData.username),expression:\"avatarData.username\",modifiers:{\"hover\":true,\"bottom\":true}}],key:i,staticClass:\"pull-up\",attrs:{\"src\":avatarData.avatar}})}),1),_c('b-link',{staticClass:\"text-muted text-nowrap mt-50 ml-50\"},[_vm._v(\" +\"+_vm._s(data.likedCount)+\" more \")])],1)],1),_c('b-col',{staticClass:\"d-flex justify-content-between justify-content-sm-end align-items-center mb-2\",attrs:{\"sm\":\"4\"}},[_c('b-link',{staticClass:\"text-body text-nowrap\"},[_c('feather-icon',{staticClass:\"profile-icon mr-50\",attrs:{\"icon\":\"MessageSquareIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"text-muted mr-1\"},[_vm._v(_vm._s(_vm.kFormatter(data.comments)))])],1),_c('b-link',{staticClass:\"text-body text-nowrap\"},[_c('feather-icon',{staticClass:\"profile-icon mr-50\",attrs:{\"icon\":\"Share2Icon\",\"size\":\"18\"}}),_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.kFormatter(data.share)))])],1)],1)],1),_vm._l((data.detailedComments),function(comment,ind){return _c('div',{key:ind,staticClass:\"d-flex align-items-start mb-1\"},[_c('b-avatar',{staticClass:\"mt-25 mr-75\",attrs:{\"src\":comment.avatar,\"size\":\"34\"}}),_c('div',{staticClass:\"profile-user-info w-100\"},[_c('div',{staticClass:\"d-flex align-items-center justify-content-between\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(comment.username)+\" \")]),_c('b-link',{staticClass:\"text-body\"},[_c('feather-icon',{staticClass:\"mr-25\",class:comment.youLiked ? 'profile-likes' :'profile-icon',attrs:{\"icon\":\"HeartIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"text-muted align-middle\"},[_vm._v(_vm._s(comment.commentsLikes))])],1)],1),_c('small',[_vm._v(_vm._s(comment.comment))])])],1)}),_c('b-form-group',[_c('b-form-textarea',{attrs:{\"rows\":\"3\",\"placeholder\":\"Add Comment\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"size\":\"sm\",\"variant\":\"primary\"}},[_vm._v(\" Post Comment \")])],2)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePost.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePost.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfilePost.vue?vue&type=template&id=e74908a2&\"\nimport script from \"./ProfilePost.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePost.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',{staticClass:\"mb-0\"},[_vm._v(\" Latest Photos \")]),_c('b-row',_vm._l((_vm.latestImages),function(data){return _c('b-col',{key:data.img,staticClass:\"profile-latest-img\",attrs:{\"md\":\"4\",\"cols\":\"6\"}},[_c('b-link',[_c('b-img',{attrs:{\"fluid\":\"\",\"rounded\":\"\",\"src\":data.img,\"alt\":data.img.slice(5)}})],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileLatestPhotos.vue?vue&type=template&id=3c7158db&\"\nimport script from \"./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',[_vm._v(\"Suggestions\")]),_vm._l((_vm.suggestions),function(data,index){return _c('div',{key:data.avatar,staticClass:\"d-flex justify-content-start align-items-center\",class:index == 0 ? 'mt-2' : 'mt-1'},[_c('b-avatar',{staticClass:\"mr-50\",attrs:{\"src\":data.avatar,\"size\":\"40\"}}),_c('div',{staticClass:\"user-page-info\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.name)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.mutualFriend))])]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon ml-auto\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"}},[_c('feather-icon',{attrs:{\"icon\":\"UserPlusIcon\"}})],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileSuggestion.vue?vue&type=template&id=682a83c9&\"\nimport script from \"./ProfileSuggestion.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSuggestion.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h5',{staticClass:\"mb-1\"},[_vm._v(\" Polls \")]),_c('b-card-text',[_vm._v(\"Who is the best actor in Marvel Cinematic Universe?\")]),_vm._l((_vm.pollsData),function(data){return _c('div',{key:data.name,staticClass:\"polls-info mt-2\"},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('b-form-radio',{staticClass:\"mb-25\",attrs:{\"name\":\"polls\",\"value\":data.username},model:{value:(_vm.Selected),callback:function ($$v) {_vm.Selected=$$v},expression:\"Selected\"}},[_vm._v(\" \"+_vm._s(data.name)+\" \")]),_c('div',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(data.result)+\" \")])],1),_c('b-progress',{staticClass:\"my-50\",attrs:{\"value\":data.result,\"max\":\"100\",\"height\":\"6px\"}}),_c('b-avatar-group',{staticClass:\"mt-1\",attrs:{\"size\":\"26\"}},_vm._l((data.votedUser),function(avatar){return _c('b-avatar',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottom\",value:(avatar.username),expression:\"avatar.username\",modifiers:{\"hover\":true,\"bottom\":true}}],key:avatar.img,staticClass:\"pull-up\",attrs:{\"src\":avatar.img}})}),1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePolls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePolls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfilePolls.vue?vue&type=template&id=4d360c98&\"\nimport script from \"./ProfilePolls.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePolls.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-center mb-2\"},[_c('b-overlay',{staticClass:\"d-inline-block\",attrs:{\"show\":_vm.show,\"rounded\":\"sm\",\"spinner-variant\":\"primary\",\"spinner-small\":\"\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":_vm.onClick}},[_vm._v(\" Load More \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profileBottom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profileBottom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./profileBottom.vue?vue&type=template&id=7dafae0a&\"\nimport script from \"./profileBottom.vue?vue&type=script&lang=js&\"\nexport * from \"./profileBottom.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Profile.vue?vue&type=template&id=2b703750&\"\nimport script from \"./Profile.vue?vue&type=script&lang=js&\"\nexport * from \"./Profile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Profile.vue?vue&type=style&index=0&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};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, Vue } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.$parent) {\n this.$parent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_OVERLAY } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_OVERLAY } from '../../constants/slots';\nimport { toFloat } from '../../utils/number';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BSpinner } from '../spinner/spinner';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar POSITION_COVER = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n}; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Alternative to variant, allowing a specific\n // CSS color to be applied to the overlay\n bgColor: makeProp(PROP_TYPE_STRING),\n blur: makeProp(PROP_TYPE_STRING, '2px'),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n noCenter: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // If `true, does not render the default slot\n // and switches to absolute positioning\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false),\n opacity: makeProp(PROP_TYPE_NUMBER_STRING, 0.85, function (value) {\n var number = toFloat(value, 0);\n return number >= 0 && number <= 1;\n }),\n overlayTag: makeProp(PROP_TYPE_STRING, 'div'),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n show: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerSmall: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerType: makeProp(PROP_TYPE_STRING, 'border'),\n spinnerVariant: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'light'),\n wrapTag: makeProp(PROP_TYPE_STRING, 'div'),\n zIndex: makeProp(PROP_TYPE_NUMBER_STRING, 10)\n}, NAME_OVERLAY); // --- Main component ---\n// @vue/component\n\nexport var BOverlay = /*#__PURE__*/Vue.extend({\n name: NAME_OVERLAY,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n computedRounded: function computedRounded() {\n var rounded = this.rounded;\n return rounded === true || rounded === '' ? 'rounded' : !rounded ? '' : \"rounded-\".concat(rounded);\n },\n computedVariant: function computedVariant() {\n var variant = this.variant;\n return variant && !this.bgColor ? \"bg-\".concat(variant) : '';\n },\n slotScope: function slotScope() {\n return {\n spinnerType: this.spinnerType || null,\n spinnerVariant: this.spinnerVariant || null,\n spinnerSmall: this.spinnerSmall\n };\n }\n },\n methods: {\n defaultOverlayFn: function defaultOverlayFn(_ref) {\n var spinnerType = _ref.spinnerType,\n spinnerVariant = _ref.spinnerVariant,\n spinnerSmall = _ref.spinnerSmall;\n return this.$createElement(BSpinner, {\n props: {\n type: spinnerType,\n variant: spinnerVariant,\n small: spinnerSmall\n }\n });\n }\n },\n render: function render(h) {\n var _this = this;\n\n var show = this.show,\n fixed = this.fixed,\n noFade = this.noFade,\n noWrap = this.noWrap,\n slotScope = this.slotScope;\n var $overlay = h();\n\n if (show) {\n var $background = h('div', {\n staticClass: 'position-absolute',\n class: [this.computedVariant, this.computedRounded],\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n opacity: this.opacity,\n backgroundColor: this.bgColor || null,\n backdropFilter: this.blur ? \"blur(\".concat(this.blur, \")\") : null\n })\n });\n var $content = h('div', {\n staticClass: 'position-absolute',\n style: this.noCenter ?\n /* istanbul ignore next */\n _objectSpread({}, POSITION_COVER) : {\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)'\n }\n }, [this.normalizeSlot(SLOT_NAME_OVERLAY, slotScope) || this.defaultOverlayFn(slotScope)]);\n $overlay = h(this.overlayTag, {\n staticClass: 'b-overlay',\n class: {\n 'position-absolute': !noWrap || noWrap && !fixed,\n 'position-fixed': noWrap && fixed\n },\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n zIndex: this.zIndex || 10\n }),\n on: {\n click: function click(event) {\n return _this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n key: 'overlay'\n }, [$background, $content]);\n } // Wrap in a fade transition\n\n\n $overlay = h(BVTransition, {\n props: {\n noFade: noFade,\n appear: true\n },\n on: {\n 'after-enter': function afterEnter() {\n return _this.$emit(EVENT_NAME_SHOWN);\n },\n 'after-leave': function afterLeave() {\n return _this.$emit(EVENT_NAME_HIDDEN);\n }\n }\n }, [$overlay]);\n\n if (noWrap) {\n return $overlay;\n }\n\n return h(this.wrapTag, {\n staticClass: 'b-overlay-wrap position-relative',\n attrs: {\n 'aria-busy': show ? 'true' : null\n }\n }, noWrap ? [$overlay] : [this.normalizeSlot(), $overlay]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_TEXTAREA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom';\nimport { isNull } from '../../utils/inspect';\nimport { mathCeil, mathMax, mathMin } from '../../utils/math';\nimport { toInteger, toFloat } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { VBVisible } from '../../directives/visible/visible'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n maxRows: makeProp(PROP_TYPE_NUMBER_STRING),\n // When in auto resize mode, disable shrinking to content height\n noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable the resize handle of textarea\n noResize: makeProp(PROP_TYPE_BOOLEAN, false),\n rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),\n // 'soft', 'hard' or 'off'\n // Browser default is 'soft'\n wrap: makeProp(PROP_TYPE_STRING, 'soft')\n})), NAME_FORM_TEXTAREA); // --- Main component ---\n// @vue/component\n\nexport var BFormTextarea = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXTAREA,\n directives: {\n 'b-visible': VBVisible\n },\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, listenOnRootMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return mathMax(toInteger(this.rows, 2), 2);\n },\n computedMaxRows: function computedMaxRows() {\n return mathMax(this.computedMinRows, toInteger(this.maxRows, 0));\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.disabled,\n required = this.required;\n return {\n id: this.safeId(),\n name: this.name || null,\n form: this.form || null,\n disabled: disabled,\n placeholder: this.placeholder || null,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.computedRows,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n localValue: function localValue() {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n\n /* istanbul ignore next */\n visibleCallback: function visibleCallback(visible) {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight);\n }\n },\n setHeight: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n computeHeight: function computeHeight() {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!isVisible(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = getCS(el); // Height of one line of text in px\n\n var lineHeight = toFloat(computedStyle.lineHeight, 1); // Calculate height of border and padding\n\n var border = toFloat(computedStyle.borderTopWidth, 0) + toFloat(computedStyle.borderBottomWidth, 0);\n var padding = toFloat(computedStyle.paddingTop, 0) + toFloat(computedStyle.paddingBottom, 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = getStyle(el, 'height') || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n setStyle(el, 'height', 'auto');\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n setStyle(el, 'height', oldHeight); // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = mathMax((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = mathMin(mathMax(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = mathMax(mathCeil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && toFloat(oldHeight, 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n return h('textarea', {\n class: this.computedClass,\n style: this.computedStyle,\n directives: [{\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_RADIO } from '../../constants/components';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formRadioCheckProps), formSizeProps), formStateProps)), NAME_FORM_RADIO); // --- Main component ---\n// @vue/component\n\nexport var BFormRadio = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_RADIO,\n mixins: [idMixin, formRadioCheckMixin, // Includes shared render function\n formControlMixin, formSizeMixin, formStateMixin],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: props,\n watch: {\n computedLocalChecked: function computedLocalChecked(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_EMBED } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Constants ---\n\nvar TYPES = ['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy']; // --- Props ---\n\nexport var props = makePropsConfigurable({\n aspect: makeProp(PROP_TYPE_STRING, '16by9'),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n type: makeProp(PROP_TYPE_STRING, 'iframe', function (value) {\n return arrayIncludes(TYPES, value);\n })\n}, NAME_EMBED); // --- Main component ---\n// @vue/component\n\nexport var BEmbed = /*#__PURE__*/Vue.extend({\n name: NAME_EMBED,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var aspect = props.aspect;\n return h(props.tag, {\n staticClass: 'embed-responsive',\n class: _defineProperty({}, \"embed-responsive-\".concat(aspect), aspect),\n ref: data.ref\n }, [h(props.type, mergeData(omit(data, ['ref']), {\n staticClass: 'embed-responsive-item'\n }), children)]);\n }\n});","'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});","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});","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\nimport Popper from 'popper.js';\nimport { Vue } from '../../../vue';\nimport { NAME_POPPER } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { HTMLElement, SVGElement } from '../../../constants/safe-types';\nimport { getCS, requestAF, select } from '../../../utils/dom';\nimport { toFloat } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { BVTransition } from '../../transition/bv-transition'; // --- Constants ---\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // --- Props ---\n\nexport var props = {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),\n // 'scrollParent', 'viewport', 'window', or `Element`\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),\n fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n placement: makeProp(PROP_TYPE_STRING, 'top'),\n // Element that the tooltip/popover is positioned relative to\n target: makeProp([HTMLElement, SVGElement])\n}; // --- Main component ---\n// @vue/component\n\nexport var BVPopper = /*#__PURE__*/Vue.extend({\n name: NAME_POPPER,\n props: props,\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n /* istanbul ignore next */\n templateType: function templateType() {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on(EVENT_NAME_SHOW, function (el) {\n _this2.popperCreate(el);\n }); // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.updatePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyPopper();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || select('.arrow', this.$el);\n var arrowOffset = toFloat(getCS(arrow).width, 0) + toFloat(this.arrowPadding, 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n /* istanbul ignore next: can't test in JSDOM */\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n /* istanbul ignore next: can't test in JSDOM */\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.destroyPopper(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new Popper(this.target, el, this.popperConfig);\n },\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n updatePopper: function updatePopper() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n\n /* istanbul ignore next */\n renderTemplate: function renderTemplate(h) {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var noFade = this.noFade; // Note: 'show' and 'fade' classes are only appled during transition\n\n return h(BVTransition, {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOW, el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOWN, el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDE, el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDDEN, el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TOOLTIP_TEMPLATE } from '../../../constants/components';\nimport { EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { scopedStyleMixin } from '../../../mixins/scoped-style';\nimport { BVPopper } from './bv-popper'; // --- Props ---\n\nexport var props = {\n // Used only by the directive versions\n html: makeProp(PROP_TYPE_BOOLEAN, false),\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltipTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_TEMPLATE,\n extends: BVPopper,\n mixins: [scopedStyleMixin],\n props: props,\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n var variant = this.variant,\n attachment = this.attachment,\n templateType = this.templateType;\n return [(_ref = {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive\n }, _defineProperty(_ref, \"b-\".concat(templateType, \"-\").concat(variant), variant), _defineProperty(_ref, \"bs-\".concat(templateType, \"-\").concat(attachment), attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n var id = this.id;\n return _objectSpread(_objectSpread({}, this.$parent.$parent.$attrs), {}, {\n id: id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter:\n /* istanbul ignore next */\n function mouseenter(event) {\n _this.$emit(EVENT_NAME_MOUSEENTER, event);\n },\n mouseleave:\n /* istanbul ignore next */\n function mouseleave(event) {\n _this.$emit(EVENT_NAME_MOUSELEAVE, event);\n },\n focusin:\n /* istanbul ignore next */\n function focusin(event) {\n _this.$emit(EVENT_NAME_FOCUSIN, event);\n },\n focusout:\n /* istanbul ignore next */\n function focusout(event) {\n _this.$emit(EVENT_NAME_FOCUSOUT, event);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title; // Title can be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title; // Directive versions only\n\n var domProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});","export var noop = function noop() {};"],"sourceRoot":""}