{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./src/views/pages/authentication/Login.vue?20cd","webpack:///src/views/pages/authentication/Login.vue","webpack:///./src/views/pages/authentication/Login.vue?a23b","webpack:///./src/views/pages/authentication/Login.vue","webpack:///./src/@core/layouts/components/Logo.vue?cd8d","webpack:///./src/@core/layouts/components/Logo.vue","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./src/views/pages/authentication/Login.vue?9472","webpack:///./src/@core/components/toastification/ToastificationContent.vue?eb8e","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?270b","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./src/assets/images/pages/login-v2.svg","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./src/@core/auth/jwt/jwtDefaultConfig.js","webpack:///./src/@core/auth/jwt/jwtService.js","webpack:///./src/@core/auth/jwt/useJwt.js","webpack:///./src/auth/jwt/useJwt.js","webpack:///./src/sag-core/permissions.js","webpack:///./src/auth/utils.js","webpack:///./src/sag-core/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./src/@core/mixins/ui/forms.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/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?5b91","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./src/assets/images/pages/login-v2-dark.svg"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","props","icon","stacked","BIcon","extend","name","functional","render","h","_ref","data","parent","replace","concat","_vm","this","_h","$createElement","_c","_self","staticClass","_v","attrs","imgUrl","directives","rawName","expression","modifiers","staticStyle","ref","scopedSlots","_u","fn","invalid","on","$event","preventDefault","login","errors","model","callback","$$v","userEmail","_s","class","passwordFieldType","password","passwordToggleIcon","togglePasswordVisibility","status","staticRenderFns","BRow","BCol","BLink","BFormGroup","BFormInput","BInputGroupAppend","BInputGroup","BFormCheckbox","BCardText","BCardTitle","BImg","BForm","BButton","BAlert","VuexyLogo","ValidationProvider","ValidationObserver","mixins","sideImg","required","email","computed","store","methods","$refs","loginForm","validate","then","success","useJwt","component","script","id","inline","novalidate","validated","children","variant","domProps","title","_e","text","$emit","hideClose","BAvatar","type","String","default","Boolean","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","undefined","trigger","placement","fallbackPlacement","container","animation","offset","html","interactive","disabled","delay","boundary","boundaryPadding","customClass","show","hide","arg","mod","test","slice","selectedTriggers","join","trim","toLowerCase","split","applyTooltip","el","context","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","bind","componentUpdated","$nextTick","unbind","BInputGroupPrepend","append","isText","tag","BInputGroupAddon","BLANK_TEMPLATE","makeBlankImgSrc","width","height","color","src","encodeURIComponent","alt","blank","blankColor","block","center","fluid","fluidGrow","left","right","rounded","sizes","srcset","thumbnail","_class","align","titleTag","module","exports","appendHtml","prepend","prependHtml","size","slots","$scopedSlots","$slots","slotScope","$prepend","hasPrependSlot","$append","hasAppendSlot","role","_watch","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","event","parseCountDown","parseShow","dismissLabel","dismissible","fade","countDown","localShow","watch","newValue","_this","clearCountDownInterval","$_countDownTimeout","setTimeout","created","$_filterTimer","beforeDestroy","dismiss","clearTimeout","$alert","$dismissButton","normalizeSlot","loginEndpoint","registerEndpoint","refreshEndpoint","logoutEndpoint","tokenType","storageTokenKeyName","storageRefreshTokenKeyName","JwtService","axiosIns","jwtOverrideConfig","jwtDefaultConfig","jwtConfig","interceptors","request","use","accessToken","getToken","headers","Authorization","error","Promise","reject","response","originalRequest","isAlreadyFetchingAccessToken","refreshToken","r","setToken","setRefreshToken","onAccessTokenFetched","retryOriginalRequest","resolve","addSubscriber","subscribers","localStorage","getItem","setItem","args","post","getRefreshToken","jwt","axios","permission","permissionDictionary","checkPermissionByName","searchDictionarySource","find","e","includes","getHomeRouteForLoggedInUser","tools","utils","userRole","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","content","arrowPadding","BVTooltip","activeTrigger","templateType","computedId","computedDelay","computedTriggers","sort","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","oldValue","disable","enable","_this2","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","$once","getTarget","document","body","scopeId","updated","deactivated","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","_this3","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","$el","_this4","dropdownOpen","showEvt","buildEvent","cancelable","emitEvent","defaultPrevented","addAriaDescribedby","force","tip","hideEvt","prevHoverState","leave","getTargetId","isInModal","isDropdown","clearInterval","desc","_this5","d","options","relatedTarget","componentId","vueTarget","bvEvent","emitOnRoot","_this6","setRootListener","_this7","events","$root","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","parentNode","_this9","documentElement","__vue__","enter","eventTarget","currentTarget","toggle","_this10","_this11","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","reduce","alignContent","alignH","alignV","noGutters","_classList$push","classList","c","plain","formCustomMixin","custom","_objectSpread2","array","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","inject","bvGroup","from","isChecked","checked","computedLocalChecked","isRadio","setIndeterminate","mounted","computedLocalCheckedWatcher","$input","input","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","index","isGroup","state","BInputGroupText","_methods","ariaLabel","ariaLabelledby","button","buttonVariant","formRadioCheckMixin","inheritAttrs","hasFocus","get","set","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","form","computedSize","computedState","computedButtonVariant","buttonClasses","computedAttrs","bvAttrs","safeId","_ref2","$content","stateClass","change","handleFocus","$button","$label","for","style","textTag","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","attachment","getAttachment","popperConfig","getOffset","flip","behavior","arrow","element","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","beforeMount","updatePopper","destroyPopper","destroyed","removeChild","toUpperCase","arrowOffset","destroy","scheduleUpdate","renderTemplate","appear","beforeEnter","afterEnter","beforeLeave","afterLeave","BVTooltipTemplate","extends","templateClasses","noninteractive","templateAttributes","$attrs","tabindex","scopedStyleAttrs","templateListeners","mouseenter","mouseleave","focusin","focusout","$title","innerHTML","CLASS_NAME","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","linkProps","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","square","bvAvatarGroup","localSrc","computedVariant","computedRounded","fontStyle","fontSize","indexOf","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","top","bottom","onImgError","onClick","_class2","link","hasNormalizedSlot","$badge","hasBadgeSlot","badgeText","componentData","noop"],"mappings":"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","file":"js/chunk-2a5aeed0.bf2688a4.js","sourcesContent":["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});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"auth-wrapper auth-v2\"},[_c('b-row',{staticClass:\"auth-inner m-0\"},[_c('b-link',{staticClass:\"brand-logo\"},[_c('vuexy-logo'),_c('h2',{staticClass:\"brand-text text-primary ml-1\"},[_vm._v(\" Vuexy \")])],1),_c('b-col',{staticClass:\"d-none d-lg-flex align-items-center p-5\",attrs:{\"lg\":\"8\"}},[_c('div',{staticClass:\"w-100 d-lg-flex align-items-center justify-content-center px-5\"},[_c('b-img',{attrs:{\"fluid\":\"\",\"src\":_vm.imgUrl,\"alt\":\"Login V2\"}})],1)]),_c('b-col',{staticClass:\"d-flex align-items-center auth-bg px-2 p-lg-5\",attrs:{\"lg\":\"4\"}},[_c('b-col',{staticClass:\"px-xl-2 mx-auto\",attrs:{\"sm\":\"8\",\"md\":\"6\",\"lg\":\"12\"}},[_c('b-card-title',{staticClass:\"mb-1 font-weight-bold\",attrs:{\"title-tag\":\"h2\"}},[_vm._v(\" Welcome to Vuexy! 👋 \")]),_c('b-card-text',{staticClass:\"mb-2\"},[_vm._v(\" Please sign-in to your account and start the adventure \")]),_c('b-alert',{attrs:{\"variant\":\"primary\",\"show\":\"\"}},[_c('div',{staticClass:\"alert-body font-small-2\"},[_c('p',[_c('small',{staticClass:\"mr-50\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Admin:\")]),_vm._v(\" admin@demo.com | admin\")])]),_c('p',[_c('small',{staticClass:\"mr-50\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Client:\")]),_vm._v(\" client@demo.com | client\")])])]),_c('feather-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.left\",value:('This is just for ACL demo purpose'),expression:\"'This is just for ACL demo purpose'\",modifiers:{\"hover\":true,\"left\":true}}],staticClass:\"position-absolute\",staticStyle:{\"top\":\"10\",\"right\":\"10\"},attrs:{\"icon\":\"HelpCircleIcon\",\"size\":\"18\"}})],1),_c('validation-observer',{ref:\"loginForm\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('b-form',{staticClass:\"auth-login-form mt-2\",on:{\"submit\":function($event){$event.preventDefault();return _vm.login.apply(null, arguments)}}},[_c('b-form-group',{attrs:{\"label\":\"Email\",\"label-for\":\"login-email\"}},[_c('validation-provider',{attrs:{\"name\":\"Email\",\"vid\":\"email\",\"rules\":\"required|email\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"login-email\",\"state\":errors.length > 0 ? false:null,\"name\":\"login-email\",\"placeholder\":\"john@example.com\"},model:{value:(_vm.userEmail),callback:function ($$v) {_vm.userEmail=$$v},expression:\"userEmail\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('b-form-group',[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('label',{attrs:{\"for\":\"login-password\"}},[_vm._v(\"Password\")]),_c('b-link',{attrs:{\"to\":{name:'auth-forgot-password'}}},[_c('small',[_vm._v(\"Forgot Password?\")])])],1),_c('validation-provider',{attrs:{\"name\":\"Password\",\"vid\":\"password\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-input-group',{staticClass:\"input-group-merge\",class:errors.length > 0 ? 'is-invalid':null},[_c('b-form-input',{staticClass:\"form-control-merge\",attrs:{\"id\":\"login-password\",\"state\":errors.length > 0 ? false:null,\"type\":_vm.passwordFieldType,\"name\":\"login-password\",\"placeholder\":\"Password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('b-input-group-append',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":_vm.passwordToggleIcon},on:{\"click\":_vm.togglePasswordVisibility}})],1)],1),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('b-form-group',[_c('b-form-checkbox',{attrs:{\"id\":\"remember-me\",\"name\":\"checkbox-1\"},model:{value:(_vm.status),callback:function ($$v) {_vm.status=$$v},expression:\"status\"}},[_vm._v(\" Remember Me \")])],1),_c('b-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"block\":\"\",\"disabled\":invalid}},[_vm._v(\" Sign in \")])],1)]}}])}),_c('b-card-text',{staticClass:\"text-center mt-2\"},[_c('span',[_vm._v(\"New on our platform? \")]),_c('b-link',{attrs:{\"to\":{name:'auth-register'}}},[_c('span',[_vm._v(\" Create an account\")])])],1),_c('div',{staticClass:\"divider my-2\"},[_c('div',{staticClass:\"divider-text\"},[_vm._v(\" or \")])]),_c('div',{staticClass:\"auth-footer-btn d-flex justify-content-center\"},[_c('b-button',{attrs:{\"variant\":\"facebook\",\"href\":\"javascript:void(0)\"}},[_c('feather-icon',{attrs:{\"icon\":\"FacebookIcon\"}})],1),_c('b-button',{attrs:{\"variant\":\"twitter\",\"href\":\"javascript:void(0)\"}},[_c('feather-icon',{attrs:{\"icon\":\"TwitterIcon\"}})],1),_c('b-button',{attrs:{\"variant\":\"google\",\"href\":\"javascript:void(0)\"}},[_c('feather-icon',{attrs:{\"icon\":\"MailIcon\"}})],1),_c('b-button',{attrs:{\"variant\":\"github\",\"href\":\"javascript:void(0)\"}},[_c('feather-icon',{attrs:{\"icon\":\"GithubIcon\"}})],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=35de55d8&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.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('svg',{attrs:{\"viewBox\":\"0 0 139 95\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"height\":\"24\"}},[_c('defs',[_c('linearGradient',{attrs:{\"id\":\"linearGradient-1\",\"x1\":\"100%\",\"y1\":\"10.5120544%\",\"x2\":\"50%\",\"y2\":\"89.4879456%\"}},[_c('stop',{attrs:{\"stop-color\":\"#000000\",\"offset\":\"0%\"}}),_c('stop',{attrs:{\"stop-color\":\"#FFFFFF\",\"offset\":\"100%\"}})],1),_c('linearGradient',{attrs:{\"id\":\"linearGradient-2\",\"x1\":\"64.0437835%\",\"y1\":\"46.3276743%\",\"x2\":\"37.373316%\",\"y2\":\"100%\"}},[_c('stop',{attrs:{\"stop-color\":\"#EEEEEE\",\"stop-opacity\":\"0\",\"offset\":\"0%\"}}),_c('stop',{attrs:{\"stop-color\":\"#FFFFFF\",\"offset\":\"100%\"}})],1)],1),_c('g',{attrs:{\"id\":\"Page-1\",\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('g',{attrs:{\"id\":\"Artboard\",\"transform\":\"translate(-400.000000, -178.000000)\"}},[_c('g',{attrs:{\"id\":\"Group\",\"transform\":\"translate(400.000000, 178.000000)\"}},[_c('path',{staticClass:\"text-primary\",staticStyle:{\"fill\":\"currentColor\"},attrs:{\"id\":\"Path\",\"d\":\"M-5.68434189e-14,2.84217094e-14 L39.1816085,2.84217094e-14 L69.3453773,32.2519224 L101.428699,2.84217094e-14 L138.784583,2.84217094e-14 L138.784199,29.8015838 C137.958931,37.3510206 135.784352,42.5567762 132.260463,45.4188507 C128.736573,48.2809251 112.33867,64.5239941 83.0667527,94.1480575 L56.2750821,94.1480575 L6.71554594,44.4188507 C2.46876683,39.9813776 0.345377275,35.1089553 0.345377275,29.8015838 C0.345377275,24.4942122 0.230251516,14.560351 -5.68434189e-14,2.84217094e-14 Z\"}}),_c('path',{attrs:{\"id\":\"Path1\",\"d\":\"M69.3453773,32.2519224 L101.428699,1.42108547e-14 L138.784583,1.42108547e-14 L138.784199,29.8015838 C137.958931,37.3510206 135.784352,42.5567762 132.260463,45.4188507 C128.736573,48.2809251 112.33867,64.5239941 83.0667527,94.1480575 L56.2750821,94.1480575 L32.8435758,70.5039241 L69.3453773,32.2519224 Z\",\"fill\":\"url(#linearGradient-1)\",\"opacity\":\"0.2\"}}),_c('polygon',{attrs:{\"id\":\"Path-2\",\"fill\":\"#000000\",\"opacity\":\"0.049999997\",\"points\":\"69.3922914 32.4202615 32.8435758 70.5039241 54.0490008 16.1851325\"}}),_c('polygon',{attrs:{\"id\":\"Path-21\",\"fill\":\"#000000\",\"opacity\":\"0.099999994\",\"points\":\"69.3922914 32.4202615 32.8435758 70.5039241 58.3683556 20.7402338\"}}),_c('polygon',{attrs:{\"id\":\"Path-3\",\"fill\":\"url(#linearGradient-2)\",\"opacity\":\"0.099999994\",\"points\":\"101.428699 0 83.0667527 94.1480575 130.378721 47.0740288\"}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=61705788&\"\nvar script = {}\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","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});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toastification\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('b-avatar',{staticClass:\"mr-75 flex-shrink-0\",attrs:{\"variant\":_vm.variant,\"size\":\"1.8rem\"}},[_c('feather-icon',{attrs:{\"icon\":_vm.icon,\"size\":\"15\"}})],1),_c('div',{staticClass:\"d-flex flex-grow-1\"},[_c('div',[(_vm.title)?_c('h5',{staticClass:\"mb-0 font-weight-bolder toastification-title\",class:(\"text-\" + _vm.variant),domProps:{\"textContent\":_vm._s(_vm.title)}}):_vm._e(),(_vm.text)?_c('small',{staticClass:\"d-inline-block text-body\",domProps:{\"innerHTML\":_vm._s(_vm.text)}}):_vm._e()]),_c('span',{staticClass:\"cursor-pointer toastification-close-icon ml-auto \",on:{\"click\":function($event){return _vm.$emit('close-toast')}}},[(!_vm.hideClose)?_c('feather-icon',{staticClass:\"text-body\",attrs:{\"icon\":\"XIcon\"}}):_vm._e()],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToastificationContent.vue?vue&type=template&id=169b1955&scoped=true&\"\nimport script from \"./ToastificationContent.vue?vue&type=script&lang=js&\"\nexport * from \"./ToastificationContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ToastificationContent.vue?vue&type=style&index=0&id=169b1955&lang=scss&scoped=true&\"\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 \"169b1955\",\n null\n \n)\n\nexport default component.exports","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","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_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_PREPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupPrepend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_PREPEND,\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 // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: false\n })\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n isText: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAddon = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_ADDON,\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 append = props.append;\n return h(props.tag, mergeData(data, {\n class: {\n 'input-group-append': append,\n 'input-group-prepend': !append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(BInputGroupText, children)] : children);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","module.exports = __webpack_public_path__ + \"img/login-v2.99da7e4e.svg\";","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_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_APPEND, SLOT_NAME_DEFAULT, SLOT_NAME_PREPEND } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_STRING),\n appendHtml: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n prepend: makeProp(PROP_TYPE_STRING),\n prependHtml: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BInputGroup = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP,\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 var prepend = props.prepend,\n prependHtml = props.prependHtml,\n append = props.append,\n appendHtml = props.appendHtml,\n size = props.size;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $prepend = h();\n var hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n\n if (hasPrependSlot || prepend || prependHtml) {\n $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(prependHtml, prepend)\n })]);\n }\n\n var $append = h();\n var hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n\n if (hasAppendSlot || append || appendHtml) {\n $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(appendHtml, append)\n })]);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(size), size),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\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});","export default {\r\n // Endpoints\r\n loginEndpoint: '/jwt/login',\r\n registerEndpoint: '/jwt/register',\r\n refreshEndpoint: '/jwt/refresh-token',\r\n logoutEndpoint: '/jwt/logout',\r\n\r\n // This will be prefixed in authorization header with token\r\n // e.g. Authorization: Bearer \r\n tokenType: 'Bearer',\r\n\r\n // Value of this property will be used as key to store JWT token in storage\r\n storageTokenKeyName: 'accessToken',\r\n storageRefreshTokenKeyName: 'refreshToken',\r\n}\r\n","import jwtDefaultConfig from './jwtDefaultConfig.js'\r\n\r\nexport default class JwtService {\r\n // Will be used by this service for making API calls\r\n axiosIns = null\r\n\r\n // jwtConfig <= Will be used by this service\r\n jwtConfig = { ...jwtDefaultConfig }\r\n\r\n // For Refreshing Token\r\n isAlreadyFetchingAccessToken = false\r\n\r\n // For Refreshing Token\r\n subscribers = []\r\n\r\n constructor(axiosIns, jwtOverrideConfig) {\r\n this.axiosIns = axiosIns\r\n this.jwtConfig = { ...this.jwtConfig, ...jwtOverrideConfig }\r\n\r\n // Request Interceptor\r\n this.axiosIns.interceptors.request.use(\r\n config => {\r\n // Get token from localStorage\r\n const accessToken = this.getToken()\r\n\r\n // If token is present add it to request's Authorization Header\r\n if (accessToken) {\r\n // eslint-disable-next-line no-param-reassign\r\n config.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\r\n }\r\n return config\r\n },\r\n error => Promise.reject(error),\r\n )\r\n\r\n // Add request/response interceptor\r\n this.axiosIns.interceptors.response.use(\r\n response => response,\r\n error => {\r\n // const { config, response: { status } } = error\r\n const { config, response } = error\r\n const originalRequest = config\r\n\r\n // if (status === 401) {\r\n if (response && response.status === 401) {\r\n if (!this.isAlreadyFetchingAccessToken) {\r\n this.isAlreadyFetchingAccessToken = true\r\n this.refreshToken().then(r => {\r\n this.isAlreadyFetchingAccessToken = false\r\n\r\n // Update accessToken in localStorage\r\n this.setToken(r.data.accessToken)\r\n this.setRefreshToken(r.data.refreshToken)\r\n\r\n this.onAccessTokenFetched(r.data.accessToken)\r\n })\r\n }\r\n const retryOriginalRequest = new Promise(resolve => {\r\n this.addSubscriber(accessToken => {\r\n // Make sure to assign accessToken according to your response.\r\n // Check: https://pixinvent.ticksy.com/ticket/2413870\r\n // Change Authorization header\r\n originalRequest.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\r\n resolve(this.axiosIns(originalRequest))\r\n })\r\n })\r\n return retryOriginalRequest\r\n }\r\n return Promise.reject(error)\r\n },\r\n )\r\n }\r\n\r\n onAccessTokenFetched(accessToken) {\r\n this.subscribers = this.subscribers.filter(callback => callback(accessToken))\r\n }\r\n\r\n addSubscriber(callback) {\r\n this.subscribers.push(callback)\r\n }\r\n\r\n getToken() {\r\n return localStorage.getItem(this.jwtConfig.storageTokenKeyName)\r\n }\r\n\r\n getRefreshToken() {\r\n return localStorage.getItem(this.jwtConfig.storageRefreshTokenKeyName)\r\n }\r\n\r\n setToken(value) {\r\n localStorage.setItem(this.jwtConfig.storageTokenKeyName, value)\r\n }\r\n\r\n setRefreshToken(value) {\r\n localStorage.setItem(this.jwtConfig.storageRefreshTokenKeyName, value)\r\n }\r\n\r\n login(...args) {\r\n return this.axiosIns.post(this.jwtConfig.loginEndpoint, ...args)\r\n }\r\n\r\n register(...args) {\r\n return this.axiosIns.post(this.jwtConfig.registerEndpoint, ...args)\r\n }\r\n\r\n refreshToken() {\r\n return this.axiosIns.post(this.jwtConfig.refreshEndpoint, {\r\n refreshToken: this.getRefreshToken(),\r\n })\r\n }\r\n}\r\n","import JwtService from './jwtService.js'\r\n\r\nexport default function useJwt(axiosIns, jwtOverrideConfig) {\r\n const jwt = new JwtService(axiosIns, jwtOverrideConfig)\r\n\r\n return {\r\n jwt,\r\n }\r\n}\r\n","import useJwt from '@core/auth/jwt/useJwt'\r\nimport axios from '@axios'\r\n\r\nconst { jwt } = useJwt(axios, {})\r\nexport default jwt\r\n","const permission = {\r\n permissionDictionary: {\r\n /* \r\n 設定權限,元件name將比對Array(value)內字串,得到與後台對應權限名稱(key)\r\n */\r\n 'Permissions1': ['查詢', 'Query'],\r\n 'Permissions2': ['新增', 'Insert'],\r\n 'Permissions3': ['修改', 'Update'],\r\n 'Permissions4': ['刪除', 'Delete'],\r\n 'Permissions5': ['細增', 'InsertList'],\r\n 'Permissions6': ['細修', 'UpdateList'],\r\n 'Permissions7': ['細刪', 'DeleteList'],\r\n 'Permissions8': ['瀏覽', 'Preview'],\r\n 'Permissions9': ['列印', 'Print'],\r\n 'Permissions10': ['預留1', 'Reserve1'],\r\n 'Permissions11': ['預留2', 'Reserve2'],\r\n 'Permissions12': ['預留3', 'Reserve3'],\r\n 'Permissions13': ['預留4', 'Reserve4'],\r\n 'Permissions14': ['預留5', 'Reserve5'],\r\n 'Permissions15': ['預留6', 'Reserve6']\r\n },\r\n\r\n checkPermissionByName(name){\r\n let searchDictionarySource = this.permissionDictionary\r\n \r\n for(let key in searchDictionarySource){\r\n if(searchDictionarySource[key].find(e => \r\n {\r\n return (name.toLowerCase()).includes(e.toLowerCase())\r\n }\r\n )){\r\n return key\r\n }\r\n }\r\n\r\n return null\r\n }\r\n}\r\n\r\nexport default permission","import useJwt from '@/auth/jwt/useJwt'\r\nimport store from '@/store'\r\nimport utils from '@/sag-core'\r\n/**\r\n * Return if user is logged in\r\n * This is completely up to you and how you want to store the token in your frontend application\r\n * e.g. If you are using cookies to store the application please update this function\r\n */\r\n// eslint-disable-next-line arrow-body-style\r\nexport const isUserLoggedIn = () => {\r\n let userToken = utils.getUserToken()\r\n\r\n return userToken\r\n}\r\n\r\nexport const getUserData = () => {\r\n return store.state.webConfig.userData\r\n}\r\n\r\n/**\r\n * This function is used for demo purpose route navigation\r\n * In real app you won't need this function because your app will navigate to same route for each users regardless of ability\r\n * Please note role field is just for showing purpose it's not used by anything in frontend\r\n * We are checking role just for ease\r\n * NOTE: If you have different pages to navigate based on user ability then this function can be useful. However, you need to update it.\r\n * @param {String} userRole Role of user\r\n */\r\nexport const getHomeRouteForLoggedInUser = userRole => {\r\n if (userRole === 'admin') return '/'\r\n if (userRole === 'client') return { name: 'access-control' }\r\n return { name: 'auth-login' }\r\n}\r\n","import permissions from './permissions.js'\r\nimport tools from './tools.js'\r\nimport utils from './utils.js'\r\n\r\nexport default {\r\n permissions,\r\n tools,\r\n utils\r\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, Vue } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.$parent) {\n this.$parent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { 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});","// We haven't added icon's computed property because it makes this mixin coupled with UI\r\nexport const togglePasswordVisibility = {\r\n data() {\r\n return {\r\n passwordFieldType: 'password',\r\n }\r\n },\r\n methods: {\r\n togglePasswordVisibility() {\r\n this.passwordFieldType = this.passwordFieldType === 'password' ? 'text' : 'password'\r\n },\r\n },\r\n}\r\n\r\nexport const _ = null\r\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};","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_INPUT_GROUP_APPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_APPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAppend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_APPEND,\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 // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: true\n })\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_TEXT } 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_INPUT_GROUP_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupText = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_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.tag, mergeData(data, {\n staticClass: 'input-group-text'\n }), children);\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});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=style&index=0&id=169b1955&lang=scss&scoped=true&\"","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});","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\nimport Popper from 'popper.js';\nimport { Vue } from '../../../vue';\nimport { NAME_POPPER } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { HTMLElement, SVGElement } from '../../../constants/safe-types';\nimport { getCS, requestAF, select } from '../../../utils/dom';\nimport { toFloat } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { BVTransition } from '../../transition/bv-transition'; // --- Constants ---\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // --- Props ---\n\nexport var props = {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),\n // 'scrollParent', 'viewport', 'window', or `Element`\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),\n fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n placement: makeProp(PROP_TYPE_STRING, 'top'),\n // Element that the tooltip/popover is positioned relative to\n target: makeProp([HTMLElement, SVGElement])\n}; // --- Main component ---\n// @vue/component\n\nexport var BVPopper = /*#__PURE__*/Vue.extend({\n name: NAME_POPPER,\n props: props,\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n /* istanbul ignore next */\n templateType: function templateType() {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on(EVENT_NAME_SHOW, function (el) {\n _this2.popperCreate(el);\n }); // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.updatePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyPopper();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || select('.arrow', this.$el);\n var arrowOffset = toFloat(getCS(arrow).width, 0) + toFloat(this.arrowPadding, 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n /* istanbul ignore next: can't test in JSDOM */\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n /* istanbul ignore next: can't test in JSDOM */\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.destroyPopper(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new Popper(this.target, el, this.popperConfig);\n },\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n updatePopper: function updatePopper() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n\n /* istanbul ignore next */\n renderTemplate: function renderTemplate(h) {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var noFade = this.noFade; // Note: 'show' and 'fade' classes are only appled during transition\n\n return h(BVTransition, {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOW, el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOWN, el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDE, el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDDEN, el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TOOLTIP_TEMPLATE } from '../../../constants/components';\nimport { EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { scopedStyleMixin } from '../../../mixins/scoped-style';\nimport { BVPopper } from './bv-popper'; // --- Props ---\n\nexport var props = {\n // Used only by the directive versions\n html: makeProp(PROP_TYPE_BOOLEAN, false),\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltipTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_TEMPLATE,\n extends: BVPopper,\n mixins: [scopedStyleMixin],\n props: props,\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n var variant = this.variant,\n attachment = this.attachment,\n templateType = this.templateType;\n return [(_ref = {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive\n }, _defineProperty(_ref, \"b-\".concat(templateType, \"-\").concat(variant), variant), _defineProperty(_ref, \"bs-\".concat(templateType, \"-\").concat(attachment), attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n var id = this.id;\n return _objectSpread(_objectSpread({}, this.$parent.$parent.$attrs), {}, {\n id: id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter:\n /* istanbul ignore next */\n function mouseenter(event) {\n _this.$emit(EVENT_NAME_MOUSEENTER, event);\n },\n mouseleave:\n /* istanbul ignore next */\n function mouseleave(event) {\n _this.$emit(EVENT_NAME_MOUSELEAVE, event);\n },\n focusin:\n /* istanbul ignore next */\n function focusin(event) {\n _this.$emit(EVENT_NAME_FOCUSIN, event);\n },\n focusout:\n /* istanbul ignore next */\n function focusout(event) {\n _this.$emit(EVENT_NAME_FOCUSOUT, event);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title; // Title can be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title; // Directive versions only\n\n var domProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});","export var noop = function noop() {};","module.exports = __webpack_public_path__ + \"img/login-v2-dark.684bd68d.svg\";"],"sourceRoot":""}