{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.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/components/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.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/nav/nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","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/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./src/views/pages/account-setting/AccountSetting.vue?9b10","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue?1c98","webpack:///src/views/pages/account-setting/AccountSettingGeneral.vue","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue?9195","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue?df25","webpack:///src/views/pages/account-setting/AccountSettingPassword.vue","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue?bb5e","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue?10d3","webpack:///src/views/pages/account-setting/AccountSettingInformation.vue","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue?7514","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue?aaee","webpack:///src/views/pages/account-setting/AccountSettingSocial.vue","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue?60b4","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue?c4ec","webpack:///src/views/pages/account-setting/AccountSettingNotification.vue","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue?3906","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue","webpack:///src/views/pages/account-setting/AccountSetting.vue","webpack:///./src/views/pages/account-setting/AccountSetting.vue?d1e4","webpack:///./src/views/pages/account-setting/AccountSetting.vue","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue?045b","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./src/@core/comp-functions/forms/form-utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/form-file.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js"],"names":["formSelectionMixin","extend","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","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","props","icon","stacked","BIcon","name","functional","render","h","_ref","data","parent","replace","concat","id","inline","novalidate","validated","BForm","children","class","attrs","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","_class","slots","scopedSlots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","html","$content","overlay","staticClass","$footer","hasFooterSlot","tag","rightAlign","verticalAlign","BMedia","$children","$aside","_makeModelMixin","type","defaultValue","event","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","formatter","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","mixins","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","watch","newValue","stringifyValue","modifiedValue","clearDebounce","created","$_inputDebounceTimer","mounted","$on","beforeDestroy","clearTimeout","formatValue","force","undefined","updateValue","_this","doUpdate","$emit","$input","setTimeout","onInput","composing","formattedValue","defaultPrevented","propagation","onChange","onBlur","focus","disabled","$el","blur","TYPES","list","max","min","noWheel","step","BFormInput","localType","computedAttrs","form","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","deactivated","activated","on","onWheelFocus","onWheelBlur","document","stopWheel","ref","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","rounded","sizes","srcset","thumbnail","BImg","join","title","titleTag","BCardTitle","computeJustifyContent","cardHeader","fill","justified","pills","small","tabs","vertical","BNav","_watch","parseCountDown","show","parseShow","dismissLabel","dismissible","fade","variant","BAlert","countDown","localShow","clearCountDownInterval","$_countDownTimeout","$nextTick","$_filterTimer","dismiss","$alert","$dismissButton","click","normalizeSlot","role","noFade","_objectSpread2","MODEL_PROP_NAME_ACTIVE","MODEL_EVENT_NAME_ACTIVE","BTab","inject","bvTabs","default","localActive","_isTab","tabClasses","active","activeTabClass","controlledBy","buttonId","computedNoFade","computedLazy","oldValue","activate","deactivate","firstTab","registerTab","updated","updateButton","hasNormalizedSlot","unregisterTab","activateTab","deactivateTab","directives","mode","bodyClass","BCardBody","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","BMediaAside","BMediaBody","_vm","_h","$createElement","_c","_self","_u","fn","_v","proxy","options","general","_e","info","social","notification","staticRenderFns","optionsLocal","avatar","rawName","expression","modifiers","$event","refInputEl","inputImageRenderer","model","callback","$$v","profileFile","$set","preventDefault","resetForm","BButton","BFormFile","BFormGroup","BRow","BCol","BCardText","BLink","Ripple","generalData","JSON","parse","stringify","setup","previewEl","component","passwordFieldTypeOld","passwordValueOld","passwordToggleIconOld","togglePasswordOld","passwordFieldTypeNew","newPasswordValue","passwordToggleIconNew","togglePasswordNew","passwordFieldTypeRetype","RetypePassword","passwordToggleIconRetype","togglePasswordRetype","BInputGroup","BInputGroupAppend","localOptions","$store","state","appConfig","isRTL","countryOption","clevePhone","BFormTextarea","vSelect","flatPickr","Cleave","informationData","phone","phoneRegionCode","socialLinks","BAvatar","socialData","commentOnArticle","AnswerOnForm","followMe","BFormCheckbox","notificationData","BTabs","AccountSettingGeneral","AccountSettingPassword","AccountSettingInformation","AccountSettingSocial","AccountSettingNotification","beforeCreate","$http","then","stableSort","array","compareFn","map","a","index","sort","b","e","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","prototype","OBSERVER_PROP_NAME","VisibilityObserver","el","vnode","margin","once","observer","visible","doneOnce","createObserver","stop","IntersectionObserver","handler","root","rootMargin","threshold","_unused","context","observe","entries","entry","isIntersecting","Boolean","intersectionRatio","disconnect","destroy","mod","test","toLowerCase","_prevModifiers","unbind","VBVisible","componentUpdated","maxRows","noAutoShrink","noResize","rows","wrap","listeners","heightInPx","computedStyle","styles","resize","computedRows","overflowY","computedMinRows","math","computedMaxRows","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","offset","minHeight","oldHeight","scrollHeight","contentRows","style","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","reduce","alignContent","alignH","alignV","noGutters","_classList$push","classList","c","plain","formCustomMixin","custom","size","formSizeMixin","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","useInputImageRenderer","inputEl","file","files","reader","FileReader","addEventListener","result","readAsDataURL","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","bvGroup","from","isChecked","checked","computedLocalChecked","isRadio","setIndeterminate","computedLocalCheckedWatcher","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","slice","isGroup","validator","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","every","v","getDataTransferItemEntry","item","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","Promise","all","kind","isDirectory","getAllFileEntriesInDirectory","createReader","isFile","resolve","$path","directoryReader","path","entryPromises","readDirectoryEntries","readEntries","accept","browseText","capture","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","inheritAttrs","dragging","dropAllowed","hasFocus","computedAccept","split","extOrType","startMatch","endMatch","rx","RegExp","computedCapture","bvAttrs","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","labelContent","allowed","filesTraversed","names","reset","$_form","$form","isFileValid","some","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","items","add","_unused2","handleFiles","isDrop","filteredFiles","focusHandler","_this2","_event$dataTransfer","webkitRelativePath","onDragenter","_event$dataTransfer2","dropEffect","onDragover","_event$dataTransfer3","onDragleave","_this3","onDrop","_this4","zIndex","focusin","focusout","$label","for","pointerEvents","dragenter","dragover","dragleave","drop","_methods","ariaLabel","ariaLabelledby","button","buttonVariant","formRadioCheckMixin","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","computedSize","computedState","computedButtonVariant","buttonClasses","handleFocus","$button","textTag","SELECTOR","autofocus","formControlMixin","handleAutofocus","CLASS_NAME","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","linkProps","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","square","text","bvAvatarGroup","localSrc","computedVariant","computedRounded","fontStyle","fontSize","indexOf","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","onImgError","onClick","_class2","link","error","$badge","hasBadgeSlot","badgeText","componentData","notDisabled","tab","BVTabButton","controls","noKeyNav","posInSet","setSize","tabIndex","handleEvt","keyCode","shiftKey","_this$tab","titleItemClass","titleLinkClass","titleLinkAttributes","$link","activeNavItemClass","tabindex","keydown","navProps","contentClass","navClass","navWrapperClass","noNavStyle","provide","currentTab","registeredTabs","localNavClass","classes","$tab","previousTab","nextTab","updateTabs","$_observer","setObserver","$t","content","childList","subtree","attributes","attributeFilter","getTabs","$tabs","order","selector","reverse","find","getButtonForTab","$btn","$forceUpdate","tabEvent","cancelable","vueTarget","componentId","focusButton","emitTabClick","clickTab","currentIndex","lastTab","$activeTab","$fallbackTab","$buttons","_on","refInFor","$nav","$empty","col","row"],"mappings":"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","file":"js/chunk-73846426.b455cb61.js","sourcesContent":["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 { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\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('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { 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 } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\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 { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': 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 noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\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_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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_NAV } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Helper methods ---\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n align: makeProp(PROP_TYPE_STRING),\n // Set to `true` if placing in a card header\n cardHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n fill: makeProp(PROP_TYPE_BOOLEAN, false),\n justified: makeProp(PROP_TYPE_BOOLEAN, false),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tabs: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'ul'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_NAV); // --- Main component ---\n// @vue/component\n\nexport var BNav = /*#__PURE__*/Vue.extend({\n name: NAME_NAV,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tabs = props.tabs,\n pills = props.pills,\n vertical = props.vertical,\n align = props.align,\n cardHeader = props.cardHeader;\n return h(props.tag, mergeData(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': tabs,\n 'nav-pills': pills && !tabs,\n 'card-header-tabs': !vertical && cardHeader && tabs,\n 'card-header-pills': !vertical && cardHeader && pills && !tabs,\n 'flex-column': vertical,\n 'nav-fill': !vertical && props.fill,\n 'nav-justified': !vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(align), !vertical && align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_ALERT } from '../../constants/components';\nimport { EVENT_NAME_DISMISSED, EVENT_NAME_DISMISS_COUNT_DOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DISMISS } from '../../constants/slots';\nimport { requestAF } from '../../utils/dom';\nimport { isBoolean, isNumeric } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('show', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Convert `show` value to a number\n\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || isBoolean(show)) {\n return 0;\n }\n\n show = toInteger(show, 0);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (toInteger(show, 0) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return !!show;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n dismissLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n dismissible: makeProp(PROP_TYPE_BOOLEAN, false),\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING, 'info')\n})), NAME_ALERT); // --- Main component ---\n// @vue/component\n\nexport var BAlert = /*#__PURE__*/Vue.extend({\n name: NAME_ALERT,\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this[MODEL_PROP_NAME])\n };\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.countDown = parseCountDown(newValue);\n this.localShow = parseShow(newValue);\n }), _defineProperty(_watch, \"countDown\", function countDown(newValue) {\n var _this = this;\n\n this.clearCountDownInterval();\n var show = this[MODEL_PROP_NAME]; // Ignore if `show` transitions to a boolean value\n\n if (isNumeric(show)) {\n this.$emit(EVENT_NAME_DISMISS_COUNT_DOWN, newValue); // Update the v-model if needed\n\n if (show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n\n if (newValue > 0) {\n this.localShow = true;\n this.$_countDownTimeout = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n requestAF(function () {\n _this.localShow = false;\n });\n });\n }\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n var show = this[MODEL_PROP_NAME]; // Only emit dismissed events for dismissible or auto-dismissing alerts\n\n if (!newValue && (this.dismissible || isNumeric(show))) {\n this.$emit(EVENT_NAME_DISMISSED);\n } // Only emit booleans if we weren't passed a number via v-model\n\n\n if (!isNumeric(show) && show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_filterTimer = null;\n var show = this[MODEL_PROP_NAME];\n this.countDown = parseCountDown(show);\n this.localShow = parseShow(show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCountDownInterval();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearCountDownInterval();\n this.countDown = 0;\n this.localShow = false;\n },\n clearCountDownInterval: function clearCountDownInterval() {\n clearTimeout(this.$_countDownTimeout);\n this.$_countDownTimeout = null;\n }\n },\n render: function render(h) {\n var $alert = h();\n\n if (this.localShow) {\n var dismissible = this.dismissible,\n variant = this.variant;\n var $dismissButton = h();\n\n if (dismissible) {\n // Add dismiss button\n $dismissButton = h(BButtonClose, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot(SLOT_NAME_DISMISS)]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': dismissible\n }, \"alert-\".concat(variant), variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n },\n key: this[COMPONENT_UID_KEY]\n }, [$dismissButton, this.normalizeSlot()]);\n }\n\n return h(BVTransition, {\n props: {\n noFade: !this.fade\n }\n }, [$alert]);\n }\n});","var _objectSpread2, _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_TAB } from '../../constants/components';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_TITLE } from '../../constants/slots';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar MODEL_PROP_NAME_ACTIVE = 'active';\nvar MODEL_EVENT_NAME_ACTIVE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ACTIVE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_ACTIVE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"buttonId\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"disabled\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"lazy\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"noBody\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"tag\", makeProp(PROP_TYPE_STRING, 'div')), _defineProperty(_objectSpread2, \"title\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"titleItemClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _defineProperty(_objectSpread2, \"titleLinkAttributes\", makeProp(PROP_TYPE_OBJECT)), _defineProperty(_objectSpread2, \"titleLinkClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _objectSpread2))), NAME_TAB); // --- Main component ---\n// @vue/component\n\nexport var BTab = /*#__PURE__*/Vue.extend({\n name: NAME_TAB,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n bvTabs: {\n default: function _default() {\n return {};\n }\n }\n },\n props: props,\n data: function data() {\n return {\n localActive: this[MODEL_PROP_NAME_ACTIVE] && !this.disabled\n };\n },\n computed: {\n // For parent sniffing of child\n _isTab: function _isTab() {\n return true;\n },\n tabClasses: function tabClasses() {\n var active = this.localActive,\n disabled = this.disabled;\n return [{\n active: active,\n disabled: disabled,\n 'card-body': this.bvTabs.card && !this.noBody\n }, // Apply `activeTabClass` styles when this tab is active\n active ? this.bvTabs.activeTabClass : null];\n },\n controlledBy: function controlledBy() {\n return this.buttonId || this.safeId('__BV_tab_button__');\n },\n computedNoFade: function computedNoFade() {\n return !(this.bvTabs.fade || false);\n },\n computedLazy: function computedLazy() {\n return this.bvTabs.lazy || this.lazy;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_ACTIVE, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (newValue) {\n // If activated post mount\n this.activate();\n } else {\n /* istanbul ignore next */\n if (!this.deactivate()) {\n // Tab couldn't be deactivated, so we reset the synced active prop\n // Deactivation will fail if no other tabs to activate\n this.$emit(MODEL_EVENT_NAME_ACTIVE, this.localActive);\n }\n }\n }\n }), _defineProperty(_watch, \"disabled\", function disabled(newValue, oldValue) {\n if (newValue !== oldValue) {\n var firstTab = this.bvTabs.firstTab;\n\n if (newValue && this.localActive && firstTab) {\n this.localActive = false;\n firstTab();\n }\n }\n }), _defineProperty(_watch, \"localActive\", function localActive(newValue) {\n // Make `active` prop work with `.sync` modifier\n this.$emit(MODEL_EVENT_NAME_ACTIVE, newValue);\n }), _watch),\n mounted: function mounted() {\n // Inform `` of our presence\n this.registerTab();\n },\n updated: function updated() {\n // Force the tab button content to update (since slots are not reactive)\n // Only done if we have a title slot, as the title prop is reactive\n var updateButton = this.bvTabs.updateButton;\n\n if (updateButton && this.hasNormalizedSlot(SLOT_NAME_TITLE)) {\n updateButton(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Inform `` of our departure\n this.unregisterTab();\n },\n methods: {\n // Private methods\n registerTab: function registerTab() {\n // Inform `` of our presence\n var registerTab = this.bvTabs.registerTab;\n\n if (registerTab) {\n registerTab(this);\n }\n },\n unregisterTab: function unregisterTab() {\n // Inform `` of our departure\n var unregisterTab = this.bvTabs.unregisterTab;\n\n if (unregisterTab) {\n unregisterTab(this);\n }\n },\n // Public methods\n activate: function activate() {\n // Not inside a `` component or tab is disabled\n var activateTab = this.bvTabs.activateTab;\n return activateTab && !this.disabled ? activateTab(this) : false;\n },\n deactivate: function deactivate() {\n // Not inside a `` component or not active to begin with\n var deactivateTab = this.bvTabs.deactivateTab;\n return deactivateTab && this.localActive ? deactivateTab(this) : false;\n }\n },\n render: function render(h) {\n var localActive = this.localActive;\n var $content = h(this.tag, {\n staticClass: 'tab-pane',\n class: this.tabClasses,\n directives: [{\n name: 'show',\n value: localActive\n }],\n attrs: {\n role: 'tabpanel',\n id: this.safeId(),\n 'aria-hidden': localActive ? 'false' : 'true',\n 'aria-labelledby': this.controlledBy || null\n },\n ref: 'panel'\n }, // Render content lazily if requested\n [localActive || !this.computedLazy ? this.normalizeSlot() : h()]);\n return h(BVTransition, {\n props: {\n mode: 'out-in',\n noFade: this.computedNoFade\n }\n }, [$content]);\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_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 _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_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\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 verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\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.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-tabs',{attrs:{\"vertical\":\"\",\"content-class\":\"col-12 col-md-9 mt-1 mt-md-0\",\"pills\":\"\",\"nav-wrapper-class\":\"col-md-3 col-12\",\"nav-class\":\"nav-left\"}},[_c('b-tab',{attrs:{\"active\":\"\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"UserIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"General\")])]},proxy:true}])},[(_vm.options.general)?_c('account-setting-general',{attrs:{\"general-data\":_vm.options.general}}):_vm._e()],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"LockIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Change Password\")])]},proxy:true}])},[_c('account-setting-password')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"InfoIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Information\")])]},proxy:true}])},[(_vm.options.info)?_c('account-setting-information',{attrs:{\"information-data\":_vm.options.info}}):_vm._e()],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"LinkIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Social\")])]},proxy:true}])},[(_vm.options.social)?_c('account-setting-social',{attrs:{\"social-data\":_vm.options.social}}):_vm._e()],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"BellIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Notifications\")])]},proxy:true}])},[(_vm.options.notification)?_c('account-setting-notification',{attrs:{\"notification-data\":_vm.options.notification}}):_vm._e()],1)],1)}\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',[_c('b-media',{attrs:{\"no-body\":\"\"}},[_c('b-media-aside',[_c('b-link',[_c('b-img',{ref:\"previewEl\",attrs:{\"rounded\":\"\",\"src\":_vm.optionsLocal.avatar,\"height\":\"80\"}})],1)],1),_c('b-media-body',{staticClass:\"mt-75 ml-75\"},[_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}}],staticClass:\"mb-75 mr-75\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.$refs.refInputEl.$el.click()}}},[_vm._v(\" Upload \")]),_c('b-form-file',{ref:\"refInputEl\",attrs:{\"accept\":\".jpg, .png, .gif\",\"hidden\":true,\"plain\":\"\"},on:{\"input\":_vm.inputImageRenderer},model:{value:(_vm.profileFile),callback:function ($$v) {_vm.profileFile=$$v},expression:\"profileFile\"}}),_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:\"mb-75 mr-75\",attrs:{\"variant\":\"outline-secondary\",\"size\":\"sm\"}},[_vm._v(\" Reset \")]),_c('b-card-text',[_vm._v(\"Allowed JPG, GIF or PNG. Max size of 800kB\")])],1)],1),_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Username\",\"label-for\":\"account-username\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Username\",\"name\":\"username\"},model:{value:(_vm.optionsLocal.username),callback:function ($$v) {_vm.$set(_vm.optionsLocal, \"username\", $$v)},expression:\"optionsLocal.username\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Name\",\"label-for\":\"account-name\"}},[_c('b-form-input',{attrs:{\"name\":\"name\",\"placeholder\":\"Name\"},model:{value:(_vm.optionsLocal.fullName),callback:function ($$v) {_vm.$set(_vm.optionsLocal, \"fullName\", $$v)},expression:\"optionsLocal.fullName\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"E-mail\",\"label-for\":\"account-e-mail\"}},[_c('b-form-input',{attrs:{\"name\":\"email\",\"placeholder\":\"Email\"},model:{value:(_vm.optionsLocal.email),callback:function ($$v) {_vm.$set(_vm.optionsLocal, \"email\", $$v)},expression:\"optionsLocal.email\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Company\",\"label-for\":\"account-company\"}},[_c('b-form-input',{attrs:{\"name\":\"company\",\"placeholder\":\"Company name\"},model:{value:(_vm.optionsLocal.company),callback:function ($$v) {_vm.$set(_vm.optionsLocal, \"company\", $$v)},expression:\"optionsLocal.company\"}})],1)],1),_c('b-col',{staticClass:\"mt-75\",attrs:{\"cols\":\"12\"}},[_c('b-alert',{staticClass:\"mb-50\",attrs:{\"show\":\"\",\"variant\":\"warning\"}},[_c('h4',{staticClass:\"alert-heading\"},[_vm._v(\" Your email is not confirmed. Please check your inbox. \")]),_c('div',{staticClass:\"alert-body\"},[_c('b-link',{staticClass:\"alert-link\"},[_vm._v(\" Resend confirmation \")])],1)])],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_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}}],staticClass:\"mt-2 mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\" Save changes \")]),_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:\"mt-2\",attrs:{\"variant\":\"outline-secondary\",\"type\":\"reset\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_vm._v(\" Reset \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingGeneral.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingGeneral.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingGeneral.vue?vue&type=template&id=418faae0&\"\nimport script from \"./AccountSettingGeneral.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingGeneral.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('b-form',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Old Password\",\"label-for\":\"account-old-password\"}},[_c('b-input-group',{staticClass:\"input-group-merge\"},[_c('b-form-input',{attrs:{\"id\":\"account-old-password\",\"name\":\"old-password\",\"type\":_vm.passwordFieldTypeOld,\"placeholder\":\"Old Password\"},model:{value:(_vm.passwordValueOld),callback:function ($$v) {_vm.passwordValueOld=$$v},expression:\"passwordValueOld\"}}),_c('b-input-group-append',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":_vm.passwordToggleIconOld},on:{\"click\":_vm.togglePasswordOld}})],1)],1)],1)],1)],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-new-password\",\"label\":\"New Password\"}},[_c('b-input-group',{staticClass:\"input-group-merge\"},[_c('b-form-input',{attrs:{\"id\":\"account-new-password\",\"type\":_vm.passwordFieldTypeNew,\"name\":\"new-password\",\"placeholder\":\"New Password\"},model:{value:(_vm.newPasswordValue),callback:function ($$v) {_vm.newPasswordValue=$$v},expression:\"newPasswordValue\"}}),_c('b-input-group-append',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":_vm.passwordToggleIconNew},on:{\"click\":_vm.togglePasswordNew}})],1)],1)],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-retype-new-password\",\"label\":\"Retype New Password\"}},[_c('b-input-group',{staticClass:\"input-group-merge\"},[_c('b-form-input',{attrs:{\"id\":\"account-retype-new-password\",\"type\":_vm.passwordFieldTypeRetype,\"name\":\"retype-password\",\"placeholder\":\"New Password\"},model:{value:(_vm.RetypePassword),callback:function ($$v) {_vm.RetypePassword=$$v},expression:\"RetypePassword\"}}),_c('b-input-group-append',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":_vm.passwordToggleIconRetype},on:{\"click\":_vm.togglePasswordRetype}})],1)],1)],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_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}}],staticClass:\"mt-1 mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\" Save changes \")]),_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:\"mt-1\",attrs:{\"type\":\"reset\",\"variant\":\"outline-secondary\"}},[_vm._v(\" Reset \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingPassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingPassword.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingPassword.vue?vue&type=template&id=21f0a574&\"\nimport script from \"./AccountSettingPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingPassword.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('b-form',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Bio\",\"label-for\":\"bio-area\"}},[_c('b-form-textarea',{attrs:{\"id\":\"bio-area\",\"rows\":\"4\",\"placeholder\":\"Your bio data here...\"},model:{value:(_vm.localOptions.bio),callback:function ($$v) {_vm.$set(_vm.localOptions, \"bio\", $$v)},expression:\"localOptions.bio\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"example-datepicker\",\"label\":\"Birth date\"}},[_c('flat-pickr',{staticClass:\"form-control\",attrs:{\"name\":\"date\",\"placeholder\":\"Birth date\"},model:{value:(_vm.localOptions.dob),callback:function ($$v) {_vm.$set(_vm.localOptions, \"dob\", $$v)},expression:\"localOptions.dob\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"countryList\",\"label\":\"Country\"}},[_c('v-select',{attrs:{\"id\":\"countryList\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"label\":\"title\",\"options\":_vm.countryOption},model:{value:(_vm.localOptions.country),callback:function ($$v) {_vm.$set(_vm.localOptions, \"country\", $$v)},expression:\"localOptions.country\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"website\",\"label\":\"Website\"}},[_c('b-form-input',{attrs:{\"id\":\"website\",\"placeholder\":\"Website address\"},model:{value:(_vm.localOptions.website),callback:function ($$v) {_vm.$set(_vm.localOptions, \"website\", $$v)},expression:\"localOptions.website\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"phone\",\"label\":\"Phone\"}},[_c('cleave',{staticClass:\"form-control\",attrs:{\"id\":\"phone\",\"raw\":false,\"options\":_vm.clevePhone,\"placeholder\":\"Phone number\"},model:{value:(_vm.localOptions.phone),callback:function ($$v) {_vm.$set(_vm.localOptions, \"phone\", $$v)},expression:\"localOptions.phone\"}})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_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}}],staticClass:\"mt-1 mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\" Save changes \")]),_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:\"mt-1\",attrs:{\"type\":\"reset\",\"variant\":\"outline-secondary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_vm._v(\" Reset \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingInformation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingInformation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingInformation.vue?vue&type=template&id=6c612c96&\"\nimport script from \"./AccountSettingInformation.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingInformation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AccountSettingInformation.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-form',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"d-flex align-items-center mb-2\"},[_c('feather-icon',{attrs:{\"icon\":\"LinkIcon\",\"size\":\"18\"}}),_c('h4',{staticClass:\"mb-0 ml-75\"},[_vm._v(\" Social Links \")])],1)]),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-twitter\",\"label\":\"Twitter\"}},[_c('b-form-input',{attrs:{\"id\":\"account-twitter\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.twitter),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"twitter\", $$v)},expression:\"localOptions.socialLinks.twitter\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-facebook\",\"label\":\"Facebook\"}},[_c('b-form-input',{attrs:{\"id\":\"account-facebook\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.facebook),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"facebook\", $$v)},expression:\"localOptions.socialLinks.facebook\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-google\",\"label\":\"Google+\"}},[_c('b-form-input',{attrs:{\"id\":\"account-google\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.google),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"google\", $$v)},expression:\"localOptions.socialLinks.google\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-linkedin\",\"label\":\"LinkedIn\"}},[_c('b-form-input',{attrs:{\"id\":\"account-linkedin\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.linkedIn),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"linkedIn\", $$v)},expression:\"localOptions.socialLinks.linkedIn\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Instagram\",\"label-for\":\"account-instagram\"}},[_c('b-form-input',{attrs:{\"id\":\"account-instagram\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.instagram),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"instagram\", $$v)},expression:\"localOptions.socialLinks.instagram\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-quora\",\"label\":\"Quora\"}},[_c('b-form-input',{attrs:{\"id\":\"account-quora\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.quora),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"quora\", $$v)},expression:\"localOptions.socialLinks.quora\"}})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('hr',{staticClass:\"my-2\"})]),_c('b-col',{attrs:{\"cols\":\"12\"}},[_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}}],staticClass:\"mt-1 mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\" Save changes \")]),_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:\"mt-1 ml-25\",attrs:{\"type\":\"reset\",\"variant\":\"outline-secondary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_vm._v(\" Cancel \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingSocial.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingSocial.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingSocial.vue?vue&type=template&id=e17a6be0&\"\nimport script from \"./AccountSettingSocial.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingSocial.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('b-row',[_c('h6',{staticClass:\"section-label mx-1 mb-2\"},[_vm._v(\" Activity \")]),_c('b-col',{staticClass:\"mb-2\",attrs:{\"cols\":\"12\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"accountSwitch1\",\"checked\":_vm.localOptions.commentOnArticle,\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\"}},[_c('span',[_vm._v(\"Email me when someone accept my request\")])])],1),_c('b-col',{staticClass:\"mb-2\",attrs:{\"cols\":\"12\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"accountSwitch2\",\"checked\":_vm.localOptions.AnswerOnForm,\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\"}},[_c('span',[_vm._v(\"Email me when someone add me to a group\")])])],1),_c('b-col',{staticClass:\"mb-2\",attrs:{\"cols\":\"12\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"accountSwitch3\",\"checked\":_vm.localOptions.followMe,\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\"}},[_c('span',[_vm._v(\"Email me when someone delete me from a group\")])])],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_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}}],staticClass:\"mr-1 mt-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\" Save changes \")]),_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:\"mt-1\",attrs:{\"type\":\"reset\",\"variant\":\"outline-secondary\"}},[_vm._v(\" Cancel \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingNotification.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingNotification.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingNotification.vue?vue&type=template&id=47932f60&\"\nimport script from \"./AccountSettingNotification.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingNotification.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","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSetting.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSetting.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSetting.vue?vue&type=template&id=3f5ae088&\"\nimport script from \"./AccountSetting.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSetting.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","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","function _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\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 { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","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});","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});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingInformation.vue?vue&type=style&index=0&lang=scss&\"","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_SUB_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n subTitle: makeProp(PROP_TYPE_STRING),\n subTitleTag: makeProp(PROP_TYPE_STRING, 'h6'),\n subTitleTextVariant: makeProp(PROP_TYPE_STRING, 'muted')\n}, NAME_CARD_SUB_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardSubTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_SUB_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.subTitleTag, mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || toString(props.subTitle));\n }\n});","export const useInputImageRenderer = (inputEl, callback) => {\n const inputImageRenderer = () => {\n const file = inputEl.value.files[0]\n const reader = new FileReader()\n\n reader.addEventListener(\n 'load',\n () => {\n callback(reader.result)\n },\n false,\n )\n\n if (file) {\n reader.readAsDataURL(file)\n }\n }\n return {\n inputImageRenderer,\n }\n}\n\nexport const _ = null\n","var _objectSpread2;\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_FORM_CHECKBOX } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { isArray } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { looseIndexOf } from '../../utils/loose-index-of';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check'; // --- Constants ---\n\nvar MODEL_PROP_NAME_INDETERMINATE = 'indeterminate';\nvar MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formRadioCheckProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_INDETERMINATE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"switch\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"uncheckedValue\", makeProp(PROP_TYPE_ANY, false)), _defineProperty(_objectSpread2, \"value\", makeProp(PROP_TYPE_ANY, true)), _objectSpread2))), NAME_FORM_CHECKBOX); // --- Main component ---\n// @vue/component\n\nexport var BFormCheckbox = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props: props,\n computed: {\n isChecked: function isChecked() {\n var value = this.value,\n checked = this.computedLocalChecked;\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value);\n },\n isRadio: function isRadio() {\n return false;\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME_INDETERMINATE, function (newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue);\n }\n }),\n mounted: function mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE]);\n },\n methods: {\n computedLocalCheckedWatcher: function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n var $input = this.$refs.input;\n\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate);\n }\n }\n },\n handleChange: function handleChange(_ref) {\n var _this = this;\n\n var _ref$target = _ref.target,\n checked = _ref$target.checked,\n indeterminate = _ref$target.indeterminate;\n var value = this.value,\n uncheckedValue = this.uncheckedValue; // Update `computedLocalChecked`\n\n var localChecked = this.computedLocalChecked;\n\n if (isArray(localChecked)) {\n var index = looseIndexOf(localChecked, value);\n\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value);\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1));\n }\n } else {\n localChecked = checked ? value : uncheckedValue;\n }\n\n this.computedLocalChecked = localChecked; // 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 _this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate);\n });\n },\n setIndeterminate: function setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false;\n }\n\n var $input = this.$refs.input;\n\n if ($input) {\n $input.indeterminate = state; // Emit update event to prop\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state);\n }\n }\n }\n});","import { looseEqual } from './loose-equal'; // Assumes that the first argument is an array\n\nexport var looseIndexOf = function looseIndexOf(array, value) {\n for (var i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i;\n }\n }\n\n return -1;\n};","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_FILE } from '../../constants/components';\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env';\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DROP_PLACEHOLDER, SLOT_NAME_FILE_NAME, SLOT_NAME_PLACEHOLDER } from '../../constants/slots';\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex';\nimport { File } from '../../constants/safe-types';\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array';\nimport { cloneDeep } from '../../utils/clone-deep';\nimport { closest } from '../../utils/dom';\nimport { eventOn, eventOff, stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props';\nimport { escapeRegExp } from '../../utils/string';\nimport { warn } from '../../utils/warn';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { props as formSizeProps } from '../../mixins/form-size'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: function validator(value) {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE);\n return true;\n }\n\n return isUndefinedOrNull(value) || isValidValue(value);\n }\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar VALUE_EMPTY_DEPRECATED_MSG = 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'; // --- Helper methods ---\n\nvar isValidValue = function isValidValue(value) {\n return isFile(value) || isArray(value) && value.every(function (v) {\n return isValidValue(v);\n });\n}; // Helper method to \"safely\" get the entry from a data-transfer item\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getDataTransferItemEntry = function getDataTransferItemEntry(item) {\n return isFunction(item.getAsEntry) ? item.getAsEntry() : isFunction(item.webkitGetAsEntry) ? item.webkitGetAsEntry() : null;\n}; // Drop handler function to get all files\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getAllFileEntries = function getAllFileEntries(dataTransferItemList) {\n var traverseDirectories = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return Promise.all(arrayFrom(dataTransferItemList).filter(function (item) {\n return item.kind === 'file';\n }).map(function (item) {\n var entry = getDataTransferItemEntry(item);\n\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), \"\".concat(entry.name, \"/\"));\n } else if (entry.isFile) {\n return new Promise(function (resolve) {\n entry.file(function (file) {\n file.$path = '';\n resolve(file);\n });\n });\n }\n }\n\n return null;\n }).filter(identity));\n}; // Get all the file entries (recursive) in a directory\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getAllFileEntriesInDirectory = function getAllFileEntriesInDirectory(directoryReader) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var entryPromises = [];\n\n var readDirectoryEntries = function readDirectoryEntries() {\n directoryReader.readEntries(function (entries) {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(function (entries) {\n return flatten(entries);\n }));\n } else {\n entryPromises.push(Promise.all(entries.map(function (entry) {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(entry.createReader(), \"\".concat(path).concat(entry.name, \"/\"));\n } else if (entry.isFile) {\n return new Promise(function (resolve) {\n entry.file(function (file) {\n file.$path = \"\".concat(path).concat(file.name);\n resolve(file);\n });\n });\n }\n }\n\n return null;\n }).filter(identity)));\n readDirectoryEntries();\n }\n });\n };\n\n readDirectoryEntries();\n });\n}; // --- Props ---\n\n\nvar props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formCustomProps), formStateProps), formSizeProps), {}, {\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n})), NAME_FORM_FILE); // --- Main component ---\n// @vue/component\n\nexport var BFormFile = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formStateMixin, formCustomMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n };\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept: function computedAccept() {\n var accept = this.accept;\n accept = (accept || '').trim().split(/[,\\s]+/).filter(identity); // Allow any file type/extension\n\n if (accept.length === 0) {\n return null;\n }\n\n return accept.map(function (extOrType) {\n var prop = 'name';\n var startMatch = '^';\n var endMatch = '$';\n\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = '';\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type';\n\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'; // Remove trailing `*`\n\n extOrType = extOrType.slice(0, -1);\n }\n } // Escape all RegExp special chars\n\n\n extOrType = escapeRegExp(extOrType);\n var rx = new RegExp(\"\".concat(startMatch).concat(extOrType).concat(endMatch));\n return {\n rx: rx,\n prop: prop\n };\n });\n },\n computedCapture: function computedCapture() {\n var capture = this.capture;\n return capture === true || capture === '' ? true : capture || null;\n },\n computedAttrs: function computedAttrs() {\n var name = this.name,\n disabled = this.disabled,\n required = this.required,\n form = this.form,\n computedCapture = this.computedCapture,\n accept = this.accept,\n multiple = this.multiple,\n directory = this.directory;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n type: 'file',\n id: this.safeId(),\n name: name,\n disabled: disabled,\n required: required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple: multiple,\n directory: directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n });\n },\n computedFileNameFormatter: function computedFileNameFormatter() {\n var fileNameFormatter = this.fileNameFormatter;\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter;\n },\n clonedFiles: function clonedFiles() {\n return cloneDeep(this.files);\n },\n flattenedFiles: function flattenedFiles() {\n return flattenDeep(this.files);\n },\n fileNames: function fileNames() {\n return this.flattenedFiles.map(function (file) {\n return file.name;\n });\n },\n labelContent: function labelContent() {\n // Draging active\n\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (// TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, {\n allowed: this.dropAllowed\n }) || (this.dropAllowed ? this.dropPlaceholder : this.$createElement('span', {\n staticClass: 'text-danger'\n }, this.noDropPlaceholder))\n );\n } // No file chosen\n\n\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder;\n }\n\n var flattenedFiles = this.flattenedFiles,\n clonedFiles = this.clonedFiles,\n fileNames = this.fileNames,\n computedFileNameFormatter = this.computedFileNameFormatter; // There is a slot for formatting the files/names\n\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n });\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (!newValue || isArray(newValue) && newValue.length === 0) {\n this.reset();\n }\n }), _defineProperty(_watch, \"files\", function files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n var multiple = this.multiple,\n noTraverse = this.noTraverse;\n var files = !multiple || noTraverse ? flattenDeep(newValue) : newValue;\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_form = null;\n },\n mounted: function mounted() {\n // Listen for form reset events, to reset the file input\n var $form = closest('form', this.$el);\n\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE);\n this.$_form = $form;\n }\n },\n beforeDestroy: function beforeDestroy() {\n var $form = this.$_form;\n\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE);\n }\n },\n methods: {\n isFileValid: function isFileValid(file) {\n if (!file) {\n return false;\n }\n\n var accept = this.computedAccept;\n return accept ? accept.some(function (a) {\n return a.rx.test(file[a.prop]);\n }) : true;\n },\n isFilesArrayValid: function isFilesArrayValid(files) {\n var _this = this;\n\n return isArray(files) ? files.every(function (file) {\n return _this.isFileValid(file);\n }) : this.isFileValid(files);\n },\n defaultFileNameFormatter: function defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ');\n },\n setFiles: function setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop;\n this.dragging = false; // Set the selected files\n\n this.files = this.multiple ? this.directory ? files : flattenDeep(files) : flattenDeep(files).slice(0, 1);\n },\n\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles: function setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n var dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer(); // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n\n flattenDeep(cloneDeep(files)).forEach(function (file) {\n // Make sure to remove the custom `$path` attribute\n delete file.$path;\n dataTransfer.items.add(file);\n });\n this.$refs.input.files = dataTransfer.files;\n } catch (_unused) {}\n },\n reset: function reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n var $input = this.$refs.input;\n $input.value = '';\n $input.type = '';\n $input.type = 'file';\n } catch (_unused2) {}\n\n this.files = [];\n },\n handleFiles: function handleFiles(files) {\n var isDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n var filteredFiles = files.filter(this.isFilesArrayValid); // Only update files when we have any after filtering\n\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles); // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n\n this.setInputFiles(filteredFiles);\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files);\n }\n },\n focusHandler: function focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false;\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true;\n }\n },\n onChange: function onChange(event) {\n var _this2 = this;\n\n var type = event.type,\n target = event.target,\n _event$dataTransfer = event.dataTransfer,\n dataTransfer = _event$dataTransfer === void 0 ? {} : _event$dataTransfer;\n var isDrop = type === 'drop'; // Always emit original event\n\n this.$emit(EVENT_NAME_CHANGE, event);\n var items = arrayFrom(dataTransfer.items || []);\n\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(function (files) {\n return _this2.handleFiles(files, isDrop);\n });\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n var files = arrayFrom(target.files || dataTransfer.files || []).map(function (file) {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || '';\n return file;\n });\n this.handleFiles(files, isDrop);\n }\n },\n onDragenter: function onDragenter(event) {\n stopEvent(event);\n this.dragging = true;\n var _event$dataTransfer2 = event.dataTransfer,\n dataTransfer = _event$dataTransfer2 === void 0 ? {} : _event$dataTransfer2; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none';\n this.dropAllowed = false;\n return;\n }\n /* istanbul ignore next: not supported in JSDOM */\n\n\n dataTransfer.dropEffect = 'copy';\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover: function onDragover(event) {\n stopEvent(event);\n this.dragging = true;\n var _event$dataTransfer3 = event.dataTransfer,\n dataTransfer = _event$dataTransfer3 === void 0 ? {} : _event$dataTransfer3; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none';\n this.dropAllowed = false;\n return;\n }\n /* istanbul ignore next: not supported in JSDOM */\n\n\n dataTransfer.dropEffect = 'copy';\n },\n onDragleave: function onDragleave(event) {\n var _this3 = this;\n\n stopEvent(event);\n this.$nextTick(function () {\n _this3.dragging = false; // Reset `dropAllowed` to default\n\n _this3.dropAllowed = !_this3.noDrop;\n });\n },\n // Triggered by a file drop onto drop target\n onDrop: function onDrop(event) {\n var _this4 = this;\n\n stopEvent(event);\n this.dragging = false; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(function () {\n // Reset `dropAllowed` to default\n _this4.dropAllowed = !_this4.noDrop;\n });\n return;\n }\n\n this.onChange(event);\n }\n },\n render: function render(h) {\n var custom = this.custom,\n plain = this.plain,\n size = this.size,\n dragging = this.dragging,\n stateClass = this.stateClass,\n bvAttrs = this.bvAttrs; // Form Input\n\n var $input = h('input', {\n class: [{\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n }, stateClass],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? {\n zIndex: -5\n } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n });\n\n if (plain) {\n return $input;\n } // Overlay label\n\n\n var $label = h('label', {\n staticClass: 'custom-file-label',\n class: {\n dragging: dragging\n },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n }, [h('span', {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: {\n pointerEvents: 'none'\n }\n }, [this.labelContent])]); // Return rendered custom file input\n\n return h('div', {\n staticClass: 'custom-file b-form-file',\n class: [_defineProperty({}, \"b-custom-control-\".concat(size), size), stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: {\n id: this.safeId('_BV_file_outer_')\n },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n }, [$input, $label]);\n }\n});","var _watch, _methods;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { EVENT_NAME_CHANGE } from '../constants/events';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { isBoolean } from '../utils/inspect';\nimport { looseEqual } from '../utils/loose-equal';\nimport { makeModelMixin } from '../utils/model';\nimport { sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { attrsMixin } from './attrs';\nimport { formControlMixin, props as formControlProps } from './form-control';\nimport { formCustomMixin, props as formCustomProps } from './form-custom';\nimport { formSizeMixin, props as formSizeProps } from './form-size';\nimport { formStateMixin, props as formStateProps } from './form-state';\nimport { idMixin, props as idProps } from './id';\nimport { normalizeSlotMixin } from './normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('checked', {\n defaultValue: null\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formSizeProps), formStateProps), formCustomProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n})), 'formRadioCheckControls'); // --- Mixin ---\n// @vue/component\n\nexport var formRadioCheckMixin = Vue.extend({\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formSizeMixin, formStateMixin, formCustomMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value;\n } else {\n this.localChecked = value;\n }\n }\n },\n isChecked: function isChecked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n isRadio: function isRadio() {\n return true;\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup;\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required);\n },\n computedName: function computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n computedForm: function computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n computedSize: function computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n computedState: function computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null;\n },\n computedButtonVariant: function computedButtonVariant() {\n // Local variant preferred over group variant\n var buttonVariant = this.buttonVariant;\n\n if (buttonVariant) {\n return buttonVariant;\n }\n\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n }\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n var computedSize = this.computedSize;\n return ['btn', \"btn-\".concat(this.computedButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(computedSize), computedSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.isDisabled,\n required = this.isRequired;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled: disabled,\n required: required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function () {\n this[\"\".concat(MODEL_PROP_NAME, \"Watcher\")].apply(this, arguments);\n }), _defineProperty(_watch, \"computedLocalChecked\", function computedLocalChecked() {\n this.computedLocalCheckedWatcher.apply(this, arguments);\n }), _watch),\n methods: (_methods = {}, _defineProperty(_methods, \"\".concat(MODEL_PROP_NAME, \"Watcher\"), function Watcher(newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue;\n }\n }), _defineProperty(_methods, \"computedLocalCheckedWatcher\", function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_methods, \"handleChange\", function handleChange(_ref2) {\n var _this = this;\n\n var checked = _ref2.target.checked;\n var value = this.value;\n var localChecked = checked ? value : null;\n this.computedLocalChecked = value; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n });\n }), _defineProperty(_methods, \"handleFocus\", function handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true;\n } else if (event.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }), _defineProperty(_methods, \"focus\", function focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input);\n }\n }), _defineProperty(_methods, \"blur\", function blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input);\n }\n }), _methods),\n render: function render(h) {\n var isRadio = this.isRadio,\n isBtnMode = this.isBtnMode,\n isPlain = this.isPlain,\n isCustom = this.isCustom,\n isInline = this.isInline,\n isSwitch = this.isSwitch,\n computedSize = this.computedSize,\n bvAttrs = this.bvAttrs;\n var $content = this.normalizeSlot();\n var $input = h('input', {\n class: [{\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n }, isBtnMode ? '' : this.stateClass],\n directives: [{\n name: 'model',\n value: this.computedLocalChecked\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: _objectSpread({\n change: this.handleChange\n }, isBtnMode ? {\n focus: this.handleFocus,\n blur: this.handleFocus\n } : {}),\n key: 'input',\n ref: 'input'\n });\n\n if (isBtnMode) {\n var $button = h('label', {\n class: this.buttonClasses\n }, [$input, $content]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [$button]);\n }\n\n return $button;\n } // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n\n var $label = h();\n\n if (!(isPlain && !$content)) {\n $label = h('label', {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, $content);\n }\n\n return h('div', {\n class: [_defineProperty({\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio\n }, \"b-custom-control-\".concat(computedSize), computedSize && !isBtnMode), bvAttrs.class],\n style: bvAttrs.style\n }, [$input, $label]);\n }\n});","import { Vue } from '../vue';\nimport { NAME_CARD } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n bgVariant: makeProp(PROP_TYPE_STRING),\n borderVariant: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_CARD); // --- Mixin ---\n// @vue/component\n\nexport var cardMixin = Vue.extend({\n props: props\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_TABS, NAME_TAB_BUTTON_HELPER } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_ACTIVATE_TAB, EVENT_NAME_CHANGED, EVENT_NAME_CLICK, EVENT_NAME_FIRST, EVENT_NAME_LAST, EVENT_NAME_NEXT, EVENT_NAME_PREV } from '../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_TABS_END, SLOT_NAME_TABS_START, SLOT_NAME_TITLE } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, selectAll, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isEvent } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { mathMax } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { stableSort } from '../../utils/stable-sort';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink } from '../link/link';\nimport { BNav, props as BNavProps } from '../nav/nav'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Filter function to filter out disabled tabs\n\n\nvar notDisabled = function notDisabled(tab) {\n return !tab.disabled;\n}; // --- Helper components ---\n// @vue/component\n\n\nvar BVTabButton = /*#__PURE__*/Vue.extend({\n name: NAME_TAB_BUTTON_HELPER,\n inject: {\n bvTabs: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n props: {\n controls: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n posInSet: makeProp(PROP_TYPE_NUMBER),\n setSize: makeProp(PROP_TYPE_NUMBER),\n // Reference to the child instance\n tab: makeProp(),\n tabIndex: makeProp(PROP_TYPE_NUMBER)\n },\n methods: {\n focus: function focus() {\n attemptFocus(this.$refs.link);\n },\n handleEvt: function handleEvt(event) {\n /* istanbul ignore next */\n if (this.tab.disabled) {\n return;\n }\n\n var type = event.type,\n keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (type === 'click') {\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && keyCode === CODE_SPACE) {\n // For ARIA tabs the SPACE key will also trigger a click/select\n // Even with keyboard navigation disabled, SPACE should \"click\" the button\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/4323\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if ([CODE_UP, CODE_LEFT, CODE_HOME].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_HOME) {\n this.$emit(EVENT_NAME_FIRST, event);\n } else {\n this.$emit(EVENT_NAME_PREV, event);\n }\n } else if ([CODE_DOWN, CODE_RIGHT, CODE_END].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_END) {\n this.$emit(EVENT_NAME_LAST, event);\n } else {\n this.$emit(EVENT_NAME_NEXT, event);\n }\n }\n }\n }\n },\n render: function render(h) {\n var id = this.id,\n tabIndex = this.tabIndex,\n setSize = this.setSize,\n posInSet = this.posInSet,\n controls = this.controls,\n handleEvt = this.handleEvt;\n var _this$tab = this.tab,\n title = _this$tab.title,\n localActive = _this$tab.localActive,\n disabled = _this$tab.disabled,\n titleItemClass = _this$tab.titleItemClass,\n titleLinkClass = _this$tab.titleLinkClass,\n titleLinkAttributes = _this$tab.titleLinkAttributes;\n var $link = h(BLink, {\n staticClass: 'nav-link',\n class: [{\n active: localActive && !disabled,\n disabled: disabled\n }, titleLinkClass, // Apply `activeNavItemClass` styles when the tab is active\n localActive ? this.bvTabs.activeNavItemClass : null],\n props: {\n disabled: disabled\n },\n attrs: _objectSpread(_objectSpread({}, titleLinkAttributes), {}, {\n id: id,\n role: 'tab',\n // Roving tab index when keynav enabled\n tabindex: tabIndex,\n 'aria-selected': localActive && !disabled ? 'true' : 'false',\n 'aria-setsize': setSize,\n 'aria-posinset': posInSet,\n 'aria-controls': controls\n }),\n on: {\n click: handleEvt,\n keydown: handleEvt\n },\n ref: 'link'\n }, [this.tab.normalizeSlot(SLOT_NAME_TITLE) || title]);\n return h('li', {\n staticClass: 'nav-item',\n class: [titleItemClass],\n attrs: {\n role: 'presentation'\n }\n }, [$link]);\n }\n}); // --- Props ---\n\nvar navProps = omit(BNavProps, ['tabs', 'isNavBar', 'cardHeader']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), navProps), {}, {\n // Only applied to the currently active ``\n activeNavItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Only applied to the currently active ``\n // This prop is sniffed by the `` child\n activeTabClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n card: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Synonym for 'bottom'\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n // This prop is sniffed by the `` child\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n navClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n navWrapperClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n noNavStyle: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_TABS); // --- Main component ---\n// @vue/component\n\nexport var BTabs = /*#__PURE__*/Vue.extend({\n name: NAME_TABS,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTabs: this\n };\n },\n props: props,\n data: function data() {\n return {\n // Index of current tab\n currentTab: toInteger(this[MODEL_PROP_NAME], -1),\n // Array of direct child `` instances, in DOM order\n tabs: [],\n // Array of child instances registered (for triggering reactive updates)\n registeredTabs: []\n };\n },\n computed: {\n fade: function fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade;\n },\n localNavClass: function localNavClass() {\n var classes = [];\n\n if (this.card && this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0');\n }\n\n return [].concat(classes, [this.navClass]);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n newValue = toInteger(newValue, -1);\n oldValue = toInteger(oldValue, 0);\n var $tab = this.tabs[newValue];\n\n if ($tab && !$tab.disabled) {\n this.activateTab($tab);\n } else {\n // Try next or prev tabs\n if (newValue < oldValue) {\n this.previousTab();\n } else {\n this.nextTab();\n }\n }\n }\n }), _defineProperty(_watch, \"currentTab\", function currentTab(newValue) {\n var index = -1; // Ensure only one tab is active at most\n\n this.tabs.forEach(function ($tab, i) {\n if (i === newValue && !$tab.disabled) {\n $tab.localActive = true;\n index = i;\n } else {\n $tab.localActive = false;\n }\n }); // Update the v-model\n\n this.$emit(MODEL_EVENT_NAME, index);\n }), _defineProperty(_watch, \"tabs\", function tabs(newValue, oldValue) {\n var _this = this;\n\n // We use `_uid` instead of `safeId()`, as the later is changed in a `$nextTick()`\n // if no explicit ID is provided, causing duplicate emits\n if (!looseEqual(newValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }), oldValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }))) {\n // In a `$nextTick()` to ensure `currentTab` has been set first\n this.$nextTick(function () {\n // We emit shallow copies of the new and old arrays of tabs,\n // to prevent users from potentially mutating the internal arrays\n _this.$emit(EVENT_NAME_CHANGED, newValue.slice(), oldValue.slice());\n });\n }\n }), _defineProperty(_watch, \"registeredTabs\", function registeredTabs() {\n this.updateTabs();\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_observer = null;\n },\n mounted: function mounted() {\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.setObserver(false); // Ensure no references to child instances exist\n\n this.tabs = [];\n },\n methods: {\n registerTab: function registerTab($tab) {\n if (!arrayIncludes(this.registeredTabs, $tab)) {\n this.registeredTabs.push($tab);\n }\n },\n unregisterTab: function unregisterTab($tab) {\n this.registeredTabs = this.registeredTabs.slice().filter(function ($t) {\n return $t !== $tab;\n });\n },\n // DOM observer is needed to detect changes in order of tabs\n setObserver: function setObserver() {\n var _this2 = this;\n\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n /* istanbul ignore next: difficult to test mutation observer in JSDOM */\n var handler = function handler() {\n _this2.$nextTick(function () {\n requestAF(function () {\n _this2.updateTabs();\n });\n });\n }; // Watch for changes to `` sub components\n\n\n this.$_observer = observeDom(this.$refs.content, handler, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n getTabs: function getTabs() {\n var $tabs = this.registeredTabs.filter(function ($tab) {\n return $tab.$children.filter(function ($t) {\n return $t._isTab;\n }).length === 0;\n }); // DOM Order of Tabs\n\n var order = [];\n /* istanbul ignore next: too difficult to test */\n\n if (IS_BROWSER && $tabs.length > 0) {\n // We rely on the DOM when mounted to get the \"true\" order of the `` children\n // `querySelectorAll()` always returns elements in document order, regardless of\n // order specified in the selector\n var selector = $tabs.map(function ($tab) {\n return \"#\".concat($tab.safeId());\n }).join(', ');\n order = selectAll(selector, this.$el).map(function ($el) {\n return $el.id;\n }).filter(identity);\n } // Stable sort keeps the original order if not found in the `order` array,\n // which will be an empty array before mount\n\n\n return stableSort($tabs, function (a, b) {\n return order.indexOf(a.safeId()) - order.indexOf(b.safeId());\n });\n },\n updateTabs: function updateTabs() {\n var $tabs = this.getTabs(); // Find last active non-disabled tab in current tabs\n // We trust tab state over `currentTab`, in case tabs were added/removed/re-ordered\n\n var tabIndex = $tabs.indexOf($tabs.slice().reverse().find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n })); // Else try setting to `currentTab`\n\n if (tabIndex < 0) {\n var currentTab = this.currentTab;\n\n if (currentTab >= $tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = $tabs.indexOf($tabs.slice().reverse().find(notDisabled));\n } else if ($tabs[currentTab] && !$tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab;\n }\n } // Else find first non-disabled tab in current tabs\n\n\n if (tabIndex < 0) {\n tabIndex = $tabs.indexOf($tabs.find(notDisabled));\n } // Ensure only one tab is active at a time\n\n\n $tabs.forEach(function ($tab, index) {\n $tab.localActive = index === tabIndex;\n });\n this.tabs = $tabs;\n this.currentTab = tabIndex;\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab: function getButtonForTab($tab) {\n return (this.$refs.buttons || []).find(function ($btn) {\n return $btn.tab === $tab;\n });\n },\n // Force a button to re-render its content, given a `` instance\n // Called by `` on `update()`\n updateButton: function updateButton($tab) {\n var $button = this.getButtonForTab($tab);\n\n if ($button && $button.$forceUpdate) {\n $button.$forceUpdate();\n }\n },\n // Activate a tab given a `` instance\n // Also accessed by ``\n activateTab: function activateTab($tab) {\n var currentTab = this.currentTab,\n $tabs = this.tabs;\n var result = false;\n\n if ($tab) {\n var index = $tabs.indexOf($tab);\n\n if (index !== currentTab && index > -1 && !$tab.disabled) {\n var tabEvent = new BvEvent(EVENT_NAME_ACTIVATE_TAB, {\n cancelable: true,\n vueTarget: this,\n componentId: this.safeId()\n });\n this.$emit(tabEvent.type, index, currentTab, tabEvent);\n\n if (!tabEvent.defaultPrevented) {\n this.currentTab = index;\n result = true;\n }\n }\n } // Couldn't set tab, so ensure v-model is up to date\n\n /* istanbul ignore next: should rarely happen */\n\n\n if (!result && this[MODEL_PROP_NAME] !== currentTab) {\n this.$emit(MODEL_EVENT_NAME, currentTab);\n }\n\n return result;\n },\n // Deactivate a tab given a `` instance\n // Accessed by ``\n deactivateTab: function deactivateTab($tab) {\n if ($tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(function ($t) {\n return $t !== $tab;\n }).find(notDisabled));\n }\n /* istanbul ignore next: should never/rarely happen */\n\n\n return false;\n },\n // Focus a tab button given its `` instance\n focusButton: function focusButton($tab) {\n var _this3 = this;\n\n // Wrap in `$nextTick()` to ensure DOM has completed rendering\n this.$nextTick(function () {\n attemptFocus(_this3.getButtonForTab($tab));\n });\n },\n // Emit a click event on a specified `` component instance\n emitTabClick: function emitTabClick(tab, event) {\n if (isEvent(event) && tab && tab.$emit && !tab.disabled) {\n tab.$emit(EVENT_NAME_CLICK, event);\n }\n },\n // Click handler\n clickTab: function clickTab($tab, event) {\n this.activateTab($tab);\n this.emitTabClick($tab, event);\n },\n // Move to first non-disabled tab\n firstTab: function firstTab(focus) {\n var $tab = this.tabs.find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to previous non-disabled tab\n previousTab: function previousTab(focus) {\n var currentIndex = mathMax(this.currentTab, 0);\n var $tab = this.tabs.slice(0, currentIndex).reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to next non-disabled tab\n nextTab: function nextTab(focus) {\n var currentIndex = mathMax(this.currentTab, -1);\n var $tab = this.tabs.slice(currentIndex + 1).find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to last non-disabled tab\n lastTab: function lastTab(focus) {\n var $tab = this.tabs.slice().reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n var align = this.align,\n card = this.card,\n end = this.end,\n fill = this.fill,\n firstTab = this.firstTab,\n justified = this.justified,\n lastTab = this.lastTab,\n nextTab = this.nextTab,\n noKeyNav = this.noKeyNav,\n noNavStyle = this.noNavStyle,\n pills = this.pills,\n previousTab = this.previousTab,\n small = this.small,\n $tabs = this.tabs,\n vertical = this.vertical; // Currently active tab\n\n var $activeTab = $tabs.find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n }); // Tab button to allow focusing when no active tab found (keynav only)\n\n var $fallbackTab = $tabs.find(function ($tab) {\n return !$tab.disabled;\n }); // For each `` found create the tab buttons\n\n var $buttons = $tabs.map(function ($tab, index) {\n var _on;\n\n var safeId = $tab.safeId; // Ensure at least one tab button is focusable when keynav enabled (if possible)\n\n var tabIndex = null;\n\n if (!noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1;\n\n if ($tab === $activeTab || !$activeTab && $tab === $fallbackTab) {\n // Place tab button in tab sequence\n tabIndex = null;\n }\n }\n\n return h(BVTabButton, {\n props: {\n controls: safeId ? safeId() : null,\n id: $tab.controlledBy || (safeId ? safeId(\"_BV_tab_button_\") : null),\n noKeyNav: noKeyNav,\n posInSet: index + 1,\n setSize: $tabs.length,\n tab: $tab,\n tabIndex: tabIndex\n },\n on: (_on = {}, _defineProperty(_on, EVENT_NAME_CLICK, function (event) {\n _this4.clickTab($tab, event);\n }), _defineProperty(_on, EVENT_NAME_FIRST, firstTab), _defineProperty(_on, EVENT_NAME_PREV, previousTab), _defineProperty(_on, EVENT_NAME_NEXT, nextTab), _defineProperty(_on, EVENT_NAME_LAST, lastTab), _on),\n key: $tab[COMPONENT_UID_KEY] || index,\n ref: 'buttons',\n // Needed to make `this.$refs.buttons` an array\n refInFor: true\n });\n });\n var $nav = h(BNav, {\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: fill,\n justified: justified,\n align: align,\n tabs: !noNavStyle && !pills,\n pills: !noNavStyle && pills,\n vertical: vertical,\n small: small,\n cardHeader: card && !vertical\n },\n ref: 'nav'\n }, [this.normalizeSlot(SLOT_NAME_TABS_START) || h(), $buttons, this.normalizeSlot(SLOT_NAME_TABS_END) || h()]);\n $nav = h('div', {\n class: [{\n 'card-header': card && !vertical && !end,\n 'card-footer': card && !vertical && end,\n 'col-auto': vertical\n }, this.navWrapperClass],\n key: 'bv-tabs-nav'\n }, [$nav]);\n var $children = this.normalizeSlot() || [];\n var $empty = h();\n\n if ($children.length === 0) {\n $empty = h('div', {\n class: ['tab-pane', 'active', {\n 'card-body': card\n }],\n key: 'bv-empty-tab'\n }, this.normalizeSlot(SLOT_NAME_EMPTY));\n }\n\n var $content = h('div', {\n staticClass: 'tab-content',\n class: [{\n col: vertical\n }, this.contentClass],\n attrs: {\n id: this.safeId('_BV_tab_container_')\n },\n key: 'bv-content',\n ref: 'content'\n }, [$children, $empty]); // Render final output\n\n return h(this.tag, {\n staticClass: 'tabs',\n class: {\n row: vertical,\n 'no-gutters': vertical && card\n },\n attrs: {\n id: this.safeId()\n }\n }, [end ? $content : h(), $nav, end ? h() : $content]);\n }\n});"],"sourceRoot":""}