/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/@dsb-norge/vue-keycloak-js@3.0.3/dist/dsb-vue-keycloak.umd.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
(function(a,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("keycloak-js"),require("vue")):typeof define=="function"&&define.amd?define(["exports","keycloak-js","vue"],s):(a=typeof globalThis<"u"?globalThis:a||self,s(a["dsb-vue-keycloak"]={},a.Keycloak,a.Vue))})(this,function(a,s,d){"use strict";/*!
  * vue-keycloak-js v3.0.3
  * @license ISC
  */let k=!1;const h=d.reactive(v()),y={install:function(t,o={}){if(k)return;k=!0;const n={config:window.__BASEURL__?`${window.__BASEURL__}/config`:"/config",init:{onLoad:"login-required"}},e=Object.assign({},n,o),c=m(e);if(c.hasError)throw new Error(`Invalid options given: ${c.error}`);if(t.config.globalProperties.$keycloak=d.readonly(h),!e.config)throw new Error("Keycloak config is required");A(e.config).then(u=>{R(u,h,e)}).catch(u=>{console.log(u)})}};function p(){return d.readonly(h)}function v(){return{ready:!1,authenticated:!1,userName:void 0,fullName:void 0,token:void 0,tokenParsed:void 0,logoutFn:void 0,loginFn:void 0,login:void 0,createLoginUrl:void 0,createLogoutUrl:void 0,createRegisterUrl:void 0,register:void 0,accountManagement:void 0,createAccountUrl:void 0,loadUserProfile:void 0,subject:void 0,idToken:void 0,idTokenParsed:void 0,realmAccess:void 0,resourceAccess:void 0,refreshToken:void 0,refreshTokenParsed:void 0,timeSkew:void 0,responseMode:void 0,responseType:void 0,hasRealmRole:void 0,hasResourceRole:void 0,keycloak:void 0}}async function R(t,o,n){const e=new s(t),{updateInterval:c,autoRefreshToken:u=!0}=n;function i(r=!1){o.authenticated=r,o.loginFn=e.login,o.login=e.login,o.createLoginUrl=e.createLoginUrl,o.createLogoutUrl=e.createLogoutUrl,o.createRegisterUrl=e.createRegisterUrl,o.register=e.register,o.keycloak=e,r&&(o.accountManagement=e.accountManagement,o.createAccountUrl=e.createAccountUrl,o.hasRealmRole=e.hasRealmRole,o.hasResourceRole=e.hasResourceRole,o.loadUserProfile=e.loadUserProfile,o.token=e.token,o.subject=e.subject,o.idToken=e.idToken,o.idTokenParsed=e.idTokenParsed,o.realmAccess=e.realmAccess,o.resourceAccess=e.resourceAccess,o.refreshToken=e.refreshToken,o.refreshTokenParsed=e.refreshTokenParsed,o.timeSkew=e.timeSkew,o.responseMode=e.responseMode,o.responseType=e.responseType,o.tokenParsed=e.tokenParsed,o.userName=e.tokenParsed.preferred_username,o.fullName=e.tokenParsed.name)}e.onReady=function(r){i(r),o.ready=!0,typeof n.onReady=="function"&&n.onReady(e,o)},e.onAuthSuccess=function(){let r;u&&(r=setInterval(()=>{e.updateToken(60).then(f=>{var l;(l=n.init)!=null&&l.enableLogging&&console.log(`[vue-keycloak-js] Token ${f?"updated":"not updated"}`)}).catch(f=>{var l;(l=n.init)!=null&&l.enableLogging&&console.log(`[vue-keycloak-js] Error while updating token: ${f}`),e.clearToken()})},c??1e4)),o.logoutFn=()=>(r&&clearInterval(r),e.logout(n.logout))},e.onAuthRefreshSuccess=function(){i(!0),typeof n.onAuthRefreshSuccess=="function"&&n.onAuthRefreshSuccess(e)},e.onAuthRefreshError=function(){i(!1),typeof n.onAuthRefreshError=="function"&&n.onAuthRefreshError(e)},e.onAuthLogout=function(){i(!1),typeof n.onAuthLogout=="function"&&n.onAuthLogout(e)};try{const r=await e.init(n.init);i(r),typeof n.onInitSuccess=="function"&&n.onInitSuccess(r)}catch(r){i(!1);const f=new Error("Failure during initialization of keycloak-js adapter",{cause:r});typeof n.onInitError=="function"?n.onInitError(f,r):console.error(f,r)}}function m(t){const{config:o,init:n,onReady:e,onInitError:c,onAuthRefreshError:u,onAuthLogout:i}=t;return typeof o!="string"&&!g(o)?{hasError:!0,error:`'config' option must be a string or an object. Found: '${typeof o}'`}:!g(n)||typeof(n==null?void 0:n.onLoad)!="string"?{hasError:!0,error:`'init' option must be an object with an 'onLoad' property. Found: '${n}'`}:e&&typeof e!="function"?{hasError:!0,error:`'onReady' option must be a function. Found: '${typeof e}'`}:c&&typeof c!="function"?{hasError:!0,error:`'onInitError' option must be a function. Found: '${typeof c}'`}:u&&typeof u!="function"?{hasError:!0,error:`'onAuthRefreshError' option must be a function. Found: '${typeof u}'`}:i&&typeof i!="function"?{hasError:!0,error:`'onAuthLogout' option must be a function. Found: '${typeof i}'`}:{hasError:!1,error:null}}function A(t){return g(t)?Promise.resolve(t):fetch(t,{headers:{Accept:"application/json"}}).then(o=>{if(!o.ok)throw new Error(`Failed to fetch config: ${o.statusText}`);return o.json()})}function g(t){return t!==null&&typeof t=="object"&&Object.prototype.toString.call(t)!=="[object Array]"}a.default=y,a.useKeycloak=p,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
