@criipto/verify-react 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AuthMethodButton/AuthMethodButton.d.ts +7 -1
- package/dist/components/AuthMethodButton/AuthMethodButton.stories.d.ts +3 -0
- package/dist/components/AuthMethodSelector/AuthMethodSelector.d.ts +2 -0
- package/dist/criipto-verify-react.cjs.js +1 -1
- package/dist/criipto-verify-react.cjs.js.map +1 -1
- package/dist/criipto-verify-react.esm.js +1 -1
- package/dist/criipto-verify-react.esm.js.map +1 -1
- package/dist/stories/methods.stories.d.ts +7 -0
- package/dist/use-criipto-verify.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e={n:n=>{var t=n&&n.__esModule?()=>n.default:()=>n;return e.d(t,{a:t}),t},d:(n,t)=>{for(var i in t)e.o(t,i)&&!e.o(n,i)&&Object.defineProperty(n,i,{enumerable:!0,get:t[i]})},o:(e,n)=>Object.prototype.hasOwnProperty.call(e,n)},n={};e.d(n,{AuthMethodButton:()=>I,AuthMethodSelector:()=>N,CriiptoVerifyProvider:()=>m,OAuth2Error:()=>o.OAuth2Error,useCriiptoVerify:()=>R});const t=require("react/jsx-runtime"),i=require("react");var r=e.n(i);const o=require("@criipto/auth-js");var A=e.n(o);const c=()=>{throw new Error("You forgot to wrap your component in <CriiptoVerifyProvider>.")},s={loginWithRedirect:c,loginWithPopup:c,fetchOpenIDConfiguration:c,buildAuthorizeUrl:c,generatePKCE:c,handleResponse:c,responseType:"token",completionStrategy:"client",result:null,domain:"",action:"login",pkce:void 0,store:sessionStorage,isLoading:!1},a=(0,i.createContext)(s);function d(e){return e.split(/:|-/).map((e=>2===(e=e.replace(/id(\s|$)/,"ID")).length?e.toUpperCase():e.substr(0,1).toUpperCase()+e.substr(1))).join(" ")}function l(e,n){return"login"===n?"da"===e?"Login med":"sv"===e?"Logga in med":"nb"===e?"Logg inn med":"Login with":"approve"===n?"da"===e?"Godkend med":"sv"===e?"Godkänn med":"nb"===e?"Godkjenne med":"Approve with":"sign"===n?"da"===e?"Underskriv med":"sv"===e?"Signera med":"nb"===e?"Signer med":"Sign with":"confirm"===n?"da"===e?"Bekræft med":"sv"===e?"Bekräfta med":"nb"===e?"Bekreft med":"Confirm with":"accept"===n?"da"===e?"Accepter med":"sv"===e?"Acceptera med":"nb"===e?"Aksepterer med":"Accept with":void function(e){throw new Error("Didn't expect to get here")}()}function u(e){return(e=e.replace("urn:grn:authn:","")).startsWith("fi")?"fi":e.startsWith("itsme")?"itsme":e.split(":").slice(0,2).join(":")}function g(e,n){const t=u(n=n.replace("urn:grn:authn:",""));if("be:eid"===t)return{title:d(n).replace("BEEID","Belgian eID")};if("nl:digid"===t)return{title:d(n).replace("NL ","")};if("dk:mitid"===t)return{title:"MitID"};if("dk:nemid"===t){let t,i=n.replace("dk:nemid:","");return"poces"===i&&("en"===e&&(t="Personal"),"da"===e&&(t="Personlig"),"sv"===e&&(t="Personlig"),"nb"===e&&(t="Personlig")),"moces"===i&&("en"===e&&(t="Employee key card"),"da"===e&&(t="Medarbejder nøglekort"),"sv"===e&&(t="Anställd nyckelkort"),"nb"===e&&(t="Ansatt nøkkelkort")),"moces:codefile"===i&&("en"===e&&(t="Employee key file"),"da"===e&&(t="Medarbejder nøglefil"),"sv"===e&&(t="Anställd nyckelfil"),"nb"===e&&(t="Ansatt nøkkelfil")),{title:"NemID",subtitle:t}}if("fi"===t)return{title:d(n).replace("FI","FTN")};if("itsme"===t)return{title:d(n).replace("me","ME")};if("se:bankid"===t){let t,i=n.replace("se:bankid:","");return"same-device"===i&&("en"===e&&(t="On this device"),"da"===e&&(t="På denne enhed"),"sv"===e&&(t="På denna enheten"),"nb"===e&&(t="På denne enheten")),"another-device"===i&&("en"===e&&(t="With your SSN"),"da"===e&&(t="Med dit personnummer"),"sv"===e&&(t="Med ditt personnummer"),"nb"===e&&(t="Med personnummeret ditt")),"another-device:qr"===i&&("en"===e&&(t="With QR Code"),"da"===e&&(t="Med QR-kode"),"sv"===e&&(t="Med QR-kod"),"nb"===e&&(t="Med QR-kode")),{title:"BankID",subtitle:t}}if("de:sofort"===t)return{title:d(n).replace("DE ","")};if("no:bankid"===t){let t;return n.endsWith(":substantial")&&("en"===e&&(t="Biometrics"),"da"===e&&(t="Biometri "),"sv"===e&&(t="Biometri"),"nb"===e&&(t="Biometri")),{title:t?"BankID":d(n).replace("NO ",""),subtitle:t}}return"no:vipps"===t?{title:d(n).replace("NO ","")}:{title:d(n)}}function h(e){let n=e.slice(),t=function(e){let n=null;return e.forEach((e=>{if(e.startsWith("urn:grn:authn:dk:mitid"))if(n){let t=e.replace("urn:grn:authn:dk:mitid",""),i=n.replace("urn:grn:authn:dk:mitid","");(":low"===t&&[":substantial",":high"].includes(i)||":substantial"===t&&":high"===i)&&(n=e)}else n=e})),n}(e);return t?e.filter((e=>!e.startsWith("urn:grn:authn:dk:mitid"))).concat([t]).sort(((e,t)=>n.indexOf(e)-n.indexOf(t))):e}require("@criipto/auth-js/dist/index.css");var f=function(e,n,t,i){return new(t||(t=Promise))((function(r,o){function A(e){try{s(i.next(e))}catch(e){o(e)}}function c(e){try{s(i.throw(e))}catch(e){o(e)}}function s(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(A,c)}s((i=i.apply(e,n||[])).next())}))};const p=["urn:grn:authn:dk:mitid:low","urn:grn:authn:dk:mitid:substantial","urn:grn:authn:dk:mitid:high","urn:grn:authn:se:bankid:same-device","urn:grn:authn:se:bankid:another-device","urn:grn:authn:se:bankid:another-device:qr"];function v(e){const{options:n,action:t}=e,i=(null==n?void 0:n.acrValues)?Array.isArray(null==n?void 0:n.acrValues)?null==n?void 0:n.acrValues:[null==n?void 0:n.acrValues]:[];let r=(null==n?void 0:n.loginHint)?null==n?void 0:n.loginHint.split(" "):[];return t&&(1===i.length?p.includes(i[0])&&r.push(`action:${t}`):i.length>=2?i.some((e=>p.includes(e)))&&r.push(`action:${t}`):r.push(`action:${t}`)),r.length?r.join(" "):void 0}const w=sessionStorage,m=e=>{const n=e.redirectUri||window.location.href,[r]=(0,i.useState)((()=>new(A())({domain:e.domain,clientID:e.clientID,store:w,redirectUri:e.redirectUri}))),[c,s]=(0,i.useState)(null);(0,i.useEffect)((()=>{f(void 0,void 0,void 0,(function*(){s(yield r.fetchOpenIDConfiguration())}))}),[r]);const[d,l]=(0,i.useState)(null),[u,g]=(0,i.useState)(!1),[p,m]=(0,i.useState)(e.pkce),C=e.response||"token",k=e.completionStrategy||"client",B=e.action||"login",E=()=>{e.pkce||"token"===C&&"client"===k&&((0,o.clearPKCEState)(w),f(void 0,void 0,void 0,(function*(){const e=yield(0,o.generatePKCE)();m(e)})))},U=(0,i.useCallback)((t=>Object.assign(Object.assign({pkce:p,state:e.state,prompt:e.prompt,uiLocales:e.uiLocales,redirectUri:n},t||{}),{loginHint:v({options:t,action:B})})),[p,e.state,e.prompt,e.uiLocales,B,n]),Q=(0,i.useMemo)((()=>({loginWithRedirect:e=>{if("token"!==C)throw new Error("loginWithRedirect is only supported with response=token");return r.redirect.authorize(U(e))},loginWithPopup:e=>{if("token"!==C)throw new Error("loginWithPopup is only supported with response=token");return r.popup.authorize(U(e)).then((e=>{(null==e?void 0:e.code)?l({code:e.code}):(null==e?void 0:e.id_token)?l({id_token:e.id_token}):l(null)})).catch((e=>{l(e)}))},fetchOpenIDConfiguration:()=>r.fetchOpenIDConfiguration(),buildAuthorizeUrl:e=>f(void 0,void 0,void 0,(function*(){return yield r.buildAuthorizeUrl(r.buildAuthorizeParams(U(e)))})),generatePKCE:()=>f(void 0,void 0,void 0,(function*(){if("token"===C&&"client"===k)return yield(0,o.generatePKCE)()})),handleResponse:(e,t)=>f(void 0,void 0,void 0,(function*(){if(t.pkce&&"token"===C){let i=t.redirectUri||n;if(!i)throw new Error("redirectUri must be configured globally or per authentication component");yield r.processResponse(e,{code_verifier:t.pkce.code_verifier,redirect_uri:i}).then((e=>{(null==e?void 0:e.code)?l({code:e.code}):(null==e?void 0:e.id_token)?l({id_token:e.id_token}):l(null)})).catch((e=>{l(e)}))}else(null==e?void 0:e.code)?l({code:e.code}):(null==e?void 0:e.error)?l(new o.OAuth2Error(e.error,e.error_description)):l(null);E()})),responseType:C,completionStrategy:k,result:d,domain:r.domain,redirectUri:n,action:B,pkce:p,store:w,isLoading:u,acrValues:c?h(c.acr_values_supported):void 0})),[r,n,C,k,d,B,p,e.state,e.prompt,u,c]);return(0,i.useEffect)((()=>{r.redirect.hasMatch()?(g(!0),r.redirect.match().then((e=>{g(!1),(null==e?void 0:e.code)?l({code:e.code}):(null==e?void 0:e.id_token)?l({id_token:e.id_token}):l(null),E()})).catch((e=>{g(!1),l(e),E()}))):E()}),[e.pkce]),(0,t.jsx)(a.Provider,Object.assign({value:Q},{children:e.children}))};function C(e){return e.test(navigator.userAgent)}function k(){return C(/iPad|iPhone|iPod/)&&!window.MSStream?"ios":C(/Android/)?"android":null}function B(e){const{links:n,onError:t,onComplete:o,onInitiate:A}=e,[c,s]=(0,i.useState)(!1),{domain:d}=(0,i.useContext)(a);return(0,i.useEffect)((()=>{if(!c)return;const e=()=>{return i=this,r=void 0,c=function*(){const i=yield fetch(n.pollUrl);if(202!==i.status){if(!(i.status>=400)){const{targetUrl:e}=yield i.json();return void(yield o(`https://${d}${e}`))}{const e=yield i.text();t(e)}}else setTimeout(e,1e3)},new((A=void 0)||(A=Promise))((function(e,n){function t(e){try{s(c.next(e))}catch(e){n(e)}}function o(e){try{s(c.throw(e))}catch(e){n(e)}}function s(n){var i;n.done?e(n.value):(i=n.value,i instanceof A?i:new A((function(e){e(i)}))).then(t,o)}s((c=c.apply(i,r||[])).next())}));var i,r,A,c};return setTimeout(e,1e3),()=>{}}),[c]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{A(),s(!0)}}))}function E(e){const{links:n,onError:t,onComplete:o,onInitiate:A,onLog:c}=e,[s,a]=(0,i.useState)(!1);return function(e,n=[]){const t=(0,i.useRef)(document.visibilityState),[r,o]=(0,i.useState)(t.current);(0,i.useEffect)((()=>(document.addEventListener("visibilitychange",A),()=>{document.removeEventListener("visibilitychange",A)})),n);const A=()=>{const n=document.visibilityState;"hidden"===t.current&&"visible"===n&&e&&e(),t.current=n,o(t.current)}}((()=>{return e=this,t=void 0,r=function*(){c("android","onForeground",s.toString()),s&&o(n.completeUrl)},new((i=void 0)||(i=Promise))((function(n,o){function A(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(A,c)}s((r=r.apply(e,t||[])).next())}));var e,t,i,r}),[n,s]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{c("android","handleInitiate"),A(),a(!0)}}))}const U="@criipto/verify-react:sebankid:state",Q=function(){const e=sessionStorage.getItem(U);if(e)return JSON.parse(e)}();function S(e){const{links:n,onError:t,onComplete:o,onInitiate:A,onLog:c,pkce:s,redirectUri:a}=e;return(0,i.useEffect)((()=>{Q&&(sessionStorage.removeItem(U),o(Q.links.completeUrl))}),[]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{var e;c("iOS","handleInitiate"),e={links:n,redirectUri:a,pkce:s},sessionStorage.setItem(U,JSON.stringify(e)),A()}}))}var b=function(e,n,t,i){return new(t||(t=Promise))((function(r,o){function A(e){try{s(i.next(e))}catch(e){o(e)}}function c(e){try{s(i.throw(e))}catch(e){o(e)}}function s(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(A,c)}s((i=i.apply(e,n||[])).next())}))};const j=k();function O(e){var n,o;const[A,c]=(0,i.useState)(e.href),[s,d]=(0,i.useState)(null!==(n=null==Q?void 0:Q.links)&&void 0!==n?n:null),[l,u]=(0,i.useState)(null!==(o=null==Q?void 0:Q.pkce)&&void 0!==o?o:void 0),[g,h]=(0,i.useState)(null),[f,p]=(0,i.useState)([]),[v,w]=(0,i.useState)(!!Q),{buildAuthorizeUrl:m,completionStrategy:C,generatePKCE:k,handleResponse:U,redirectUri:O}=(0,i.useContext)(a),y=e.redirectUri||O,X=(...e)=>{console.log(e),p((n=>n.concat([e])))},D=(0,i.useCallback)((n=>b(this,void 0,void 0,(function*(){const t={pkce:l};u(void 0),d(null),c(e.href);const i=yield fetch(n);if(i.status>=400)return void h(yield i.text());const{location:r}=yield i.json();if("openidprovider"===C)return void(window.location.href=r);const o=new URL(r),A=(s=o.searchParams,Array.from(s.keys()).reduce(((e,n)=>(e[n]=s.get(n),e)),{}));var s;yield U(A,{pkce:t.pkce,redirectUri:y})}))),[C,l]),I=(0,i.useCallback)((()=>b(this,void 0,void 0,(function*(){X("SEBankID: Refresh authorize url");const e=yield k();m({acrValues:"urn:grn:authn:se:bankid:same-device",loginHint:"appswitch:browser",responseMode:"json",pkce:e,redirectUri:y}).then((e=>fetch(e).then((e=>e.json())))).then((n=>{u(e||void 0),d(n);const t="ios"===j?encodeURIComponent(window.location.href):"null",i=`${j?n.launchLinks.universalLink:n.launchLinks.customFileHandlerUrl}&redirect=${t}`;X(window.location.href),X(i),c(i)})).catch(console.error)}))),[m,y]);(0,i.useEffect)((()=>{v||I()}),[I,v]),(0,i.useEffect)((()=>{if(v)return;const e=setInterval((()=>{v||I()}),25e3);return()=>clearInterval(e)}),[I,v]);const G=()=>{X("Initiated"),w(!0),h(null)},W=e=>{w(!1),h(e)},N=(0,t.jsxs)("a",Object.assign({className:`${e.className} ${v?"criipto-eid-btn--disabled":""}`,href:A,onClick:G},{children:[(0,t.jsx)("div",Object.assign({className:"criipto-eid-logo"},{children:v?(0,t.jsx)("div",{className:"criipto-eid-loader"}):e.logo})),e.children]}));return(0,t.jsxs)(r().Fragment,{children:[s?(0,t.jsx)(r().Fragment,{children:null===j?(0,t.jsx)(B,Object.assign({links:s,onError:W,onComplete:D,onInitiate:G,onLog:X},{children:N})):"android"===j?(0,t.jsx)(E,Object.assign({links:s,onError:W,onComplete:D,onInitiate:G,onLog:X},{children:N})):"ios"===j?(0,t.jsx)(S,Object.assign({links:s,onError:W,onComplete:D,onInitiate:G,onLog:X,redirectUri:y,pkce:l},{children:N})):N}):N,g&&(0,t.jsx)("p",{children:g})]})}const y=k();function X(e){return(0,t.jsx)("a",Object.assign({className:`criipto-verify-button ${e.className}`,href:e.href,onClick:e.onClick},{children:e.children}))}function D(e){return(0,t.jsx)("button",Object.assign({className:`criipto-verify-button ${e.className}`,type:"button",onClick:e.onClick},{children:e.children}))}function I(e){const{acrValue:n}=e,r=(0,i.useContext)(a),A=`criipto-eid-btn ${l=n,(l=l.replace("urn:grn:authn:","")).split(":").reduce(((e,n)=>e.length?e.concat([`${e[e.length-1]}-${n}`]):e.concat([n])),[]).map((e=>`criipto-eid-btn--${e}`)).join(" ")}${e.className?` ${e.className}`:""}`,[c,s]=(0,i.useState)(e.href),d=e.redirectUri||r.redirectUri;var l;(0,i.useEffect)((()=>{if(e.href)return;let t;n.startsWith("urn:grn:authn:dk:mitid")&&y&&(t=`appswitch:${y} target:web`),r.buildAuthorizeUrl({redirectUri:d,acrValues:n,loginHint:t}).then(s).catch(console.error)}),[e.href,n,r.pkce,d]);const u=n=>{r.pkce&&"code_verifier"in r.pkce&&(0,o.savePKCEState)(r.store,{pkce_code_verifier:r.pkce.code_verifier,redirect_uri:d}),e.onClick&&e.onClick(n)};return"urn:grn:authn:se:bankid:same-device"===n?(0,t.jsx)(O,Object.assign({redirectUri:e.redirectUri,href:c,className:A,logo:(0,t.jsx)("img",{src:G(n),alt:""})},{children:e.children})):c?(0,t.jsxs)(X,Object.assign({},e,{href:c,className:A,onClick:u},{children:[G(n)?(0,t.jsx)("div",Object.assign({className:"criipto-eid-logo"},{children:(0,t.jsx)("img",{src:G(n),alt:""})})):null,e.children]})):(0,t.jsxs)(D,Object.assign({},e,{className:A,onClick:u},{children:[G(n)?(0,t.jsx)("div",Object.assign({className:"criipto-eid-logo"},{children:(0,t.jsx)("img",{src:G(n),alt:""})})):null,e.children]}))}function G(e){return e.startsWith("urn:grn:authn:be:eid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAAA8CAYAAAAe5VayAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUdSURBVHgB7Zzveds2EMZPffy9ygRBJrC9ATVB3AmsTOB4AjETSJ3A6gRNJjA9QdUJzEwQZQL0XvEgQZAIgCzo2CR/z4OQog6U9AZ/7g6EiXqE1nqhw/zg8g+Xv7nccclo5ECkiOd45vLARVELfqMRoLjMubQScxTxlDlVYuaxFUYR61lIN1chw1FEP4oLJqErn9EoYpgpVULe1hlMqEdI13sfMIMosMukTCmOLZfZZDLZ0MgBFn3KZS5jX6wrpNz7RLdEqZzR26fksuEWtbUvwsfkQx5Rv+C6M4oFwnFZipffN07GOV393ueIurcx4qGZr/QweNaWKDpOSDSqaaj1hW7SR3JHg1DvWxj7iSsgHx6pmr2GyJrHu0840VVi4tFju2Xbdzhx/cQhCwgwU3/GCQtU8OGrx3YqQh9ElOasaGShD27MfcD2I/7ZdWep9Ewjhq/cEv/ACWuD3pnV2JVs98G0xIxGbG70Yfb1dWlMQFMjYtjvGR5Gk28BO3UhJxk1Y0XH/0MFdQuiixs6/nxcyz110JIyqaeoObvMDXfXklvblupj7MsL3S4ljrDpybzge1DHbJ3Pw48q7Ws1oBXds/2cj/DrFMVj2/pE3M3OinoOi73mA+LdktpRet5TvcknOtEEoo0Hu5ehW/LhE3VAX5Oy6HpzqpKpylwUB7qgxPQ9sw0xH5xrXygxQ1geuNLHGZfkmelUIiLevKZqklJyjmtljT3co4zLO+5iiJo+UDVelZQeCLhfaJJk7JYSckEJ4C/2p3PpO5cNtwC4GEs6+Hg7f891TWTQX7M9xEWY5V1da4G77uJ1WZrSaXe2ZkTThWY+305ayf9xRepQ1CFJRERKSFfLCHArbp0ZEcIgmF/ZK2W6ypz/kJI79p24Il2RpDvTcfJyzgWh0kxaogmd9rOiiHZn1VkgCmG7ldgXgVDrVdFVd1bkuBbO6trHM3XcJEhBb4RULfEc6OJTd2lSWJ255tqVlI6ks7FLlyKCSy4nEwkL+1e4atIf7vqGihLStYg/z13kFgqX59JfNVmiuHQyQKndp05FLD3PrUDAnF6GtfM6uYhd+okrz3twzjsdpwTkPd1YOXkWP1ZECII1VoRnMbFnbkcxcGm09ZSBTDYIDQunHl7PqV18W1oFkc9n/pxr20CSsxklBt052CL4y5ilw634e787JhjjruRebtY7pyqrjLpPtu/Ih5kkB3C/n2Yml2sragBW3XzvSwCwoA6IEhGDsTW+4QcerQfwe4iRvzl1YJfTwanG60fbCZe65xIC3ykhsiC/oPbOu6/eNkpEBns+TJeGKFtZ/Ydw+wlEhEOLzMTO/XBF1UPlaz5+scW06i7oTJfTx/tNYDvV9XtQ8P57OuwKaCPexvnedZRm8d63QN0lu+5PhxTaa2IOfzbiwYbMTCwF/RrMsqai14cZ17OA3b9GxJdyOd4Ka2uo8blEuydudyLK4N5oNuw5O99Shx+x3o2btp+I1ljSSG61wpBLtD65oof7lKxhaWkxD9jWTzZ6uEIuG2rgDx919eD7Ug8DLE/cNBQw/llOueGD7mfLfNTVpvFpQwHBUStsshkI0QSigLah02sBnsjTmc1AsaHh/uH4EdoPW3f6pbalvQXkB6qAmYmrTeZp3CBpo9v/DYgYbuo+t+s1lj5w9tEXm1FEPyVVXbj0GY077+tBLuE6JCAYW+IpBZf7JhPIKGIFxr01VTupQjsSThiiiGZNp6AqlbVpI5zNf5XRuR7tdpDGAAAAAElFTkSuQmCC":e.startsWith("urn:grn:authn:nl:digid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAAAuCAYAAADwZJ3MAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUlSURBVHgB7Zzvdds4DMCRe/f9fBOEneDSCSJPUHeCcyZIOoGVCZxOYN0E6U1gZYKkE1idIOkEOMCkn3WqJEAiacmxf++hckMwpAn+AUEqAGeOmgsYCYho6PGJZELy/eLi4huMCKpfQo+/wNbvieqXwxkLNU6Kv7JxRh26bhOSx5r6rTgNBmY7Al1FulbmjXrhG3jCxqPHoiG5oDI+wICwoegxb0j+RvX7XNE/fFu63tSHV5I1yZLkCnrgRlobCQwEzwAoc1nJs8D+rNG2ZaKt42/gB/e0hOSO5NkZ429tZrRTpBHUrmE4jEIngXAkYNtyrW1LXwNWMSQZ6tcv7yk4Mpr6FRAHA/u2bJzdQhuwXDiPyLs2JTfv59DOPzAcBbQbkdO/Q1wM2LZM6xJjGZDh6XXZVHCJL9DcSA9k5AIGwnWwLy0qDyEcOSWLxrbE/k6Mlta5HK2zsC7ps3N0CyOB6jIjeS7Vjz/PGnQXGJe0rtCVkIkbdOPkFbvDeUQvFe2e6xJGiqvfRNBZKNpiU5I+JNVCV0KGVU1Fr12+DepYwwmAsgHXNXmuSG47tCXrbTtS7zWQ5n4OJ93QxylJpsiSYIctxilB7fhC8tUFLVJFFkOyXWJ+B0+ck3FDxikUhXN6FK8S97FUfu6mOXYwXkj+PaCz4QXV856+yw/6uBJU70jv6/YT9phC68D/OyJNJJU8K0H/UigzUZS7QbelQXmKu+7ynWrqs8B2nkHXlkuUuQ29jbhR6HyCQNAXeKAHrymJoGrAbmmWMDzaOOk9yIGEWVADuuk0F9QS8AStN8g9uetWg0fhHI4AN+VngtpVjI28dI7XK+hdIfX4PQaOhychfRLDgD8kBfTY61HeOXQfecfKi6Tg7YXWENvbWyj1uB6F+xxi1I+SmLHQ4LjRZwS1giShNeRPko8s9H/eX2XwDolhQI2X9RP6IXmwBcmUgwzlH7Jz5YIOKRwXRlKIYUDpANbn+kAipKdtpxe8SQbZSx4TRlKIYcCZkC4uzHWgjbS0jW7uGJooz6huuwlIoceXoAZUrlEZ9EOamrUdQ/SSx4DrsImgFs6ArkCNhyjtbfpi4J2A9qRBc3qTBTGgMx4XaATVzOOEXVo3DeruaQYL5cWgZDwjqLJj9uRlQBfSSunjM+hGwD30xBleMmLrDOA62hxGCtpTfm5Lzb415X+0G3k2VAJ2HWL5wxUyA31wNg1wv4XXuaQlnY9YflI5aTUB7Y2ARxgBuD+RMdCvLbOdw6Y14Axk77KNwrnwvrAHmQg6C7QHxxnsHRaeNn3qHxIDuvWtiQJKM1mMUFpdgVMIA/e6FOSeauD4Nu0aeAmZlmey2KG0olqgD4prfu+ZAmraMqYBc5KPoe910u/L6PEApwWv/Wy8X/a6MQzIo2ROhU1j3UOh38ujsI8RCziuoDa3X+qC8kWdQkgD5mBPvD8oQ1peOCNygLpQZsnBrsWSvpR+CHikpWDbstX52zkx7K3loOetJL63vqSyG08u3HSauRAee57sjk8q9dw2xu6EAru/NNo1dtu1LZkC9nXNqa5HEe6LggsuXDad+ne9ZXZmZGD7qwGqK39j4hD7wGC4a4FSmOlz03SO9m5o2x6y63R5pgvKy66PdescG0+Rd9SB7jpG82dGNKCNIWrDUDlY52D3GrgUvRn8DyqcBMpR2IfzizeHAN2tbAzLSbz6NhqcEVcYBu4M2mOcMyGhhp9j/7dcmeXZeCPAGZK9T83r36/OcAbeAf8BIoccO1vtVLIAAAAASUVORK5CYII=":e.startsWith("urn:grn:authn:dk:mitid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAAAjCAYAAABctgKLAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAS9SURBVHgB7Zv/VdswEMe/6ev/zQZ1J2g6Qc0EtBNgJgAmIEwQOkFgAmACzATABBET4E6g3iGlNUE/LMnBwuXznp5D9BPrfHc6XybIGCllSZev+s+ryWQikCG0zildSiqfqfBnQeWe1nuHd+Kgm3oqXzJHRvDGU1lSeZRmbrUQx47v4lGPf01lQeUgZq4JD2Cp4yfuFD1AcxzSZddQ1dAcPw3tK7oszaPhJ/W5xMDQGmd0uaBSdGh+QmueIxDeZYTTUOH7c05z1t7WHgkrkAiP4ZhjZelz6+hzgYHR/9OjDGOOQGQ6Kyp7rjlYA7ikrCYp2kECNPwtXWaWakHjfzH0YcEoELgm6vcDygab5qnRE571udgJWYdnb0I4g9JCwjiJhz1EQn0PPWPbNMC1o8/SMZ+t3zV6goVMxhO0DtkvK2nQ6B86rIOdsSkC0ZMdII4Ty/eNo+612EU8s5h72RMFletNIegiALzgJcI5RpyahFaT7ByK1tf83U4GR8EZ4uF7WWA4Cigh+CuEXQSAYbVXdmy79uIrJMCevvYPCi5s9zM5V6c+wZ8wLAXUw/lEVwFgll3Ul1Yxx+gJ2vQHLninTw7XpuBjQKcCamOPPO2iVf8aLWhGYWubAFe7DaYmByjSnNRI0273yAP2z45iPM3SNiLXyTBWEeN8T5jPO7ePxDmHPAVswnGMaYgJWLOUdlMQ4yy+KbSDKhDHIfKB93DXJQCN5fsChuOdVJGuAv8HfEJpAvvMSXhyUf9rZi4B4PcANq97LlUs/AnpdvzOoOzmaNCnkX10F4JT6jN0/MJE6TMB+466ReuzzbYJDB+42Qr6hdQ3KAG3IahU1NbnOA/F1HkKYEmnp5sXvzBUszPENs0V3GC1J2RvIe0X66vlc++eN8UUqKmRGJewzC/osk9rYCEvoXIX+H6whrij+hvkTeE9BvIrYfoHOfxZGqpZ7dscwjPqe44t044R0DqbLu22sAYBtybIlq6nAJu9s22+wEhV/9joFAjSapw3dIFuzHNN39oG2gxtBqWaN5AS1nSOBHpMQZtXUf1DIv/lAPL9sOUgQPs+NZRvkmNO411oIMh39BEYuerXji9HETkzqYI/FF1CHalXUuUPFsiHJkgAtAS7Nni0ql+qNDA+7rIZjH0jWFG51UKUA5fBoWCdKFobqkar+vVTy5tfIh0WnoXMI8P5JuZdALNpCgRGqvpbm1+gX44H1gScWymiBMBgCsbs9Se/3naNPaBP8JTyH6sB2qZgzKq/xBYiiC1i0+1S4WyrK/4QkhBiYh95YTuhzBBHb5lNDjikXvaZtu5BoJXUE60BGFb7mal+mwBM20cw7dEfuNSvrivxOqRkGody1N6zJAHIEFfkrYI6i3N0hs/xbMI+O9rHprTHUGH78MNRbf6sbmwC0GfCRYnXYyoTfkTaAQGVUv/CVxuVAGg7WqMfYv2GWL6if/ipn1P5ZnsvkeoE5gg7pknn9i0/jTb6FDjeeDZxv2jjnVlLoxMA/eaSfzzKHnyFOGJDvSkUiEdA+T81AhNR+NfB3y11D315+Dp/0PSLmN8m1aTfttlU4r1PqlvjFHieqbPGmbGj+7kcxG3w4l449uapPZXH1ESXPzSxXZJw46hxAAAAAElFTkSuQmCC":e.startsWith("urn:grn:authn:dk:nemid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJIAAAAeCAYAAADHCUctAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAU5SURBVHgB7Vvtdds6DEVy+v9lg+pNkHSCsBPUnaDOBHEmsDJB+iawO0GyQZQJ7DdB1AnaTsDimkBFq7KoD8qOE91zcGhZImHRIHgJkCfEsNYaLi5Z8pOTk28UCdxuwsWdtHsTeNZw8YX64Zb15LRbx5SLT3L5EPldDRfXLGcsy5htV+i64OKR3DtcBZ7F75mxnMtvCyEX+Z9lXdefZUWp3cazKO8NdK42GnhuauPguqWOGcV5z7SibUMDwXuX5wbPLmw/rFi+WOcUduIduVEEZCywdFSAF7mi/eG993nC8pM6gEfPU83tcylzlrXoueMOyrjemjrCOu8wl8uvLIZcP8K7ZnR4XEiJd0ypvm8TkQuvhCxxk98VHj+trOlZ3iXLxEYcrba5RzKe3pQGgDcyF3K90lFtO3pgjFKpvxm5VXqGgG3nkfT3zakl5P2mXhvaX0n52VP/gq3tgdyoAuY24M5igfVm5EaL6k1peHwm550SlnvqhoXUz6W9VwXwIxbwvX+p+H8SlpV44j84rah/S65jMErvbSS+FAL/WOhN5XJwYxISqdO3aatPnjdy+bkxKT1SyP8Dg8rJ2caj72hOKypgDsXoQunP/4PjAMaUcXHj6TNN6lm3+tN+mfXhWMcEGSwfydnGxtH8uenNfZd+JXAk756hDmjKkSrqzW1kzlTHXfi7pdz7EZrOS7zoro2eWNgXR6pp0+fSc/2y0pDk3n3TDt6hsJMhSd15TGMKGNKZ1+GY/892tOE/99xWTywc2pCk3Ue1DVyfBp4Hh8jJubHBOqYKMs0ph5lXjf6IuuCq1WXXTecpFeT6I71t3EqJwWVqDUk62CekUQJ4TYEVg6d/NuQol/n/xtO19a5yrTG36Wsn1yEIv9SY1KeQR9IKGhJAAM/QHlEypunAxrSk7fDHZolri1QPkAYCn28JmZQmaEiA5Mm00sIOHBIQLpLKPDzZszHpu2r4Q/NawFKm3BEOuZRnjQxJgD8SriyhYnRGh0whIJHgKYZcMlm9BXhJTh1TKC2g3DBhWVHBi25ohI9cyqSxIZUCeNPYfEm8EEY+jBTeALEZ4+8awDSLKGtoJ0FfyLv6keoNGRfOOKLAL/3QxiMNnUKBERn5DB7y4ZBcRIKMMNic5eqtk+sd+EfKn60MSbCVQqEIkDiR5m5mL4WH8O/4Kh7wgUZUIZEyb21I5RRKpPiObmgDmf2PRhwLdPDnXTySun31GrM+IQGsyqiw7HFFdCSQlbuRy4dOhgTA7VMRErjvwZd0w9l65CFHhYn3+amzIQl0T8/eUygjDg5NI4GO5L0MKVIKRZfUe9n3NKI/ZHGUyOWGjvT1SFUplIt2LWxOKwDJvtMvI9pD/iP1RqnSkd6GBJRSKG13VYK4q1e6po7QgGbdNpAR/WDdhj4N+Wyli6IYkqBTCkWmR/1BE9th75EYjgY0ExoRFTJIMeuAB+u5va1TRtEMqbQNo1UKpbQC3Ow9aroKFFeLfJgf0BxTGREgGxNTcrlPnS1mVYcy31FEILHKirGchxFtTtjKrSZ7mrEChNs0Uh/eKeMSJ1bXvnGIkeHE7ISKWAbuz4Y84XrkQH9+DzyDlEciYmh7AZRRXarIFrikCBA3uLLbaMx97N/nqHzs+n5hw3utF/osDQj78rbazm13PEv985AeeCRMK0msBKl4jg/WGWZC7tx/47Zluwg825Sc19FTn+SVOTkvl7F8aziVwVNhhA2dgkH7iegbCmsq3r8WIMTWeaImZ/9zcp4d5dOrpAjcGe8hNOJF4jf9Ajp09a6TmAAAAABJRU5ErkJggg==":e.startsWith("urn:grn:authn:fi:bank-id")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJsAAAA8CAYAAABxeMjaAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAgzSURBVHgB7Z3/fdo6EMCPfvp/2eCpE5ROEGeCphOUTBDeBPAmSDoBZIKmE0AnCJ1A7gThTXDVRScsZMn4JzZE389HH2PZkoV11p1OsjyCjkFEoTaJCp9UoN8TFcYcDDsVUt5u+fev0Wi0hUikCCVgiQr3KrxgMyj9UoUbiEQMSiDGKiywuYCFkCx4AiJvkxMImY9lFLrzYwQNUBU+U5s5HNpfIYxdZmwyFwGHNl2Z/L4ru24BkcuFWhUV1iVaIDrnToV/KuY/UWGqwo8S15CxlbtQUBv/RSqTjs1VKNM6lbmeYMGTR675DSKXg6rQ2amELHD9Y0K3gMj5g7oTEOK+SyFzyjFmoY4Cd4kUCBq1ZlfQA6jtOhkF7oLAsOqU2LNhjtqee44CdwFw6+GDKvgkavMYqNXqKlDOOPJwDnCrIYcsaDbod5O89N36RkqA2kvvIodaedzC+VTqGiLDBbWL4exaCW6NfT7A6IMbKuhXn3dwBqB2OvselMGp/jdPoFVbwhmBfhNgDpFeyQ3EU6sGekDc5qMa8E6hBK6qddNRywPZREpqbcwA/W917gZagFsxCfkJmvQ/dhDpnzZaNVcFW/FjPD4NSWJL04fQP8pwFqbAmwD9MzlExTxkQNgElkdiQ6Me/cIde6ZDICAMP6Ai2I6wGRbQANRjti6VpjtF2uO99TvxHF9B+9DkyQ1kkyjHfG3y9gvn3DnJa4MJkj9VmDlxUxX+gwqgtjPLsB2CTchaYcq7VKZ/S6azJ67u7BeOnGM+yv93zHvgX6AGWGyzXR1JG5pCNIOaYAuqFKuxgJ7BQ3u19P/FQzNq6RyTx//6q1M9aP68s35PnGMbaBGSehV+HTlnpTbXkJ82Psf6frKVsz/Bbn1uVNa3OiZLMrTCwEjTqxrlA+7BDfQAuUpUeUjgniFrtmlLPclK6o/57exTXgK0Gq/DkyetgExtEXd83qWyhcN7YEwhU19ChbWqx8851Yp+r3uteWoYUKM18nHdMHXVuq9jUqmnWyYt5l0t44L8xtjQvcP/a1yiLF2o0XmJ6xIHHUyjRj950v6GHmGVaj8VVEETqEjAGS2gfX4WHUT9QK/5oaFgKu+5QIAlh7UnD3Jav3D6SvcF9WTYfd7Yklmh7jVpngcr6sYumxG2sSfhEDztK2f/E9QjdfYFtI9d4al9/1hYKCSQv9fGzvE5z4UJqDtJvjwofWmBwez1S8FRty3XNQmcnd9eQxphE06CFIZB6uwLqEebN1NwC2MHstFs1bJw0mx4u4LMxfNZBdslMcVwr5sE6Z5/7zi/1Dl+1DRQ+U+dfL6WHYYsCwuubc8l5sd7GDb/Qzu4wiagPgsovs5C3fBHJ/67Co9Oxf5RYasE4IOV5xc4VEMG02otWFWZTp3diSpUpazO7q2o2w4X7qF8E/4tTOQ7GDYf4Lygir/B/GSEnRE0NuyFdY5tGxcJzMoIGueZwmGPV4QS8rXWkAnmTKXvsre88/0eesuWOPttPYlN1OoK/G6hBLT7g7ZkQ+27/WxPkYokVSdMAtSdddeFUHRdlxSOI+BQ0MjT/x26xfvQGGFLnXgBPYPZum42dXvIwtlvImwbj5okHq0y0/bVL8iCRpU9sa79ZJUrgW4Rzj45talle4DusIVt/zAZNZq7+dj/gPUUDp/0bQNjVjj7KXTDxvp9w9spZDefhIzm1N1yIOf1V+geql+7MzLHjqb4ox6uE1bUXl0bYfvjSfcReoKNWddxWOtJDPigujKME0/cF+v3k8fN0GZP2Ueqwmduycw9pIe49dnX3Nu16y21hyiNGvXdfPJpbeDEoJ5h4U5tSgOqqwzCE9ekggXmZ4GY4Ro7fuu5Fgn+/n9w6+J66ict9xJTSyNQB8O4XpIG6nTCgmX4wPkmVhz972tvaszPjqg8l43zkXYmVjxV0jLUfKMewnlAPwJqgp73EaAiWJ39m2iYH3Zbc5nWmN1zaR8PXPfKU655IJ03no+5Q5OJdWxtxdeZ9WGg/5XTKLbrw+0KU6GKekd1mIIeplmjntg45y3dEBqC8U3bnjV0PCbO/ga6ZaPCtSkzD7s9OOWZQlaur3BCDcLvedjlWbZYz9SarUCr7VzrbLs+3INUAJLODbRPAsd7YVTwWQP1aVSycKKfoDqLEue8es5906ho8qIqC/WkyX4bQzYKQI7enTq25Tg6tg1c12dX/7LOSUvE2+Wx1bvg6z5CVt9uz/8Bwq6ZHWQrvB83UVCrMZc6Ew2lnYEVL7A8a6wx6O4py9KTt4BI/2C3L7yMsXhp1Bc+3soSXAHhfoZIb7gjCNRbSZw46sreQkO4eb1GbR9QT3cMWbNMTXY6anf2wdQTV8t9EukI9Pc6RN300APoX/NDQqRXfAPxvqnXrTsAO8a3XP4KIsMDG7zh1HfLhv63+iXGhWWGCYZXAhIl0sq+hA3DCxhWeucgcmLQv5KjPCZwfQkb6t6uT9DikgtDp6DyCpc57VHYaj0ckYGANRZwPrWwYVzA+XLAikvT4wmFDYuXpp9D5PzA8BdVJDrGN55I2FB3YmQUtAsEiz/h88U6T3YpbFg8FSkK2qVQIHDfrHNkV8KG2of2EgXtjaAq9Abz6qszYcNyX2qOn4C8VDD/cdtWhY3zv8NyH9ClDoKAyOCp9d4oz0KlGRxTyL+Y4gWz+fYphD/bPYFsFfFjmLfPu34HMjIUuBWaWPvS17JhvTV1Q5zs+6aRAeOqPiu+qbB1/qXmyBnCgkWtj3Ti6gjYUoWrKGTnzwhOBAsLvR5IWwH5r6+YpZZSyF6eaPP9yUjP/AWAjNmVqO0z0AAAAABJRU5ErkJggg==":e.startsWith("urn:grn:authn:fi")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:itsme")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:se:bankid")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:de:sofort")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:no:bankid")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:no:vipps")?"data:image/png;base64,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":void 0}function W(e,n){const t=u(e),i=n.reduce(((e,n)=>e+(u(n)===t?1:0)),0);return 1===i}function N(e){var n,r;const{fetchOpenIDConfiguration:o,action:A}=(0,i.useContext)(a),c=e.language||"en",[s,d]=(0,i.useState)(null);(0,i.useEffect)((()=>{e.acrValues||(()=>{var e,n,t,i;e=this,n=void 0,i=function*(){d(yield o())},new((t=void 0)||(t=Promise))((function(r,o){function A(e){try{s(i.next(e))}catch(e){o(e)}}function c(e){try{s(i.throw(e))}catch(e){o(e)}}function s(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(A,c)}s((i=i.apply(e,n||[])).next())}))})()}),[e.acrValues]);const u=h(null!==(r=null!==(n=e.acrValues)&&void 0!==n?n:null==s?void 0:s.acr_values_supported)&&void 0!==r?r:[]);return(0,t.jsx)("div",Object.assign({className:"criipto-eid-selector"},{children:u.map((n=>{return(0,t.jsxs)(I,Object.assign({acrValue:n,onClick:e.onSelect?()=>e.onSelect(n):void 0,redirectUri:e.redirectUri},{children:[l(c,A)?`${l(c,A)} `:"",g(c,n).title," ",W(n,u)?null:(i=g(c,n).subtitle,i?i.substring(0,1).toLowerCase()+i.substr(1,i.length):i)]}),n);var i}))}))}function R(){const{result:e,loginWithRedirect:n,loginWithPopup:t,isLoading:r}=(0,i.useContext)(a);return{result:e,loginWithRedirect:n,loginWithPopup:t,isLoading:r}}var x=n.AuthMethodButton,Y=n.AuthMethodSelector,V=n.CriiptoVerifyProvider,M=n.OAuth2Error,H=n.useCriiptoVerify;export{x as AuthMethodButton,Y as AuthMethodSelector,V as CriiptoVerifyProvider,M as OAuth2Error,H as useCriiptoVerify};
|
|
1
|
+
var e={n:n=>{var t=n&&n.__esModule?()=>n.default:()=>n;return e.d(t,{a:t}),t},d:(n,t)=>{for(var i in t)e.o(t,i)&&!e.o(n,i)&&Object.defineProperty(n,i,{enumerable:!0,get:t[i]})},o:(e,n)=>Object.prototype.hasOwnProperty.call(e,n)},n={};e.d(n,{AuthMethodButton:()=>I,AuthMethodSelector:()=>N,CriiptoVerifyProvider:()=>m,OAuth2Error:()=>o.OAuth2Error,useCriiptoVerify:()=>R});const t=require("react/jsx-runtime"),i=require("react");var r=e.n(i);const o=require("@criipto/auth-js");var A=e.n(o);const c=()=>{throw new Error("You forgot to wrap your component in <CriiptoVerifyProvider>.")},a={loginWithRedirect:c,loginWithPopup:c,fetchOpenIDConfiguration:c,buildAuthorizeUrl:c,generatePKCE:c,handleResponse:c,responseType:"token",completionStrategy:"client",result:null,domain:"",action:"login",pkce:void 0,store:sessionStorage,isLoading:!1},s=(0,i.createContext)(a);function d(e){return e.split(/:|-/).map((e=>2===(e=e.replace(/id(\s|$)/,"ID")).length?e.toUpperCase():e.substr(0,1).toUpperCase()+e.substr(1))).join(" ")}function l(e,n){return"login"===n?"da"===e?"Login med":"sv"===e?"Logga in med":"nb"===e?"Logg inn med":"Login with":"approve"===n?"da"===e?"Godkend med":"sv"===e?"Godkänn med":"nb"===e?"Godkjenne med":"Approve with":"sign"===n?"da"===e?"Underskriv med":"sv"===e?"Signera med":"nb"===e?"Signer med":"Sign with":"confirm"===n?"da"===e?"Bekræft med":"sv"===e?"Bekräfta med":"nb"===e?"Bekreft med":"Confirm with":"accept"===n?"da"===e?"Accepter med":"sv"===e?"Acceptera med":"nb"===e?"Aksepterer med":"Accept with":void function(e){throw new Error("Didn't expect to get here")}()}function u(e){return(e=e.replace("urn:grn:authn:","")).startsWith("fi")?"fi":e.startsWith("itsme")?"itsme":e.split(":").slice(0,2).join(":")}function g(e,n){const t=u(n=n.replace("urn:grn:authn:",""));if("be:eid"===t)return{title:d(n).replace("BEEID","Belgian eID")};if("nl:digid"===t)return{title:d(n).replace("NL ","")};if("dk:mitid"===t)return{title:"MitID"};if("dk:nemid"===t){let t,i=n.replace("dk:nemid:","");return"poces"===i&&("en"===e&&(t="Personal"),"da"===e&&(t="Personlig"),"sv"===e&&(t="Personlig"),"nb"===e&&(t="Personlig")),"moces"===i&&("en"===e&&(t="Employee key card"),"da"===e&&(t="Medarbejder nøglekort"),"sv"===e&&(t="Anställd nyckelkort"),"nb"===e&&(t="Ansatt nøkkelkort")),"moces:codefile"===i&&("en"===e&&(t="Employee key file"),"da"===e&&(t="Medarbejder nøglefil"),"sv"===e&&(t="Anställd nyckelfil"),"nb"===e&&(t="Ansatt nøkkelfil")),{title:"NemID",subtitle:t}}if("fi"===t)return{title:d(n).replace("FI","FTN")};if("itsme"===t)return{title:d(n).replace("me","ME")};if("se:bankid"===t){let t,i=n.replace("se:bankid:","");return"same-device"===i&&("en"===e&&(t="On this device"),"da"===e&&(t="På denne enhed"),"sv"===e&&(t="På denna enheten"),"nb"===e&&(t="På denne enheten")),"another-device"===i&&("en"===e&&(t="With your SSN"),"da"===e&&(t="Med dit personnummer"),"sv"===e&&(t="Med ditt personnummer"),"nb"===e&&(t="Med personnummeret ditt")),"another-device:qr"===i&&("en"===e&&(t="With QR Code"),"da"===e&&(t="Med QR-kode"),"sv"===e&&(t="Med QR-kod"),"nb"===e&&(t="Med QR-kode")),{title:"BankID",subtitle:t}}if("de:sofort"===t)return{title:d(n).replace("DE ","")};if("no:bankid"===t){let t;return n.endsWith(":substantial")&&("en"===e&&(t="Biometrics"),"da"===e&&(t="Biometri "),"sv"===e&&(t="Biometri"),"nb"===e&&(t="Biometri")),{title:t?"BankID":d(n).replace("NO ",""),subtitle:t}}return"no:vipps"===t?{title:d(n).replace("NO ","")}:{title:d(n)}}function h(e){let n=e.slice(),t=function(e){let n=null;return e.forEach((e=>{if(e.startsWith("urn:grn:authn:dk:mitid"))if(n){let t=e.replace("urn:grn:authn:dk:mitid",""),i=n.replace("urn:grn:authn:dk:mitid","");(":low"===t&&[":substantial",":high"].includes(i)||":substantial"===t&&":high"===i)&&(n=e)}else n=e})),n}(e);return t?e.filter((e=>!e.startsWith("urn:grn:authn:dk:mitid"))).concat([t]).sort(((e,t)=>n.indexOf(e)-n.indexOf(t))):e}require("@criipto/auth-js/dist/index.css");var f=function(e,n,t,i){return new(t||(t=Promise))((function(r,o){function A(e){try{a(i.next(e))}catch(e){o(e)}}function c(e){try{a(i.throw(e))}catch(e){o(e)}}function a(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(A,c)}a((i=i.apply(e,n||[])).next())}))};const p=["urn:grn:authn:dk:mitid:low","urn:grn:authn:dk:mitid:substantial","urn:grn:authn:dk:mitid:high","urn:grn:authn:se:bankid:same-device","urn:grn:authn:se:bankid:another-device","urn:grn:authn:se:bankid:another-device:qr"];function v(e){const{options:n,action:t}=e,i=(null==n?void 0:n.acrValues)?Array.isArray(null==n?void 0:n.acrValues)?null==n?void 0:n.acrValues:[null==n?void 0:n.acrValues]:[];let r=(null==n?void 0:n.loginHint)?null==n?void 0:n.loginHint.split(" "):[];return t&&(1===i.length?p.includes(i[0])&&r.push(`action:${t}`):i.length>=2?i.some((e=>p.includes(e)))&&r.push(`action:${t}`):r.push(`action:${t}`)),r.length?r.join(" "):void 0}const w=sessionStorage,m=e=>{const n=e.redirectUri||window.location.href,[r]=(0,i.useState)((()=>new(A())({domain:e.domain,clientID:e.clientID,store:w,redirectUri:e.redirectUri}))),[c,a]=(0,i.useState)(null);(0,i.useEffect)((()=>{f(void 0,void 0,void 0,(function*(){a(yield r.fetchOpenIDConfiguration())}))}),[r]);const[d,l]=(0,i.useState)(null),[u,g]=(0,i.useState)(!1),[p,m]=(0,i.useState)(e.pkce),C=e.response||"token",k=e.completionStrategy||"client",U=e.action||"login",B=()=>{e.pkce||"token"===C&&"client"===k&&((0,o.clearPKCEState)(w),f(void 0,void 0,void 0,(function*(){const e=yield(0,o.generatePKCE)();m(e)})))},E=(0,i.useCallback)((t=>Object.assign(Object.assign({pkce:p,state:e.state,prompt:e.prompt,uiLocales:e.uiLocales,redirectUri:n},t||{}),{loginHint:v({options:t,action:U})})),[p,e.state,e.prompt,e.uiLocales,U,n]),Q=(0,i.useMemo)((()=>{const e=e=>f(void 0,void 0,void 0,(function*(){return yield r.buildAuthorizeUrl(r.buildAuthorizeParams(E(e)))}));return{loginWithRedirect:t=>f(void 0,void 0,void 0,(function*(){p&&"code_verifier"in p&&(0,o.savePKCEState)(w,{pkce_code_verifier:p.code_verifier,redirect_uri:n});const i=yield e(t);window.location.href=i})),loginWithPopup:e=>"code"===C?r.popup.trigger(E(e)).then((e=>{(null==e?void 0:e.code)?l({code:e.code}):l(null)})).catch((e=>{l(e)})):r.popup.authorize(E(e)).then((e=>{(null==e?void 0:e.code)?l({code:e.code}):(null==e?void 0:e.id_token)?l({id_token:e.id_token}):l(null)})).catch((e=>{l(e)})),fetchOpenIDConfiguration:()=>r.fetchOpenIDConfiguration(),buildAuthorizeUrl:e,generatePKCE:()=>f(void 0,void 0,void 0,(function*(){if("token"===C&&"client"===k)return yield(0,o.generatePKCE)()})),handleResponse:(e,t)=>f(void 0,void 0,void 0,(function*(){if(t.pkce&&"token"===C){let i=t.redirectUri||n;if(!i)throw new Error("redirectUri must be configured globally or per authentication component");yield r.processResponse(e,{code_verifier:t.pkce.code_verifier,redirect_uri:i}).then((e=>{(null==e?void 0:e.code)?l({code:e.code}):(null==e?void 0:e.id_token)?l({id_token:e.id_token}):l(null)})).catch((e=>{l(e)}))}else(null==e?void 0:e.code)?l({code:e.code}):(null==e?void 0:e.error)?l(new o.OAuth2Error(e.error,e.error_description)):l(null);B()})),responseType:C,completionStrategy:k,result:d,domain:r.domain,redirectUri:n,action:U,pkce:p,store:w,isLoading:u,acrValues:c?h(c.acr_values_supported):void 0}}),[r,n,C,k,d,U,p,e.state,e.prompt,u,c]);return(0,i.useEffect)((()=>{if(!r.redirect.hasMatch())return void B();g(!0);const e=(0,o.parseAuthorizeResponseFromLocation)(window.location);if(e.code&&"code"===C)return g(!1),l({code:e.code}),void B();r.redirect.match().then((e=>{g(!1),(null==e?void 0:e.code)?l({code:e.code}):(null==e?void 0:e.id_token)?l({id_token:e.id_token}):l(null),B()})).catch((e=>{g(!1),l(e),B()}))}),[e.pkce,C]),(0,t.jsx)(s.Provider,Object.assign({value:Q},{children:e.children}))};function C(e){return e.test(navigator.userAgent)}function k(){return C(/iPad|iPhone|iPod/)&&!window.MSStream?"ios":C(/Android/)?"android":null}function U(e){const{links:n,onError:t,onComplete:o,onInitiate:A}=e,[c,a]=(0,i.useState)(!1),{domain:d}=(0,i.useContext)(s);return(0,i.useEffect)((()=>{if(!c)return;const e=()=>{return i=this,r=void 0,c=function*(){const i=yield fetch(n.pollUrl);if(202!==i.status){if(!(i.status>=400)){const{targetUrl:e}=yield i.json();return void(yield o(`https://${d}${e}`))}{const e=yield i.text();t(e)}}else setTimeout(e,1e3)},new((A=void 0)||(A=Promise))((function(e,n){function t(e){try{a(c.next(e))}catch(e){n(e)}}function o(e){try{a(c.throw(e))}catch(e){n(e)}}function a(n){var i;n.done?e(n.value):(i=n.value,i instanceof A?i:new A((function(e){e(i)}))).then(t,o)}a((c=c.apply(i,r||[])).next())}));var i,r,A,c};return setTimeout(e,1e3),()=>{}}),[c]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{A(),a(!0)}}))}function B(e){const{links:n,onError:t,onComplete:o,onInitiate:A,onLog:c}=e,[a,s]=(0,i.useState)(!1);return function(e,n=[]){const t=(0,i.useRef)(document.visibilityState),[r,o]=(0,i.useState)(t.current);(0,i.useEffect)((()=>(document.addEventListener("visibilitychange",A),()=>{document.removeEventListener("visibilitychange",A)})),n);const A=()=>{const n=document.visibilityState;"hidden"===t.current&&"visible"===n&&e&&e(),t.current=n,o(t.current)}}((()=>{return e=this,t=void 0,r=function*(){c("android","onForeground",a.toString()),a&&o(n.completeUrl)},new((i=void 0)||(i=Promise))((function(n,o){function A(e){try{a(r.next(e))}catch(e){o(e)}}function c(e){try{a(r.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(A,c)}a((r=r.apply(e,t||[])).next())}));var e,t,i,r}),[n,a]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{c("android","handleInitiate"),A(),s(!0)}}))}const E="@criipto/verify-react:sebankid:state",Q=function(){const e=sessionStorage.getItem(E);if(e)return JSON.parse(e)}();function S(e){const{links:n,onError:t,onComplete:o,onInitiate:A,onLog:c,pkce:a,redirectUri:s}=e;return(0,i.useEffect)((()=>{Q&&(sessionStorage.removeItem(E),o(Q.links.completeUrl))}),[]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{var e;c("iOS","handleInitiate"),e={links:n,redirectUri:s,pkce:a},sessionStorage.setItem(E,JSON.stringify(e)),A()}}))}var b=function(e,n,t,i){return new(t||(t=Promise))((function(r,o){function A(e){try{a(i.next(e))}catch(e){o(e)}}function c(e){try{a(i.throw(e))}catch(e){o(e)}}function a(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(A,c)}a((i=i.apply(e,n||[])).next())}))};const j=k();function O(e){var n,o;const[A,c]=(0,i.useState)(e.href),[a,d]=(0,i.useState)(null!==(n=null==Q?void 0:Q.links)&&void 0!==n?n:null),[l,u]=(0,i.useState)(null!==(o=null==Q?void 0:Q.pkce)&&void 0!==o?o:void 0),[g,h]=(0,i.useState)(null),[f,p]=(0,i.useState)([]),[v,w]=(0,i.useState)(!!Q),{buildAuthorizeUrl:m,completionStrategy:C,generatePKCE:k,handleResponse:E,redirectUri:O}=(0,i.useContext)(s),y=e.redirectUri||O,X=(...e)=>{console.log(e),p((n=>n.concat([e])))},D=(0,i.useCallback)((n=>b(this,void 0,void 0,(function*(){const t={pkce:l};u(void 0),d(null),c(e.href);const i=yield fetch(n);if(i.status>=400)return void h(yield i.text());const{location:r}=yield i.json();if("openidprovider"===C)return void(window.location.href=r);const o=new URL(r),A=(a=o.searchParams,Array.from(a.keys()).reduce(((e,n)=>(e[n]=a.get(n),e)),{}));var a;yield E(A,{pkce:t.pkce,redirectUri:y})}))),[C,l]),I=(0,i.useCallback)((()=>b(this,void 0,void 0,(function*(){X("SEBankID: Refresh authorize url");const e=yield k();m({acrValues:"urn:grn:authn:se:bankid:same-device",loginHint:"appswitch:browser",responseMode:"json",pkce:e,redirectUri:y}).then((e=>fetch(e).then((e=>e.json())))).then((n=>{u(e||void 0),d(n);const t="ios"===j?encodeURIComponent(window.location.href):"null",i=`${j?n.launchLinks.universalLink:n.launchLinks.customFileHandlerUrl}&redirect=${t}`;X(window.location.href),X(i),c(i)})).catch(console.error)}))),[m,y]);(0,i.useEffect)((()=>{v||I()}),[I,v]),(0,i.useEffect)((()=>{if(v)return;const e=setInterval((()=>{v||I()}),25e3);return()=>clearInterval(e)}),[I,v]);const G=()=>{X("Initiated"),w(!0),h(null)},W=e=>{w(!1),h(e)},N=(0,t.jsxs)("a",Object.assign({className:`${e.className} ${v?"criipto-eid-btn--disabled":""}`,href:A,onClick:G},{children:[(0,t.jsx)("div",Object.assign({className:"criipto-eid-logo"},{children:v?(0,t.jsx)("div",{className:"criipto-eid-loader"}):e.logo})),e.children]}));return(0,t.jsxs)(r().Fragment,{children:[a?(0,t.jsx)(r().Fragment,{children:null===j?(0,t.jsx)(U,Object.assign({links:a,onError:W,onComplete:D,onInitiate:G,onLog:X},{children:N})):"android"===j?(0,t.jsx)(B,Object.assign({links:a,onError:W,onComplete:D,onInitiate:G,onLog:X},{children:N})):"ios"===j?(0,t.jsx)(S,Object.assign({links:a,onError:W,onComplete:D,onInitiate:G,onLog:X,redirectUri:y,pkce:l},{children:N})):N}):N,g&&(0,t.jsx)("p",{children:g})]})}const y=k();function X(e){return(0,t.jsx)("a",Object.assign({className:`criipto-verify-button ${e.className}`,href:e.href,onClick:e.onClick},{children:e.children}))}function D(e){return(0,t.jsx)("button",Object.assign({className:`criipto-verify-button ${e.className}`,type:"button",onClick:e.onClick},{children:e.children}))}function I(e){const{acrValue:n}=e,A=(0,i.useContext)(s),c=`criipto-eid-btn ${h=n,(h=h.replace("urn:grn:authn:","")).split(":").reduce(((e,n)=>e.length?e.concat([`${e[e.length-1]}-${n}`]):e.concat([n])),[]).map((e=>`criipto-eid-btn--${e}`)).join(" ")}${e.className?` ${e.className}`:""}`,[a,d]=(0,i.useState)(null),[l,u]=(0,i.useState)(e.href),g=e.redirectUri||A.redirectUri;var h;(0,i.useEffect)((()=>{if(e.href)return;let t;n.startsWith("urn:grn:authn:dk:mitid")&&y&&(t=`appswitch:${y} target:web`),A.buildAuthorizeUrl({redirectUri:g,acrValues:n,loginHint:t}).then(u).catch(console.error)}),[e.href,n,A.pkce,g]);const f=t=>{if(A.pkce&&"code_verifier"in A.pkce&&(0,o.savePKCEState)(A.store,{pkce_code_verifier:A.pkce.code_verifier,redirect_uri:g}),e.popup){let i="function"==typeof e.popup?e.popup({acrValue:n,onHide:()=>d(null)}):!0===e.popup;!1!==i&&(t.preventDefault(),"boolean"==typeof i?A.loginWithPopup({acrValues:[n],redirectUri:e.redirectUri,backdrop:!0}):(d(i),A.loginWithPopup({acrValues:[n],redirectUri:e.redirectUri,backdrop:!1})))}e.onClick&&e.onClick(t)};if("urn:grn:authn:se:bankid:same-device"===n)return(0,t.jsx)(O,Object.assign({redirectUri:e.redirectUri,href:l,className:c,logo:(0,t.jsx)("img",{src:G(n),alt:""})},{children:e.children}));const p=(0,t.jsxs)(r().Fragment,{children:[G(n)?(0,t.jsx)("div",Object.assign({className:"criipto-eid-logo"},{children:(0,t.jsx)("img",{src:G(n),alt:""})})):null,e.children]});return l?(0,t.jsxs)(r().Fragment,{children:[(0,t.jsx)(X,Object.assign({},e,{href:l,className:c,onClick:f},{children:p})),a]}):(0,t.jsxs)(r().Fragment,{children:[(0,t.jsx)(D,Object.assign({},e,{className:c,onClick:f},{children:p})),a]})}function G(e){return e.startsWith("urn:grn:authn:be:eid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAAA8CAYAAAAe5VayAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUdSURBVHgB7Zzveds2EMZPffy9ygRBJrC9ATVB3AmsTOB4AjETSJ3A6gRNJjA9QdUJzEwQZQL0XvEgQZAIgCzo2CR/z4OQog6U9AZ/7g6EiXqE1nqhw/zg8g+Xv7nccclo5ECkiOd45vLARVELfqMRoLjMubQScxTxlDlVYuaxFUYR61lIN1chw1FEP4oLJqErn9EoYpgpVULe1hlMqEdI13sfMIMosMukTCmOLZfZZDLZ0MgBFn3KZS5jX6wrpNz7RLdEqZzR26fksuEWtbUvwsfkQx5Rv+C6M4oFwnFZipffN07GOV393ueIurcx4qGZr/QweNaWKDpOSDSqaaj1hW7SR3JHg1DvWxj7iSsgHx6pmr2GyJrHu0840VVi4tFju2Xbdzhx/cQhCwgwU3/GCQtU8OGrx3YqQh9ElOasaGShD27MfcD2I/7ZdWep9Ewjhq/cEv/ACWuD3pnV2JVs98G0xIxGbG70Yfb1dWlMQFMjYtjvGR5Gk28BO3UhJxk1Y0XH/0MFdQuiixs6/nxcyz110JIyqaeoObvMDXfXklvblupj7MsL3S4ljrDpybzge1DHbJ3Pw48q7Ws1oBXds/2cj/DrFMVj2/pE3M3OinoOi73mA+LdktpRet5TvcknOtEEoo0Hu5ehW/LhE3VAX5Oy6HpzqpKpylwUB7qgxPQ9sw0xH5xrXygxQ1geuNLHGZfkmelUIiLevKZqklJyjmtljT3co4zLO+5iiJo+UDVelZQeCLhfaJJk7JYSckEJ4C/2p3PpO5cNtwC4GEs6+Hg7f891TWTQX7M9xEWY5V1da4G77uJ1WZrSaXe2ZkTThWY+305ayf9xRepQ1CFJRERKSFfLCHArbp0ZEcIgmF/ZK2W6ypz/kJI79p24Il2RpDvTcfJyzgWh0kxaogmd9rOiiHZn1VkgCmG7ldgXgVDrVdFVd1bkuBbO6trHM3XcJEhBb4RULfEc6OJTd2lSWJ255tqVlI6ks7FLlyKCSy4nEwkL+1e4atIf7vqGihLStYg/z13kFgqX59JfNVmiuHQyQKndp05FLD3PrUDAnF6GtfM6uYhd+okrz3twzjsdpwTkPd1YOXkWP1ZECII1VoRnMbFnbkcxcGm09ZSBTDYIDQunHl7PqV18W1oFkc9n/pxr20CSsxklBt052CL4y5ilw634e787JhjjruRebtY7pyqrjLpPtu/Ih5kkB3C/n2Yml2sragBW3XzvSwCwoA6IEhGDsTW+4QcerQfwe4iRvzl1YJfTwanG60fbCZe65xIC3ykhsiC/oPbOu6/eNkpEBns+TJeGKFtZ/Ydw+wlEhEOLzMTO/XBF1UPlaz5+scW06i7oTJfTx/tNYDvV9XtQ8P57OuwKaCPexvnedZRm8d63QN0lu+5PhxTaa2IOfzbiwYbMTCwF/RrMsqai14cZ17OA3b9GxJdyOd4Ka2uo8blEuydudyLK4N5oNuw5O99Shx+x3o2btp+I1ljSSG61wpBLtD65oof7lKxhaWkxD9jWTzZ6uEIuG2rgDx919eD7Ug8DLE/cNBQw/llOueGD7mfLfNTVpvFpQwHBUStsshkI0QSigLah02sBnsjTmc1AsaHh/uH4EdoPW3f6pbalvQXkB6qAmYmrTeZp3CBpo9v/DYgYbuo+t+s1lj5w9tEXm1FEPyVVXbj0GY077+tBLuE6JCAYW+IpBZf7JhPIKGIFxr01VTupQjsSThiiiGZNp6AqlbVpI5zNf5XRuR7tdpDGAAAAAElFTkSuQmCC":e.startsWith("urn:grn:authn:nl:digid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAAAuCAYAAADwZJ3MAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUlSURBVHgB7Zzvdds4DMCRe/f9fBOEneDSCSJPUHeCcyZIOoGVCZxOYN0E6U1gZYKkE1idIOkEOMCkn3WqJEAiacmxf++hckMwpAn+AUEqAGeOmgsYCYho6PGJZELy/eLi4huMCKpfQo+/wNbvieqXwxkLNU6Kv7JxRh26bhOSx5r6rTgNBmY7Al1FulbmjXrhG3jCxqPHoiG5oDI+wICwoegxb0j+RvX7XNE/fFu63tSHV5I1yZLkCnrgRlobCQwEzwAoc1nJs8D+rNG2ZaKt42/gB/e0hOSO5NkZ429tZrRTpBHUrmE4jEIngXAkYNtyrW1LXwNWMSQZ6tcv7yk4Mpr6FRAHA/u2bJzdQhuwXDiPyLs2JTfv59DOPzAcBbQbkdO/Q1wM2LZM6xJjGZDh6XXZVHCJL9DcSA9k5AIGwnWwLy0qDyEcOSWLxrbE/k6Mlta5HK2zsC7ps3N0CyOB6jIjeS7Vjz/PGnQXGJe0rtCVkIkbdOPkFbvDeUQvFe2e6xJGiqvfRNBZKNpiU5I+JNVCV0KGVU1Fr12+DepYwwmAsgHXNXmuSG47tCXrbTtS7zWQ5n4OJ93QxylJpsiSYIctxilB7fhC8tUFLVJFFkOyXWJ+B0+ck3FDxikUhXN6FK8S97FUfu6mOXYwXkj+PaCz4QXV856+yw/6uBJU70jv6/YT9phC68D/OyJNJJU8K0H/UigzUZS7QbelQXmKu+7ynWrqs8B2nkHXlkuUuQ29jbhR6HyCQNAXeKAHrymJoGrAbmmWMDzaOOk9yIGEWVADuuk0F9QS8AStN8g9uetWg0fhHI4AN+VngtpVjI28dI7XK+hdIfX4PQaOhychfRLDgD8kBfTY61HeOXQfecfKi6Tg7YXWENvbWyj1uB6F+xxi1I+SmLHQ4LjRZwS1giShNeRPko8s9H/eX2XwDolhQI2X9RP6IXmwBcmUgwzlH7Jz5YIOKRwXRlKIYUDpANbn+kAipKdtpxe8SQbZSx4TRlKIYcCZkC4uzHWgjbS0jW7uGJooz6huuwlIoceXoAZUrlEZ9EOamrUdQ/SSx4DrsImgFs6ArkCNhyjtbfpi4J2A9qRBc3qTBTGgMx4XaATVzOOEXVo3DeruaQYL5cWgZDwjqLJj9uRlQBfSSunjM+hGwD30xBleMmLrDOA62hxGCtpTfm5Lzb415X+0G3k2VAJ2HWL5wxUyA31wNg1wv4XXuaQlnY9YflI5aTUB7Y2ARxgBuD+RMdCvLbOdw6Y14Axk77KNwrnwvrAHmQg6C7QHxxnsHRaeNn3qHxIDuvWtiQJKM1mMUFpdgVMIA/e6FOSeauD4Nu0aeAmZlmey2KG0olqgD4prfu+ZAmraMqYBc5KPoe910u/L6PEApwWv/Wy8X/a6MQzIo2ROhU1j3UOh38ujsI8RCziuoDa3X+qC8kWdQkgD5mBPvD8oQ1peOCNygLpQZsnBrsWSvpR+CHikpWDbstX52zkx7K3loOetJL63vqSyG08u3HSauRAee57sjk8q9dw2xu6EAru/NNo1dtu1LZkC9nXNqa5HEe6LggsuXDad+ne9ZXZmZGD7qwGqK39j4hD7wGC4a4FSmOlz03SO9m5o2x6y63R5pgvKy66PdescG0+Rd9SB7jpG82dGNKCNIWrDUDlY52D3GrgUvRn8DyqcBMpR2IfzizeHAN2tbAzLSbz6NhqcEVcYBu4M2mOcMyGhhp9j/7dcmeXZeCPAGZK9T83r36/OcAbeAf8BIoccO1vtVLIAAAAASUVORK5CYII=":e.startsWith("urn:grn:authn:dk:mitid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAAAjCAYAAABctgKLAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAS9SURBVHgB7Zv/VdswEMe/6ev/zQZ1J2g6Qc0EtBNgJgAmIEwQOkFgAmACzATABBET4E6g3iGlNUE/LMnBwuXznp5D9BPrfHc6XybIGCllSZev+s+ryWQikCG0zildSiqfqfBnQeWe1nuHd+Kgm3oqXzJHRvDGU1lSeZRmbrUQx47v4lGPf01lQeUgZq4JD2Cp4yfuFD1AcxzSZddQ1dAcPw3tK7oszaPhJ/W5xMDQGmd0uaBSdGh+QmueIxDeZYTTUOH7c05z1t7WHgkrkAiP4ZhjZelz6+hzgYHR/9OjDGOOQGQ6Kyp7rjlYA7ikrCYp2kECNPwtXWaWakHjfzH0YcEoELgm6vcDygab5qnRE571udgJWYdnb0I4g9JCwjiJhz1EQn0PPWPbNMC1o8/SMZ+t3zV6goVMxhO0DtkvK2nQ6B86rIOdsSkC0ZMdII4Ty/eNo+612EU8s5h72RMFletNIegiALzgJcI5RpyahFaT7ByK1tf83U4GR8EZ4uF7WWA4Cigh+CuEXQSAYbVXdmy79uIrJMCevvYPCi5s9zM5V6c+wZ8wLAXUw/lEVwFgll3Ul1Yxx+gJ2vQHLninTw7XpuBjQKcCamOPPO2iVf8aLWhGYWubAFe7DaYmByjSnNRI0273yAP2z45iPM3SNiLXyTBWEeN8T5jPO7ePxDmHPAVswnGMaYgJWLOUdlMQ4yy+KbSDKhDHIfKB93DXJQCN5fsChuOdVJGuAv8HfEJpAvvMSXhyUf9rZi4B4PcANq97LlUs/AnpdvzOoOzmaNCnkX10F4JT6jN0/MJE6TMB+466ReuzzbYJDB+42Qr6hdQ3KAG3IahU1NbnOA/F1HkKYEmnp5sXvzBUszPENs0V3GC1J2RvIe0X66vlc++eN8UUqKmRGJewzC/osk9rYCEvoXIX+H6whrij+hvkTeE9BvIrYfoHOfxZGqpZ7dscwjPqe44t044R0DqbLu22sAYBtybIlq6nAJu9s22+wEhV/9joFAjSapw3dIFuzHNN39oG2gxtBqWaN5AS1nSOBHpMQZtXUf1DIv/lAPL9sOUgQPs+NZRvkmNO411oIMh39BEYuerXji9HETkzqYI/FF1CHalXUuUPFsiHJkgAtAS7Nni0ql+qNDA+7rIZjH0jWFG51UKUA5fBoWCdKFobqkar+vVTy5tfIh0WnoXMI8P5JuZdALNpCgRGqvpbm1+gX44H1gScWymiBMBgCsbs9Se/3naNPaBP8JTyH6sB2qZgzKq/xBYiiC1i0+1S4WyrK/4QkhBiYh95YTuhzBBHb5lNDjikXvaZtu5BoJXUE60BGFb7mal+mwBM20cw7dEfuNSvrivxOqRkGody1N6zJAHIEFfkrYI6i3N0hs/xbMI+O9rHprTHUGH78MNRbf6sbmwC0GfCRYnXYyoTfkTaAQGVUv/CVxuVAGg7WqMfYv2GWL6if/ipn1P5ZnsvkeoE5gg7pknn9i0/jTb6FDjeeDZxv2jjnVlLoxMA/eaSfzzKHnyFOGJDvSkUiEdA+T81AhNR+NfB3y11D315+Dp/0PSLmN8m1aTfttlU4r1PqlvjFHieqbPGmbGj+7kcxG3w4l449uapPZXH1ESXPzSxXZJw46hxAAAAAElFTkSuQmCC":e.startsWith("urn:grn:authn:dk:nemid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJIAAAAeCAYAAADHCUctAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAU5SURBVHgB7Vvtdds6DEVy+v9lg+pNkHSCsBPUnaDOBHEmsDJB+iawO0GyQZQJ7DdB1AnaTsDimkBFq7KoD8qOE91zcGhZImHRIHgJkCfEsNYaLi5Z8pOTk28UCdxuwsWdtHsTeNZw8YX64Zb15LRbx5SLT3L5EPldDRfXLGcsy5htV+i64OKR3DtcBZ7F75mxnMtvCyEX+Z9lXdefZUWp3cazKO8NdK42GnhuauPguqWOGcV5z7SibUMDwXuX5wbPLmw/rFi+WOcUduIduVEEZCywdFSAF7mi/eG993nC8pM6gEfPU83tcylzlrXoueMOyrjemjrCOu8wl8uvLIZcP8K7ZnR4XEiJd0ypvm8TkQuvhCxxk98VHj+trOlZ3iXLxEYcrba5RzKe3pQGgDcyF3K90lFtO3pgjFKpvxm5VXqGgG3nkfT3zakl5P2mXhvaX0n52VP/gq3tgdyoAuY24M5igfVm5EaL6k1peHwm550SlnvqhoXUz6W9VwXwIxbwvX+p+H8SlpV44j84rah/S65jMErvbSS+FAL/WOhN5XJwYxISqdO3aatPnjdy+bkxKT1SyP8Dg8rJ2caj72hOKypgDsXoQunP/4PjAMaUcXHj6TNN6lm3+tN+mfXhWMcEGSwfydnGxtH8uenNfZd+JXAk756hDmjKkSrqzW1kzlTHXfi7pdz7EZrOS7zoro2eWNgXR6pp0+fSc/2y0pDk3n3TDt6hsJMhSd15TGMKGNKZ1+GY/892tOE/99xWTywc2pCk3Ue1DVyfBp4Hh8jJubHBOqYKMs0ph5lXjf6IuuCq1WXXTecpFeT6I71t3EqJwWVqDUk62CekUQJ4TYEVg6d/NuQol/n/xtO19a5yrTG36Wsn1yEIv9SY1KeQR9IKGhJAAM/QHlEypunAxrSk7fDHZolri1QPkAYCn28JmZQmaEiA5Mm00sIOHBIQLpLKPDzZszHpu2r4Q/NawFKm3BEOuZRnjQxJgD8SriyhYnRGh0whIJHgKYZcMlm9BXhJTh1TKC2g3DBhWVHBi25ohI9cyqSxIZUCeNPYfEm8EEY+jBTeALEZ4+8awDSLKGtoJ0FfyLv6keoNGRfOOKLAL/3QxiMNnUKBERn5DB7y4ZBcRIKMMNic5eqtk+sd+EfKn60MSbCVQqEIkDiR5m5mL4WH8O/4Kh7wgUZUIZEyb21I5RRKpPiObmgDmf2PRhwLdPDnXTySun31GrM+IQGsyqiw7HFFdCSQlbuRy4dOhgTA7VMRErjvwZd0w9l65CFHhYn3+amzIQl0T8/eUygjDg5NI4GO5L0MKVIKRZfUe9n3NKI/ZHGUyOWGjvT1SFUplIt2LWxOKwDJvtMvI9pD/iP1RqnSkd6GBJRSKG13VYK4q1e6po7QgGbdNpAR/WDdhj4N+Wyli6IYkqBTCkWmR/1BE9th75EYjgY0ExoRFTJIMeuAB+u5va1TRtEMqbQNo1UKpbQC3Ow9aroKFFeLfJgf0BxTGREgGxNTcrlPnS1mVYcy31FEILHKirGchxFtTtjKrSZ7mrEChNs0Uh/eKeMSJ1bXvnGIkeHE7ISKWAbuz4Y84XrkQH9+DzyDlEciYmh7AZRRXarIFrikCBA3uLLbaMx97N/nqHzs+n5hw3utF/osDQj78rbazm13PEv985AeeCRMK0msBKl4jg/WGWZC7tx/47Zluwg825Sc19FTn+SVOTkvl7F8aziVwVNhhA2dgkH7iegbCmsq3r8WIMTWeaImZ/9zcp4d5dOrpAjcGe8hNOJF4jf9Ajp09a6TmAAAAABJRU5ErkJggg==":e.startsWith("urn:grn:authn:fi:bank-id")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:fi")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:itsme")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:se:bankid")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:de:sofort")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:no:bankid")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:no:vipps")?"data:image/png;base64,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":void 0}function W(e,n){const t=u(e),i=n.reduce(((e,n)=>e+(u(n)===t?1:0)),0);return 1===i}function N(e){var n,r;const{fetchOpenIDConfiguration:o,action:A}=(0,i.useContext)(s),c=e.language||"en",[a,d]=(0,i.useState)(null);(0,i.useEffect)((()=>{e.acrValues||(()=>{var e,n,t,i;e=this,n=void 0,i=function*(){d(yield o())},new((t=void 0)||(t=Promise))((function(r,o){function A(e){try{a(i.next(e))}catch(e){o(e)}}function c(e){try{a(i.throw(e))}catch(e){o(e)}}function a(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(A,c)}a((i=i.apply(e,n||[])).next())}))})()}),[e.acrValues]);const u=h(null!==(r=null!==(n=e.acrValues)&&void 0!==n?n:null==a?void 0:a.acr_values_supported)&&void 0!==r?r:[]);return(0,t.jsx)("div",Object.assign({className:"criipto-eid-selector"},{children:u.map((n=>{return(0,t.jsxs)(I,Object.assign({acrValue:n,onClick:e.onSelect?()=>e.onSelect(n):void 0,redirectUri:e.redirectUri,popup:e.popup},{children:[l(c,A)?`${l(c,A)} `:"",g(c,n).title," ",W(n,u)?null:(i=g(c,n).subtitle,i?i.substring(0,1).toLowerCase()+i.substr(1,i.length):i)]}),n);var i}))}))}function R(){const{result:e,loginWithRedirect:n,loginWithPopup:t,acrValues:r,isLoading:o}=(0,i.useContext)(s);return{result:e,loginWithRedirect:n,loginWithPopup:t,acrValues:r,isLoading:o}}var x=n.AuthMethodButton,V=n.AuthMethodSelector,Y=n.CriiptoVerifyProvider,H=n.OAuth2Error,M=n.useCriiptoVerify;export{x as AuthMethodButton,V as AuthMethodSelector,Y as CriiptoVerifyProvider,H as OAuth2Error,M as useCriiptoVerify};
|
|
2
2
|
//# sourceMappingURL=criipto-verify-react.esm.js.map
|