{"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 \r\n \r\n \r\n Vuexy\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Welcome to Vuexy! 👋\r\n \r\n \r\n Please sign-in to your account and start the adventure\r\n \r\n\r\n \r\n \r\n \r\n Admin: admin@demo.com | admin\r\n \r\n \r\n Client: client@demo.com | client\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 ? false:null\"\r\n name=\"login-email\"\r\n placeholder=\"john@example.com\"\r\n />\r\n {{ errors[0] }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n Password\r\n \r\n Forgot Password?\r\n \r\n \r\n \r\n 0 ? 'is-invalid':null\"\r\n >\r\n 0 ? false:null\"\r\n class=\"form-control-merge\"\r\n :type=\"passwordFieldType\"\r\n name=\"login-password\"\r\n placeholder=\"Password\"\r\n />\r\n \r\n \r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n Remember Me\r\n \r\n \r\n\r\n \r\n \r\n Sign in\r\n \r\n \r\n \r\n\r\n \r\n New on our platform? \r\n \r\n Create an account\r\n \r\n \r\n\r\n \r\n \r\n \r\n or\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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":""}
\r\n Admin: admin@demo.com | admin\r\n
\r\n Client: client@demo.com | client\r\n