@criipto/verify-react 0.0.6 → 0.1.2
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/README.md +11 -1
- package/dist/components/AuthMethodButton/AuthMethodButton.stories.d.ts +5 -0
- package/dist/components/AuthMethodSelector/AuthMethodSelector.stories.d.ts +1 -0
- package/dist/components/SEBankIDSameDeviceButton/Android.d.ts +12 -0
- package/dist/components/SEBankIDSameDeviceButton/Desktop.d.ts +12 -0
- package/dist/components/SEBankIDSameDeviceButton/SEBankIDSameDeviceButton.d.ts +9 -0
- package/dist/components/SEBankIDSameDeviceButton/iOS.d.ts +15 -0
- package/dist/components/SEBankIDSameDeviceButton/shared.d.ts +19 -0
- package/dist/context.d.ts +12 -1
- 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/device.d.ts +5 -0
- package/dist/hooks/usePageVisibility.d.ts +2 -0
- package/dist/index.d.ts +2 -1
- package/dist/provider.d.ts +13 -2
- package/dist/stories/StoryResponseRenderer.d.ts +6 -0
- package/dist/use-criipto-verify.d.ts +3 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1 +1,11 @@
|
|
|
1
|
-
# criipto
|
|
1
|
+
# @criipto/verify-react
|
|
2
|
+
|
|
3
|
+
Accept MitID, NemID, Swedish BankID, Norwegian BankID and more logins in your React app with `@criipto/verify-react`.
|
|
4
|
+
|
|
5
|
+
## XHR/fetch caveats
|
|
6
|
+
|
|
7
|
+
The library may require to do fetch requests against Criipto to fetch application configuration. Make sure that the host that the react app runs on is included in the list of callback URLs for your application.
|
|
8
|
+
|
|
9
|
+
## Criipto
|
|
10
|
+
|
|
11
|
+
Learn more about Criipto and sign up for your free developer account at [criipto.com](https://www.criipto.com).
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ComponentStory, ComponentMeta } from '@storybook/react';
|
|
2
|
+
import AuthMethodButton from './AuthMethodButton';
|
|
3
|
+
declare const _default: ComponentMeta<typeof AuthMethodButton>;
|
|
4
|
+
export default _default;
|
|
5
|
+
export declare const SEBankIDSameDeviceButton: ComponentStory<typeof AuthMethodButton>;
|
|
@@ -3,3 +3,4 @@ import AuthMethodSelector from './AuthMethodSelector';
|
|
|
3
3
|
declare const _default: ComponentMeta<typeof AuthMethodSelector>;
|
|
4
4
|
export default _default;
|
|
5
5
|
export declare const Default: ComponentStory<typeof AuthMethodSelector>;
|
|
6
|
+
export declare const OpenIDProviderCompletionStrategy: ComponentStory<typeof AuthMethodSelector>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Links } from './shared';
|
|
3
|
+
interface Props {
|
|
4
|
+
children: React.ReactElement;
|
|
5
|
+
links: Links;
|
|
6
|
+
onError: (error: string) => void;
|
|
7
|
+
onComplete: (completeUrl: string) => Promise<void>;
|
|
8
|
+
onInitiate: () => void;
|
|
9
|
+
onLog: (...statements: string[]) => void;
|
|
10
|
+
}
|
|
11
|
+
export default function SEBankIDSameDeviceAndroid(props: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Links } from './shared';
|
|
3
|
+
interface Props {
|
|
4
|
+
children: React.ReactElement;
|
|
5
|
+
links: Links;
|
|
6
|
+
onError: (error: string) => void;
|
|
7
|
+
onComplete: (completeUrl: string) => Promise<void>;
|
|
8
|
+
onInitiate: () => void;
|
|
9
|
+
onLog: (...statements: string[]) => void;
|
|
10
|
+
}
|
|
11
|
+
export default function SEBankIDSameDeviceDesktop(props: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PKCE } from '@criipto/auth-js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Links } from './shared';
|
|
4
|
+
interface Props {
|
|
5
|
+
children: React.ReactElement;
|
|
6
|
+
links: Links;
|
|
7
|
+
onError: (error: string) => void;
|
|
8
|
+
onComplete: (completeUrl: string) => Promise<void>;
|
|
9
|
+
onInitiate: () => void;
|
|
10
|
+
onLog: (...statements: string[]) => void;
|
|
11
|
+
pkce: PKCE | undefined;
|
|
12
|
+
redirectUri: string;
|
|
13
|
+
}
|
|
14
|
+
export default function SEBankIDSameDeviceIOS(props: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PKCE } from "@criipto/auth-js";
|
|
2
|
+
export interface Links {
|
|
3
|
+
cancelUrl: string;
|
|
4
|
+
completeUrl: string;
|
|
5
|
+
pollUrl: string;
|
|
6
|
+
launchLinks: {
|
|
7
|
+
customFileHandlerUrl: string;
|
|
8
|
+
universalLink: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export interface State {
|
|
12
|
+
pkce: PKCE | undefined;
|
|
13
|
+
redirectUri: string;
|
|
14
|
+
links: Links;
|
|
15
|
+
}
|
|
16
|
+
export declare function hydrateState(): State | undefined;
|
|
17
|
+
export declare const autoHydratedState: State | undefined;
|
|
18
|
+
export declare function clearState(): void;
|
|
19
|
+
export declare function saveState(input: State): void;
|
package/dist/context.d.ts
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { OpenIDConfiguration, AuthorizeUrlParamsOptional } from '@criipto/auth-js';
|
|
2
|
+
import { OpenIDConfiguration, AuthorizeUrlParamsOptional, PKCE, AuthorizeResponse } from '@criipto/auth-js';
|
|
3
|
+
import { Result } from './provider';
|
|
3
4
|
export interface CriiptoVerifyContextInterface {
|
|
4
5
|
loginWithRedirect: () => Promise<void>;
|
|
5
6
|
fetchOpenIDConfiguration: () => Promise<OpenIDConfiguration>;
|
|
6
7
|
buildAuthorizeUrl: (options?: AuthorizeUrlParamsOptional) => Promise<string>;
|
|
8
|
+
generatePKCE: () => Promise<PKCE | undefined>;
|
|
9
|
+
handleResponse: (response: AuthorizeResponse, params: {
|
|
10
|
+
pkce?: PKCE;
|
|
11
|
+
redirectUri?: string;
|
|
12
|
+
}) => Promise<void>;
|
|
13
|
+
responseType: 'token' | 'code';
|
|
14
|
+
completionStrategy: 'client' | 'openidprovider';
|
|
15
|
+
result: Result | null;
|
|
16
|
+
domain: string;
|
|
17
|
+
redirectUri?: string;
|
|
7
18
|
}
|
|
8
19
|
declare const CriiptoVerifyContext: import("react").Context<CriiptoVerifyContextInterface>;
|
|
9
20
|
export default CriiptoVerifyContext;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var A={n:e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return A.d(t,{a:t}),t},d:(e,t)=>{for(var n in t)A.o(t,n)&&!A.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:(A,e)=>Object.prototype.hasOwnProperty.call(A,e),r:A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})}},e={};A.r(e),A.d(e,{AuthMethodButton:()=>B,AuthMethodSelector:()=>D,CriiptoVerifyProvider:()=>l});const t=require("react/jsx-runtime"),n=require("react");var r=A.n(n);const i=require("@criipto/auth-js");var a=A.n(i);const s=()=>{throw new Error("You forgot to wrap your component in <CriiptoVerifyProvider>.")},o={loginWithRedirect:s,fetchOpenIDConfiguration:s,buildAuthorizeUrl:s},c=(0,n.createContext)(o);const l=A=>{const[e]=(0,n.useState)((()=>new(a())({domain:A.domain,clientID:A.clientID,store:sessionStorage,redirectUri:A.redirectUri}))),r=(0,n.useMemo)((()=>({loginWithRedirect:()=>e.redirect.authorize({redirectUri:window.location.origin}),fetchOpenIDConfiguration:()=>e.fetchOpenIDConfiguration(),buildAuthorizeUrl:t=>{return n=void 0,r=void 0,a=function*(){return yield e.buildAuthorizeUrl(e.buildAuthorizeParams(Object.assign({pkce:A.pkce,state:A.state,prompt:A.prompt},t||{})))},new((i=void 0)||(i=Promise))((function(A,e){function t(A){try{o(a.next(A))}catch(A){e(A)}}function s(A){try{o(a.throw(A))}catch(A){e(A)}}function o(e){var n;e.done?A(e.value):(n=e.value,n instanceof i?n:new i((function(A){A(n)}))).then(t,s)}o((a=a.apply(n,r||[])).next())}));var n,r,i,a}})),[e,A.redirectUri]);return(0,t.jsx)(c.Provider,Object.assign({value:r},{children:A.children}))};function u(A){return A.split(/:|-/).map((A=>2===(A=A.replace(/id(\s|$)/,"ID")).length?A.toUpperCase():A.substr(0,1).toUpperCase()+A.substr(1))).join(" ")}function g(A,e){if((e=e.replace("urn:grn:authn:","")).startsWith("be:eid"))return{title:u(e).replace("BEEID","Belgian eID")};if(e.startsWith("nl:digid"))return{title:u(e).replace("NL ","")};if(e.startsWith("dk:mitid"))return{title:"MitID"};if(e.startsWith("dk:nemid")){let t,n=e.replace("dk:nemid:","");return"poces"===n&&("en"===A&&(t="Personal"),"da"===A&&(t="Personlig"),"sv"===A&&(t="Personlig"),"nb"===A&&(t="Personlig")),"moces"===n&&("en"===A&&(t="Employee key card"),"da"===A&&(t="Medarbejder nøglekort"),"sv"===A&&(t="Anställd nyckelkort"),"nb"===A&&(t="Ansatt nøkkelkort")),"moces:codefile"===n&&("en"===A&&(t="Employee key file"),"da"===A&&(t="Medarbejder nøglefil"),"sv"===A&&(t="Anställd nyckelfil"),"nb"===A&&(t="Ansatt nøkkelfil")),{title:"NemID",subtitle:t}}if(e.startsWith("fi"))return{title:u(e).replace("FI","FTN")};if(e.startsWith("itsme"))return{title:u(e).replace("me","ME")};if(e.startsWith("se:bankid")){let t,n=e.replace("se:bankid:","");return"same-device"===n&&("en"===A&&(t="On this device"),"da"===A&&(t="På denne enhed"),"sv"===A&&(t="På denna enheten"),"nb"===A&&(t="På denne enheten")),"another-device"===n&&("en"===A&&(t="With your SSN"),"da"===A&&(t="Med dit personnummer"),"sv"===A&&(t="Med ditt personnummer"),"nb"===A&&(t="Med personnummeret ditt")),"another-device:qr"===n&&("en"===A&&(t="With QR Code"),"da"===A&&(t="Med QR-kode"),"sv"===A&&(t="Med QR-kod"),"nb"===A&&(t="Med QR-kode")),{title:"BankID",subtitle:t}}return e.startsWith("de:sofort")?{title:u(e).replace("DE ","")}:e.startsWith("no:bankid")||e.startsWith("no:vipps")?{title:u(e).replace("NO ","")}:{title:u(e)}}function d(A){return(0,t.jsx)("a",Object.assign({className:`criipto-verify-button ${A.className}`,href:A.href,onClick:A.onClick},{children:A.children}))}function E(A){return(0,t.jsx)("button",Object.assign({className:`criipto-verify-button ${A.className}`,type:"button",onClick:A.onClick},{children:A.children}))}function B(A){const{acrValue:e}=A,r=(0,n.useContext)(c),i=`criipto-verify-button-eid ${o=e,(o=o.replace("urn:grn:authn:","")).split(":").reduce(((A,e)=>A.length?A.concat([`${A[A.length-1]}-${e}`]):A.concat([e])),[]).map((A=>`criipto-verify-button-${A}`)).join(" ")}${A.className?` ${A.className}`:""}`,[a,s]=(0,n.useState)(A.href);var o;return(0,n.useEffect)((()=>{A.href||r.buildAuthorizeUrl({redirectUri:A.redirectUri,acrValues:e}).then(s).catch(console.error)}),[A.href,e]),a?(0,t.jsxs)(d,Object.assign({},A,{href:a,className:i},{children:[C(e)?(0,t.jsx)("img",{src:C(e),alt:""}):null,(0,t.jsx)("span",{children:A.children})]})):(0,t.jsxs)(E,Object.assign({},A,{className:i},{children:[C(e)?(0,t.jsx)("img",{src:C(e),alt:""}):null,(0,t.jsx)("span",{children:A.children})]}))}function C(A){return A.startsWith("urn:grn:authn:be:eid")?"data:image/png;base64,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":A.startsWith("urn:grn:authn:nl:digid")?"data:image/png;base64,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":A.startsWith("urn:grn:authn:dk:mitid")?"data:image/png;base64,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":A.startsWith("urn:grn:authn:dk:nemid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAAAYCAYAAAAiR3l8AAAEg0lEQVRoBe1a7W0bMQzNz+TkABkhI2SDdoRsUErX/80G7gbuBu4GHsEjeASP4BFcPFH0nWXq42z5UCAJYCinkyjyPZGipHt4+Pr7QkAQeCF6kf8/awkMHoleZ7N/QfTdkNsb6nfG9j+uHdhQv4UMrT+M4vfuaGjCL6HPguwfyOnI7Z+J3rUxS3UvRK+iE+S0mnwexwQO0OmZ+ndD7lDGod911G/ASXZCMHkA1e4hFISWjNfeAwwAob0LSh87svuO3LL2pyluiN7YeLsLOh+0dpoeUscTCpPW271F+UT9L3l/Swk8UzhALhPsJ986g8PGkPV6sY7cXrVTjOAZ6Q7XzsYcgQEwL1tVYgJiC/qJiAHvW4bo4T1xigcNHkzLsbwJaiSblgnkiZMUEL0wRCRkgpuLiCMEop8h+gjgbCI5xcccgeiMgRE6oMQtJMaAi86G3LqopLfRndkYy6uRkWvTmkAZi4nk0PtE7kPqH8YEorIjt0HdWaNT6/Q/JQLRM4S/m0jUAK/VOUQZH8rFYzV5aSvLb+5FIEaWKMmc0ZvXJiaQw51fDyetLTUEYsBbSdQAH+l8hHwN5mD83pA9s0uTp/WvrbsngdAhRDLkLFuvU0wgKmVtMWTVrFIzppZA9L2FxBTgMjtTa7h4qbH2LNNOydNsrKm7N4GMHyc4PuHUCORGbsXv3KpO8XQWqvUXEjml1r1G65cDPKwTw+wMAhbkfsOWjmgZy8zJi9vWPM9DoKMTNykCoSw8EO9rthZTPFCAYBI5XKdCn7SVsgS4IZ54IA19pH0qmsh7ZLUyxi3lHATykuEz8f1FEjNWfhyWSpljLYFB5gr7ISjCz0winsfja//XAC5pNzbBDKhNZr418jQ9UnVzEIixMQ6iV5ZAbshbi9OimdC8hkBDPoUPpxB2K5MCJD4RVW2kawAfTYpw8pMO0TXyEiar1TMTeCwSyCRyWMptLUoEDuuQ3T9a+021vqKyFnBJxEoTo1ZehWq+yX9JYE2aniPQEC+6OEoTr6sFJG7XGvDW8mYkEJGsHEIFwJA1Jo+t8gTioNsdbyUPurQGvLW8OQgMeQRn27ksVMiTcnRsdbG1yBPoD42r95Qynla2Bry1vDkIlIjm97RTCASgkuHFh6opAuF1U8fQiJO61oC3ljcTgf4mxUe0qeAG9/XxdxwSUwQy6V8eKBMQBANzeZ5aDslgOJSYSiAGvDiP856ZPokRr63drItR7B3nW4DWHtNa3j09cCDPDveu1xAIgOMTj5wHjgj3m3chKFee4rwc2obGrQFvLe8eBGIXMNxhRpn8tQSOtxa850p7IBNu/2Ks0n1gVtlPloVicgWvC4cftAI+ZxP/WgIhZLQehhOPcMVxNsLwIF7LY3rCl8HTCJ80dNSv+XCbP3UYr7EipbXHtJZX9kD5VMJ/Q4TviLQfzqADaQGL1OEHf1dCF9sCAaxUBhJxc7HSAI/7h/Zr+QaHyYSSXlFc9m5yJzXB83fxtVA8Tu1za3l8AZC+hmP7QSLOf9Ufvi3CpfoKNl54XGTYPxsuBZWRhTDMAAAAAElFTkSuQmCC":A.startsWith("urn:grn:authn:fi")?"data:image/png;base64,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":A.startsWith("urn:grn:authn:itsme")?"data:image/png;base64,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":A.startsWith("urn:grn:authn:se:bankid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAAwCAYAAAC13uL+AAAFjElEQVRoBe1a0Y3bOBB1CengdNIucJ/uIIuLZeQv/klW0s9uB6Z8BWQ72PwEB0gGnA72GrCIVOASVIJL2MOjNL4hLUoUJVx+1oAgkaLFeZzh48yQi8WMv9vPYhml+euEq44SIaN09xJm+fYmEXczijftU1EqNhOAdQ9Klp/DbHf45UDDRHydHRyzhDDN6yDLP01Tgee/YU4aOIz6vXiO0vyhBS6190zwMfVhunv2FNH+t7j4uV0V8gXXev/zwWwZpflF+DAVnQKgfgwQW9swzU/BRrwzZfAqx/vjt7isXvm1KqU24aMsP0MYmI+tkxlIh83N3Yutn1H1cVlJDiwuqvrubxnQR4JH8Y5GuQ/cTSoEtZvjHt4LQTJMuhPAdXF8uTtIzSTAZlzYm0Q8mZ1FX8SGtMvbTnw+z2KeH/ZyE5fVmWuMAGBdMoXkzBYl4tF8P1c5vM+3JIf3PS7kY1xWp64PXBFFlp+DRFzM9opJPZmyc0ASIbtkcq77eJDBel/VmHcf2VyjD4CeW7aUYSIOt5lY0jvc/0hEECXiQG3oHqbiNIepOpsm5hOYEBe0tSrlM8yREco5LuQBZkrtOBCf5yATyxY8Y0N3Vy74rA+mVYZVKb8yIBr9W+o7TdXaQc+LCXPzat3t7AaLtAVEJ9BVWU2zeUMKTw26gQNpjAMnO70RQ2bnoqcD7gyuU0M2wB/20u3DjvDAsp2s2M+wwzLEhVzaQFjri+q9o9xOzXzABWk+LINiSMOHtIJq25neihOCnkamt+OiRSe2jAu5HQJjvD/3yOn1qsvbGQDoJsO6WdOc59zcTInR4KHTAKhmTXT1UOJS6t7/gIligfdSj+VPypPpJ46rRd7ZtzQ8kWENFnK609oCbYHVTtpiA8B9WMuYLRYgBmM+OYCbhyl9gSFbZgXEX/gwZfxdag4y/57LM5jxKqJgWnHQ4vD6BkHi4oiQZlhbrI0LALNNy4ajzc8E2hfxm30uxjKlLba7+rBRMVds5zTXqO/RDnNx9ErQhFl+MrUwtoxUIcntdPdwmMd10EoxFojZHmk9J0C80dj55uMwT03tqazz2Hzl/+Uwe4YzauH2TsS2ma1RTOnjMPvuJ9gy2NzyrM8eqQU3Z9XocSxTKjN0CWeMfrTiaKb0TC24MiVAjWZEDRErjHaYPZcBk/mMco1dIafAk8k++Ig4DqY54tI2QQY7WCwW2E+ANi5Xk6V+ABjnvKNLR29t3kbgbQR+3QhEaf4jSnOEIPqFYxNfxGYuyaIk/6fpw74jir2J9V7WuCiFEZfyRHV0R92qPIpBR4KvPfAElBfRbgFHae61WHcNyGU3pyd65mEXmNshO9AfifO1hoSiDBQFhKBqFTETaJxUYKcKwmyHYxpK8zfZ7ql9fqU2+rZycxggyvJv9J/brNlA5Ovtqqw+admBoqrjonr/ZxNUX3ad0Ibk1u7cSwcQFfbTLmkDRIXxBJYPBJ7RHh+0vUcbJEx5olVZRjMVGoeYxWZaguq7XHKfd8UcB+4u4lkDRYU+Lx1gAV4Jn4gf5DlwQamOTA7/wXZxlIrLmRSAMxKt6tQDgPO0nGmC6NcAcUkjGvXd4NpRpBE8/J799Rs/caCZZZZvsWtKQEgrmsm1WuAOMoS0JIG0rWXNBNvtae7z8vjRNF9SlnbnQtAoGqZ6Umk3NcfyGhrgA4KPaZpsjy+RmVLUzMvt/GySq4xcukyQZwcATrXhZ2KKynrmRZsr0IoSPtVyHHS06RUHzEAsUfbfMagwEU/c5EwzpbziRdstGI2h27MkBlMqE9TmIMu6qayBcRZG0xoKasPdXN9QToS8aBL71U0bjLby3KmMDBRnSoBvzVQxJ7Rslpm2mzbtUSe1945DBfuqBlPiYAGeuy7MuaE17l8txYxCItgPEAAAAABJRU5ErkJggg==":A.startsWith("urn:grn:authn:de:sofort")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJwAAAAuCAYAAADdunAzAAAAAXNSR0IArs4c6QAADCpJREFUeJztXU2O20YW/oryDGaVqODBbCOfwOoTWH0Ct9cDWOJcwN37gfU0yL7VF0hJA2Rt5QQtn6CVEzSzDRAU402MGYs1i1cUKaqKLFGdzsjWBxhqU2SxWPXq/XzvFQWccMIjQuxzsibVBdAD0AWQSopXLa9PJcXJPtee8HkgWOA0qUsAY7Cw5UgAnDcJjybVA4QCzKBy7VxSTPt0+ITjRpDAaVIEFrYUEDMIkcJkAwADPoZnkuLUc20XwB2sZgOwAAvthT1lJimOD3uME44FTwLPG9vPM0mjXJtNNM0UYEYQ0RsAE8+1F2BhW0iKX+UHWevhDsBIk5pLipct+n/CkSFqOsEKBgAku6bTzPkju4Afb/hOnWn5ILclFgAAEX0T2N8TjhyNAlcHq5VSAH1rOrdghbUPIJVvX793NJELs9Mcn/D5oVHgrFZLAfRcQgUINoUieum4PA8SFu7WTZ8/MpcwnvAZIlDDiRQA/vLkz1/vfmUFjoOI6pdD/oh2BE6T6oODh8QXcJzw+SHUpK4A4OP6U3/nG5P9YP/aEjg2p2YAIJXj4Q871xXmdC8u74TjRqjA5Rpox6SWTe5v335fdv5zAfREn+IFf0Sn6PQLQpjACcHRqTG7Go5PWADAx/Wnkpbzm1OLvm37pOG+IAQJ3NpkP/FfxhE0oBAa68eVzGnZ5FZghTdb/xje3ROOHUHEb6fws9wajoVqCiZ5Y5SiU1dAUAoYVocEDJpUNxLRMDNmwH0z1i8UCYCkI8RsbbL3/095W02qH4noRWZMKSc9uvqj+/VYCM00eH04gP04TSoF0P3t2++/+fjpvy8B02xOOZ/aCnluNzOZo0+mB6C3ZkGEJjX5o3O2mtQIEG8A089MVv4qAXASuDJKAtXTpLpurSQWgBl9XH8aAYYzD15+TTy3AtkqYCjldkMx1qReSorP2tzvEDB3Kd6xi2Ee+/YHQZO6gIieVw4ncjyct21zj0xDDRcHYA3DwmWyS3toWWPKWgcMrCn2ErbNPTWp6xbXHYq7SpXMEUG8hMmo8m90SIv7pLb8XByATkF/sIkT0czfFE+AJ93VBJ+wpQBm4KyGS9BTiOhRI2KriXs1pyQ4wK04RnhNqiY1QFFStEKQHzdLNo67x5zadoEWhK8mlVeebEOA5DjeqlbREzWGAQFIITCFwY0cDx8to2HzyL7FMQUwOdIMi5upCMSOwNkI8h12JtaUuTifDV8AuESdORXRc7DT3ELbiBcuP6gqbPkxPZmvYLL3cvyHTKw7oncsjiNDjR/fjC2Bs6vyFizFS2sWe9ZuWwH0cHH83RxAfw3c+E+x/ky7gMF1b++De1JqQdCkBpGInmfle5rsRzCVE2AGnYsjaSNsdl4G5TKuCEgzpnyCFm6pzGyD/DlsUcYA/KxOKquELoBrMP21NyoaTowB062uQk1qDi6W7MK3cvkBVgDO62+5Mbn7E75CJDA7k9jVpOghaA878JfgGr5uhb4onTdbdoSYfVUfrbkWx17+mqVShiUSffNdVpyTdEREa5P9UFN13QNw7zguUXpeAEDUuQfQ5FuPrCW82rdwthI05OVC2NIMdiXkEt1zrZYQ2Anl+rg9N+Bwv7xlTGNN6v7XyfyNHYg2fbsAT0p134arI4O1yWaalGozFprUhaaZ0jS7/5VmO5GzJtXTNLsFUN0H4kJvbbIZgLsWz64Q9LxO9AHcalJak1KhF1U1XAKYvuVetgRCUrzQpKbgFaEAnO+sQCABRAIhlh7zkw9Iq2hRUrzUpJaoVKZY9DKTTQFe9eCoOah0vQWvl2MEYKBJNW4kyvuoSd2BsyIAgKwy2YVbY/YV5B6Auw+T70Zfjf8RypPVVWqHIt+JF4SqhmPfy2RTz8qdgIVlUFmBK/AEdwEzgMkIHHjc8wqY3erJfAwgT+gfUiHyCs2mqQcWhltN6v7DZD70nRjA66UN9+vZ+4RoibwC2teX3IduolK8PtbaiFlbLf8YiAA2dZpV+zt7vAvWYluwPsIrAKkVtATAmaT4TFJ8LimWAJ5BRBcQEWHDzW2EkElDk400zd7VCYIPtg9nYGohBL2S+XNpE5+wzRB1BpJiKSl+BkCu2a1wCV/PbiQ6EGIMt7AliDoDAFJS/ExSLPn/wsd1Bpu4rXsAy5zgr8EK4WO/A1FZVTnn1rP/riTFO42XdmuRHA8boy5Nqsd0iBlYP7G6P/WsTZht97uOrfCHqPWlpHgT1Fjttjs5NdRFjRba2i65GSM/eKxFNJPj4dzn2IPn47wmILgGuzlVnOfuRE3b3H7UuXSR8J5nWEqKz+2cvoTJ+oAILkB4YiesB2bpryTFqVXJdwCuNalljYMfFHVZ/yYBimDkZ1L9P/Fk98GfrzyXN7UbA4D+179fwJi+3UHmc7QHHybzYRFdiqGDuljVURc2rxyDha6MPCAKcRdcxK+vz68aFuMEbDmqJn0Y0BfeyP729d6L3Y69n/7yINok2ksDICleZUUFw7sd/6Sof2udV/tbQaGkAC4q1cJ7Q759/V6OhzdWgz3zmZv1Vp8dBaW1KTl7r2K3WvXaaqJ7FwIkKb7aFSLhurYuH533JfU8a7MfJyJ67GxHOWjYuvFTNqVLsOnYDt1NNgevjoH1jS4CneYt2MFyVAsfBklxImkUw73CyxOxF5G8Daev0zQGdcRv+5SRaNWXopJ7PxyU2opQUBQu5zl3kkeWOnDddAQONrQmdadJqQ+T+TA4UioeuhW319C4a0C7td97y+h3TnT1t0lY6ybYdW3YmLj7fHhRgFsgD5qnCIVQXVYJPKvObVSKsaU47sEOaA/A0kZLuTbsAxiViEimRGh2bYnVOgSrdk1qwO02kq5NQuHQgGbUpK0ri6906SH7a41zZ1vTuNlyfsc5h+8VKbYWbKFri18boUn1rfXbzENkheochSa7Kw+4DRjOCj9hs7KXkuJz+fb1e0mjK0uLiGy7erVrCw8v4fIFgfLqDFqRNrK8tZHp7YfJ3LUB21YEO1n6kpAZF0HaBfNqTmGu4e2SVtmTAuWKnDJUqcKm2pc8YnbA7O3QV9HhYgxXn641KfItzFKm5A4FH6s0qe4TYBN5ndvO98HaacOel6LB2D68k5y0k5H7e0tbYs6CJETqiYa6+fdNA+DICPTWJltoUiuIaAGT/RSJ6OvMmAtvSqhU9l6TucjTNktwZJ1GInre0O5BuVxJcfoLqUlU9ZeLBTDriGhptU7PVk27olOA30h1sEmVFKd6Mp9aDrWKMYCxptkSvC+jzDK4MiUjiCjZpLZKQpeby1tPyiZfxVsN2tXGJlngUo7jwBUWtnvLtu8jV/vMBwG+hLvFzFEenVMc1QHKsxWjxnYF6JCy6xxPKZ7+Qqof5RmZbYwqEbavmYfdI2GyG/AYeNyXTQIAwGae3Oea7LKu4jcXuqpDmj901f/hLAWTpkHCZrVl0O6tiulvgxUcE3Fwuw9c3/aU4lHmrzdsQi1J3Aa2rX3Gp+7e6ZbAlXbRA0xO9sDmVWlSI02zd8hVftTZqFldvCVpz3ovYf0vEZRbLcqfvCkdH6aomYhC6PZqN10Dr36PYkordFfYZxEIEALeRtoGTDPFzyCiy6Y+SYpT74IRETlKzHn3FUSUZCa7itiMWdNiAM7rjSqpkM075PZ7lDy6cjrvTuT+pCY1sdvu7J7UHSQQmMFgHjIJlXbH1tRX283TUQuYbP7XGk2SwfwU7ViB8MjxKcVTTWqxBgYdNrEu33EFgQWXzzdqNceibvaby5Dj4Q2AG5vVGVg3povKvD+leKQn6h5mY4oTCEzleDjfeeVqKShIwElyIOo8hzE9CJG4c26K01OcFww1p3kec/UQ2/d0OVPx6T+/PoRZ0aS6KO1Sk//8u4smeDT8Hs/42HC+41eTugWvqKmk+ME36W4lwEU0egiH+4TjgC9ouAKbj8sPk+/2LiEKwDVY1bqixhM+YzgFzjrnV8CmoC+IWW4CE4LqDlxpmsD/IuoTPlPUvja/tLcT4PKlSdsoSG//zsMKXHbzRW0CPiHgdxpsEKGQRxsc7dyEpHFKu6CGyCPZ49+XecIBCP1hkC4E3pTCXIA3zKwAJFtpKWO6YC02qKQ3lgDik1b7srH3b22tgYsO8BLFxlkfLGeFJQxujjGEP+Hh8T8HcQSjXf/6WAAAAABJRU5ErkJggg==":A.startsWith("urn:grn:authn:no:bankid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAUCAYAAABGUvnzAAAE10lEQVRoBe1Z3XHcNhC+EjjAaSZvTgfRiyKCL7nHRATtGzdgd2B14HSgdKB0cCW4BJWgEljCZT6SS35YAjhSJ0eSk5vBAAR2F7v74WcXt9n8//vxPVAW+591earVWg6+T8naFftC+NA+Rf/S46LrEtteWtdNZfyDs/44L83jrtitcnZl/V9zOZ3s9uri5jJlbGlvPgtfaZr7FN1r6RddUa/Rqdz6XWn8165s/U54ry72l2O/jFPt7B/78qfTG0XkBbUz9SMrzO2y+P3k7mNhzjYH5uf2tb35wLTc/s8AbPxX8QkAFR+w/TIeq0vb3K8GGiCWtv6kiyua30SBpTVkVUXzYa0sNvCH3sFnAjyA3pb2/aelmLwKuhzAa+9kuR/PMezUnLy71syDXSu8yR1s6gfeINfGfymt/yZ8UueuvDU6jbQQWBZ+p8tIsNls+mBpTgMeptNtDTDkVFv/p7NNKwY567/ljidnmltn+bppWrdt7hBH9P0Yqx95bsiUgn4tozL1A+4/5unoKGaJjOGa6uTqnbYEYICpZeKbfTT4JEoX4z3Z52yzJ0cHAdm19QcRUNnmPkWXA1kpf0gHfv6onYa5na3/Ts07OHvUWXTt+abgMhMgHrXuPBfL6xdlLxOLg8fQPgfgjn87nQDQQeul51v8jeiPjQrapr4TQaVSgOl+LfwvQqfrEOBx17a4jyOBW8s7ubTNGIEP86X4OpB5btaPeSNHYrBbmE/kBXqY+jEWoJ4LME42PtVwfMv8Z9c46qri4ztdtGA9ju9T6VYIsD9Wtg5SJTiLDXO0qJxtOAs48FwzPpXWMFDO+oDXmeaOx9lO3Y8FR3q0MXDBfy7AkMGn21sISDu/KYCjDro277+MjjX9XapPlphj9amSAuqqCPP0frfQEV58fCe8ox7DgiFwj7E7W/ieA2CkSjL/IoCTSbYKxeFgKDgrT03AxWoVQCSDjAK7ZHI4diovjBRfdbG/ZD6adpPqFxoex0kU7Q8fd4KjXOilfg6AOaZYBHC4+iYHwjgxammQJYasrQOgMi9Z2uFL+JA2MR/rluoXGh4XX2CM+3U7F/g8D8DTlQR5omuy7u+aPoXgdIJ3RHeXdU+aEbolkyRn7wcYKKzQGHlsJz6VT+QzONLHNY9nAQ5eA9NPvOcCHARyOM2e8BjF9v1rbQVUy4GSKMEpiBtSELU7o3zB3Z0JsmQerhcBPETMfHQi/2Y50j4HYBXIHfHELHJffa0ARjoTRLSzYMpMUTZHlZoP8UUQfX8HgCWw6045epiJHdVLAMbildc41Hhgijz6HPHatQhYvN7gstbFbevbRQKIqA/YIrJM/6JEpEEzAvBxiA3kVWh8qHDWB1H2nLe7o2J82Tw4UGj4WLKDmc+Z+nbimR/ViwCmQHKSFcZGkMPzZtspIejXqUNWUB98zN5MRX5uxQUg4XkwuNOUcSq6h046Z5U5UbNT8c02MB33S5vHU3ew0EqdO6pZFwYpsD8PcJtLw0SHoEaeiIBqVtaskkEiou2ZnO5dtjnIURZMPnxUFv9A9TrgEQO0lanHfK8DCnIyQUXnJPpvG/LEGSIbNc+f6hcaHue4gPuFVmrozuP8pwB0nMZuPgsP2z+ND/7AX7CmvsvZLnLeZI2dw859k0a8oNL/AO3s/ku5hXTHAAAAAElFTkSuQmCC":A.startsWith("urn:grn:authn:no:vipps")?"data:image/png;base64,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":void 0}function D(A){var e,i;const a=(0,n.useContext)(c),s=A.language||"en",[o,l]=(0,n.useState)(null);(0,n.useEffect)((()=>{(()=>{var A,e,t,n;A=this,e=void 0,n=function*(){const A=yield a.fetchOpenIDConfiguration();l(A)},new((t=void 0)||(t=Promise))((function(r,i){function a(A){try{o(n.next(A))}catch(A){i(A)}}function s(A){try{o(n.throw(A))}catch(A){i(A)}}function o(A){var e;A.done?r(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(a,s)}o((n=n.apply(A,e||[])).next())}))})()}),[]);const u=function(A){let e=A.slice(),t=function(A){let e=null;return A.forEach((A=>{if(A.startsWith("urn:grn:authn:dk:mitid"))if(e){let t=A.replace("urn:grn:authn:dk:mitid",""),n=e.replace("urn:grn:authn:dk:mitid","");(":low"===t&&[":substantial",":high"].includes(n)||":substantial"===t&&":high"===n)&&(e=A)}else e=A})),e}(A);return t?A.filter((A=>!A.startsWith("urn:grn:authn:dk:mitid"))).concat([t]).sort(((A,t)=>e.indexOf(A)-e.indexOf(t))):A}(null!==(i=null!==(e=A.acrValues)&&void 0!==e?e:null==o?void 0:o.acr_values_supported)&&void 0!==i?i:[]);return(0,t.jsx)(r().Fragment,{children:u.map((e=>(0,t.jsxs)(B,Object.assign({acrValue:e,onClick:A.onSelect?()=>A.onSelect(e):void 0,redirectUri:A.redirectUri},{children:[g(s,e).title,(0,t.jsx)("br",{}),g(s,e).subtitle]}),e)))})}var Q=exports;for(var f in e)Q[f]=e[f];e.__esModule&&Object.defineProperty(Q,"__esModule",{value:!0});
|
|
1
|
+
var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{AuthMethodButton:()=>U,AuthMethodSelector:()=>Q,CriiptoVerifyProvider:()=>u,useCriiptoVerify:()=>k});const n=require("react/jsx-runtime"),i=require("react");var r=e.n(i);const A=require("@criipto/auth-js");var o=e.n(A);const s=()=>{throw new Error("You forgot to wrap your component in <CriiptoVerifyProvider>.")},c={loginWithRedirect:s,fetchOpenIDConfiguration:s,buildAuthorizeUrl:s,generatePKCE:s,handleResponse:s,responseType:"token",completionStrategy:"client",result:null,domain:""},a=(0,i.createContext)(c);var l=function(e,t,n,i){return new(n||(n=Promise))((function(r,A){function o(e){try{c(i.next(e))}catch(e){A(e)}}function s(e){try{c(i.throw(e))}catch(e){A(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((i=i.apply(e,t||[])).next())}))};const u=e=>{const[t]=(0,i.useState)((()=>new(o())({domain:e.domain,clientID:e.clientID,store:sessionStorage,redirectUri:e.redirectUri}))),[r,s]=(0,i.useState)(null),{redirectUri:c}=e,u=e.response||"token",d=e.completionStrategy||"client",g=(0,i.useMemo)((()=>({loginWithRedirect:()=>t.redirect.authorize({redirectUri:window.location.origin}),fetchOpenIDConfiguration:()=>t.fetchOpenIDConfiguration(),buildAuthorizeUrl:n=>l(void 0,void 0,void 0,(function*(){return yield t.buildAuthorizeUrl(t.buildAuthorizeParams(Object.assign({pkce:e.pkce,state:e.state,prompt:e.prompt},n||{})))})),generatePKCE:()=>l(void 0,void 0,void 0,(function*(){if("token"===u&&"client"===d)return yield(0,A.generatePKCE)()})),handleResponse:(e,n)=>l(void 0,void 0,void 0,(function*(){if(n.pkce&&"token"===u){let i=n.redirectUri||c;if(!i)throw new Error("redirectUri must be configured globally or per authentication component");yield t.processResponse(e,{code_verifier:n.pkce.code_verifier,redirect_uri:i}).then((e=>{(null==e?void 0:e.code)?s({code:e.code}):(null==e?void 0:e.id_token)?s({id_token:e.id_token}):s(null)})).catch((e=>{s(e)}))}else(null==e?void 0:e.code)?s({code:e.code}):(null==e?void 0:e.error)?s(new A.OAuth2Error(e.error,e.error_description)):s(null)})),responseType:u,completionStrategy:d,result:r,domain:t.domain,redirectUri:c})),[t,c,u,d,r]);return(0,n.jsx)(a.Provider,Object.assign({value:g},{children:e.children}))};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 g(e,t){if((t=t.replace("urn:grn:authn:","")).startsWith("be:eid"))return{title:d(t).replace("BEEID","Belgian eID")};if(t.startsWith("nl:digid"))return{title:d(t).replace("NL ","")};if(t.startsWith("dk:mitid"))return{title:"MitID"};if(t.startsWith("dk:nemid")){let n,i=t.replace("dk:nemid:","");return"poces"===i&&("en"===e&&(n="Personal"),"da"===e&&(n="Personlig"),"sv"===e&&(n="Personlig"),"nb"===e&&(n="Personlig")),"moces"===i&&("en"===e&&(n="Employee key card"),"da"===e&&(n="Medarbejder nøglekort"),"sv"===e&&(n="Anställd nyckelkort"),"nb"===e&&(n="Ansatt nøkkelkort")),"moces:codefile"===i&&("en"===e&&(n="Employee key file"),"da"===e&&(n="Medarbejder nøglefil"),"sv"===e&&(n="Anställd nyckelfil"),"nb"===e&&(n="Ansatt nøkkelfil")),{title:"NemID",subtitle:n}}if(t.startsWith("fi"))return{title:d(t).replace("FI","FTN")};if(t.startsWith("itsme"))return{title:d(t).replace("me","ME")};if(t.startsWith("se:bankid")){let n,i=t.replace("se:bankid:","");return"same-device"===i&&("en"===e&&(n="On this device"),"da"===e&&(n="På denne enhed"),"sv"===e&&(n="På denna enheten"),"nb"===e&&(n="På denne enheten")),"another-device"===i&&("en"===e&&(n="With your SSN"),"da"===e&&(n="Med dit personnummer"),"sv"===e&&(n="Med ditt personnummer"),"nb"===e&&(n="Med personnummeret ditt")),"another-device:qr"===i&&("en"===e&&(n="With QR Code"),"da"===e&&(n="Med QR-kode"),"sv"===e&&(n="Med QR-kod"),"nb"===e&&(n="Med QR-kode")),{title:"BankID",subtitle:n}}if(t.startsWith("de:sofort"))return{title:d(t).replace("DE ","")};if(t.startsWith("no:bankid")){let n;return t.endsWith(":substantial")&&("en"===e&&(n="Biometrics"),"da"===e&&(n="Biometri "),"sv"===e&&(n="Biometri"),"nb"===e&&(n="Biometri")),{title:d(t).replace("NO ",""),subtitle:n}}return t.startsWith("no:vipps")?{title:d(t).replace("NO ","")}:{title:d(t)}}function f(e){return e.test(navigator.userAgent)}function h(e){const{links:t,onError:n,onComplete:A,onInitiate:o}=e,[s,c]=(0,i.useState)(!1),{domain:l}=(0,i.useContext)(a);return(0,i.useEffect)((()=>{if(!s)return;const e=()=>{return i=this,r=void 0,s=function*(){const i=yield fetch(t.pollUrl);if(202!==i.status){if(!(i.status>=400)){const{targetUrl:e}=yield i.json();return void(yield A(`https://${l}${e}`))}{const e=yield i.text();n(e)}}else setTimeout(e,1e3)},new((o=void 0)||(o=Promise))((function(e,t){function n(e){try{c(s.next(e))}catch(e){t(e)}}function A(e){try{c(s.throw(e))}catch(e){t(e)}}function c(t){var i;t.done?e(t.value):(i=t.value,i instanceof o?i:new o((function(e){e(i)}))).then(n,A)}c((s=s.apply(i,r||[])).next())}));var i,r,o,s};return setTimeout(e,1e3),()=>{}}),[s]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{o(),c(!0)}}))}function E(e){const{links:t,onError:n,onComplete:A,onInitiate:o,onLog:s}=e,[c,a]=(0,i.useState)(!1);return function(e,t=[]){const n=(0,i.useRef)(document.visibilityState),[r,A]=(0,i.useState)(n.current);(0,i.useEffect)((()=>(document.addEventListener("visibilitychange",o),()=>{document.removeEventListener("visibilitychange",o)})),t);const o=()=>{const t=document.visibilityState;"hidden"===n.current&&"visible"===t&&e&&e(),n.current=t,A(n.current)}}((()=>{return e=this,n=void 0,r=function*(){s("android","onForeground",c.toString()),c&&A(t.completeUrl)},new((i=void 0)||(i=Promise))((function(t,A){function o(e){try{c(r.next(e))}catch(e){A(e)}}function s(e){try{c(r.throw(e))}catch(e){A(e)}}function c(e){var n;e.done?t(e.value):(n=e.value,n instanceof i?n:new i((function(e){e(n)}))).then(o,s)}c((r=r.apply(e,n||[])).next())}));var e,n,i,r}),[t,c]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{s("android","handleInitiate"),o(),a(!0)}}))}const v="@criipto/verify-react:sebankid:state",m=function(){const e=sessionStorage.getItem(v);if(e)return JSON.parse(e)}();function C(e){const{links:t,onError:n,onComplete:A,onInitiate:o,onLog:s,pkce:c,redirectUri:a}=e;return(0,i.useEffect)((()=>{m&&(sessionStorage.removeItem(v),A(m.links.completeUrl))}),[]),r().cloneElement(e.children,Object.assign(Object.assign({},e.children.props),{onClick:()=>{var e;s("iOS","handleInitiate"),e={links:t,redirectUri:a,pkce:c},sessionStorage.setItem(v,JSON.stringify(e)),o()}}))}var p=function(e,t,n,i){return new(n||(n=Promise))((function(r,A){function o(e){try{c(i.next(e))}catch(e){A(e)}}function s(e){try{c(i.throw(e))}catch(e){A(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((i=i.apply(e,t||[])).next())}))};const j=f(/iPad|iPhone|iPod/)&&!window.MSStream?"ios":f(/Android/)?"android":null;function B(e){var t,A;const[o,s]=(0,i.useState)(e.href),[c,l]=(0,i.useState)(null!==(t=null==m?void 0:m.links)&&void 0!==t?t:null),[u,d]=(0,i.useState)(null!==(A=null==m?void 0:m.pkce)&&void 0!==A?A:void 0),[g,f]=(0,i.useState)(null),[v,B]=(0,i.useState)([]),[S,D]=(0,i.useState)(!!m),{buildAuthorizeUrl:U,completionStrategy:I,generatePKCE:Q,domain:k,handleResponse:b,redirectUri:w}=(0,i.useContext)(a),O=e.redirectUri||w,y=(...e)=>{console.log(e),B((t=>t.concat([e])))},P=(0,i.useCallback)((t=>p(this,void 0,void 0,(function*(){const n={pkce:u};d(void 0),l(null),s(e.href);const i=yield fetch(t);if(i.status>=400)return void f(yield i.text());const{location:r}=yield i.json();if("openidprovider"===I)return void(window.location.href=r);const A=new URL(r),o=(c=A.searchParams,Array.from(c.keys()).reduce(((e,t)=>(e[t]=c.get(t),e)),{}));var c;yield b(o,{pkce:n.pkce,redirectUri:O})}))),[I,u]),T=(0,i.useCallback)((()=>p(this,void 0,void 0,(function*(){y("SEBankID: Refresh authorize url");const e=yield Q();U({acrValues:"urn:grn:authn:se:bankid:same-device",loginHint:"appswitch:browser",responseMode:"json",pkce:e,redirectUri:O}).then((e=>fetch(e).then((e=>e.json())))).then((t=>{d(e||void 0),l(t);const n="ios"===j?encodeURIComponent(window.location.href):"null",i=`${j?t.launchLinks.universalLink:t.launchLinks.customFileHandlerUrl}&redirect=${n}`;y(window.location.href),y(i),s(i)})).catch(console.error)}))),[U,O]);(0,i.useEffect)((()=>{S||T()}),[T,S]),(0,i.useEffect)((()=>{const e=setInterval((()=>{S||T()}),25e3);return()=>clearInterval(e)}),[T,S]);const H=()=>{y("Initiated"),D(!0),f(null)},N=(0,n.jsx)("a",Object.assign({className:`criipto-verify-button ${e.className}`,href:o,onClick:H},{children:e.children}));return(0,n.jsxs)(r().Fragment,{children:[c?(0,n.jsx)(r().Fragment,{children:null===j?(0,n.jsx)(h,Object.assign({links:c,onError:f,onComplete:P,onInitiate:H,onLog:y},{children:N})):"android"===j?(0,n.jsx)(E,Object.assign({links:c,onError:f,onComplete:P,onInitiate:H,onLog:y},{children:N})):"ios"===j?(0,n.jsx)(C,Object.assign({links:c,onError:f,onComplete:P,onInitiate:H,onLog:y,redirectUri:O,pkce:u},{children:N})):N}):N,g&&(0,n.jsx)("p",{children:g})]})}function S(e){return(0,n.jsx)("a",Object.assign({className:`criipto-verify-button ${e.className}`,href:e.href,onClick:e.onClick},{children:e.children}))}function D(e){return(0,n.jsx)("button",Object.assign({className:`criipto-verify-button ${e.className}`,type:"button",onClick:e.onClick},{children:e.children}))}function U(e){const{acrValue:t}=e,r=(0,i.useContext)(a),A=`criipto-verify-button-eid ${c=t,(c=c.replace("urn:grn:authn:","")).split(":").reduce(((e,t)=>e.length?e.concat([`${e[e.length-1]}-${t}`]):e.concat([t])),[]).map((e=>`criipto-verify-button-${e}`)).join(" ")}${e.className?` ${e.className}`:""}`,[o,s]=(0,i.useState)(e.href);var c;return(0,i.useEffect)((()=>{e.href||r.buildAuthorizeUrl({redirectUri:e.redirectUri,acrValues:t}).then(s).catch(console.error)}),[e.href,t]),"urn:grn:authn:se:bankid:same-device"===t?(0,n.jsxs)(B,Object.assign({redirectUri:e.redirectUri,href:o,className:A},{children:[I(t)?(0,n.jsx)("img",{src:I(t),alt:""}):null,(0,n.jsx)("span",{children:e.children})]})):o?(0,n.jsxs)(S,Object.assign({},e,{href:o,className:A},{children:[I(t)?(0,n.jsx)("img",{src:I(t),alt:""}):null,(0,n.jsx)("span",{children:e.children})]})):(0,n.jsxs)(D,Object.assign({},e,{className:A},{children:[I(t)?(0,n.jsx)("img",{src:I(t),alt:""}):null,(0,n.jsx)("span",{children:e.children})]}))}function I(e){return e.startsWith("urn:grn:authn:be:eid")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:nl:digid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAqCAYAAABFsP5IAAAGBklEQVR4Ae1bXZLaOBCeI8wJoAeTYPI0N0huEG4wuUH2BuQGk6rdscnWVrE34AgcYY7AEXhJFTB5YOsTktIWUssyBk8NS5XKsq2fVn/9p5a5uengNyT6NCB6HBDNM6IHIqIOyLBTbsr8067M5ygvP/IH++IaKkOib1mf9rwM+rTqCpRtOf6+LfO9U1b7Od12gseAaJpSMqIvkPAmxOZExIFw6ssmY57SZ1PmXxwgLDAvs9EjH3tT5rQr82lSKd5Pfj69u+fjROsOUyqSG3m3hslJAQfAS2Pe3d31owS32GA3Gy1CgGyL0ZpPBbMWbHusYRZY3WcFcwhQ+ZjeusSghHfLOiYHfkMak4g+eok808NtmS8lJvNpTwTEAhQFRmJQ6rthj77xRbj1IdFnaUyiy9rt3Y98GgSkGD9z+tsCxGjM5s/cb/YlBjV5FwNl0Kdn37iDHk05Ay5R38/vb7dlvvKBsiveTzgNLQOiNMYb0fmYc+ozCRTl2Hs0Z3OsBz36yhd/yTrsumO6Vi4YoOccgEAQjuZijPE59HXWpxUrvjbeZzFnD/N0aScuAY0wd//POBhU1AAEmnYoxXjt0zrvs2K0rjh7CRBERXwRYCLC3pDZccZaX9oncFrbrscA+VXklYAETN48qbDaaxIdcH6H/A4TK9LuAsIXOST6Q+qLd134BU5jm/VUQPjcYvCgQ2br5CWmSoBgQmiL1D/rU0VLjIapfujLSszEYT60USmXQ2AAcwoBwnWJFIxhQkY04WPzOtdaI8WQ5KNSVqOgUwABXS+z8aOjFTYU1s8PWiIxNAaIAqXqoCsahrE5o7FXEeb7rbaGs/qqAgGipdDXzKv2Q9rnmWeVK/dbESZX6Im03bsmy1mCut3Nxs8SKCpdIy2yDiDviO7FMXpkUxBNAAGgWgsqjA3Nqf2b0Z6jPl0Csp2Nv0qAvBT5w01oYXheBxBAL0kkGGSkJRWQGNgS7aF3XQKi9z2uqbL3Kn8WIjwJEKTRnQwuu7c5oRRAdCISIfeRlJ/yrEtAIJihjajSnGK0aEVDYjmqJhriS9MHgABoQRPl9ukakIgfWb5aQCQzCCYPevTIIyaCLyNauAC4910D4mQFrLmykZZLML+v7UNkRiSbLBW2CqZK2t9kPfqXr8Gtdw6ItItvy2RFpNmGj3V9iGQCcbpoTKDvqvY6ggnrEhCdN3O1wt634tR1WBp0vDAthnF1AZFMTx2tzYQ9S8eABE8oYbJ2f334fLIPkRYPc8EPnRIACW4CBxTPDGdC1NcVIFo7xLzWyRvDWCTkmpcEQILOmWuc0Tz3KglJV4Bsi3H4uBjaUeZztQ7X6fH7kHnQOanvvK23zvJLmCwBEHFfw6MrF4zIhxT7SwMCzdjNRmLKBOYK7eoAgtDS/hD9aIcbjftd7UgERExaYvfvA6XOZvJcgCDtAabacki9i2f2OtTdV75w8Uq2EHLWbI8s79EXFngm9OfR2K3QTgUQABwZXhVUEE20+YwKyrkAMcxtcK1+AxZbeKP3jqkyZqUuIGifRbLIjejq09lMVgMgEO6urKkyTGq6sGC/ABgpJgtttfmJSnyQjoCWvyINOQZDSWKA8NSFwoQgO2uA9l1TNETRFj8AC+5/QvS/EkCWR5phGBYiPOE5vhqZ+pysmcNcUwHRoExSkocIi6XMQaeAFOO1OvMwDPFdExjPpRGmZIlNWh0gzLxNAEFfZb7iPmVtjnElQDi9kVNAG2SAhkhbm/448iXIXRXjRZ0TRcUn7KRTCpcww+i6VzBDmEs0d5hDAYOvXnqHvzLg22LUeTYA7SSN4rTiwOjX3/lHX/n59KFCj9Q21F/6rIjT8abrOhjg2mzr/PTyTTOh7cUhOECWIFSk4CGSzlm0TetVjBfNIAf+4BPrZ3zMVTCx7UVKjtkGIkQLrUWPUkJRt/dmD9qm+82OFzs1tKDU3EdJp4xvloltLwzSn8p4X3tforNtWq9mvFNB0Znho0Tn1TDwHAutuTG04a3xGXUzCOeg+SrGNBtDnLlD8h3zhOzBSm0WEzMIV8G8/xfZjAP/AdqQmFNg5gDVAAAAAElFTkSuQmCC":e.startsWith("urn:grn:authn:dk:mitid")?"data:image/png;base64,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":e.startsWith("urn:grn:authn:dk:nemid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAAAYCAYAAAAiR3l8AAAEg0lEQVRoBe1a7W0bMQzNz+TkABkhI2SDdoRsUErX/80G7gbuBu4GHsEjeASP4BFcPFH0nWXq42z5UCAJYCinkyjyPZGipHt4+Pr7QkAQeCF6kf8/awkMHoleZ7N/QfTdkNsb6nfG9j+uHdhQv4UMrT+M4vfuaGjCL6HPguwfyOnI7Z+J3rUxS3UvRK+iE+S0mnwexwQO0OmZ+ndD7lDGod911G/ASXZCMHkA1e4hFISWjNfeAwwAob0LSh87svuO3LL2pyluiN7YeLsLOh+0dpoeUscTCpPW271F+UT9L3l/Swk8UzhALhPsJ986g8PGkPV6sY7cXrVTjOAZ6Q7XzsYcgQEwL1tVYgJiC/qJiAHvW4bo4T1xigcNHkzLsbwJaiSblgnkiZMUEL0wRCRkgpuLiCMEop8h+gjgbCI5xcccgeiMgRE6oMQtJMaAi86G3LqopLfRndkYy6uRkWvTmkAZi4nk0PtE7kPqH8YEorIjt0HdWaNT6/Q/JQLRM4S/m0jUAK/VOUQZH8rFYzV5aSvLb+5FIEaWKMmc0ZvXJiaQw51fDyetLTUEYsBbSdQAH+l8hHwN5mD83pA9s0uTp/WvrbsngdAhRDLkLFuvU0wgKmVtMWTVrFIzppZA9L2FxBTgMjtTa7h4qbH2LNNOydNsrKm7N4GMHyc4PuHUCORGbsXv3KpO8XQWqvUXEjml1r1G65cDPKwTw+wMAhbkfsOWjmgZy8zJi9vWPM9DoKMTNykCoSw8EO9rthZTPFCAYBI5XKdCn7SVsgS4IZ54IA19pH0qmsh7ZLUyxi3lHATykuEz8f1FEjNWfhyWSpljLYFB5gr7ISjCz0winsfja//XAC5pNzbBDKhNZr418jQ9UnVzEIixMQ6iV5ZAbshbi9OimdC8hkBDPoUPpxB2K5MCJD4RVW2kawAfTYpw8pMO0TXyEiar1TMTeCwSyCRyWMptLUoEDuuQ3T9a+021vqKyFnBJxEoTo1ZehWq+yX9JYE2aniPQEC+6OEoTr6sFJG7XGvDW8mYkEJGsHEIFwJA1Jo+t8gTioNsdbyUPurQGvLW8OQgMeQRn27ksVMiTcnRsdbG1yBPoD42r95Qynla2Bry1vDkIlIjm97RTCASgkuHFh6opAuF1U8fQiJO61oC3ljcTgf4mxUe0qeAG9/XxdxwSUwQy6V8eKBMQBANzeZ5aDslgOJSYSiAGvDiP856ZPokRr63drItR7B3nW4DWHtNa3j09cCDPDveu1xAIgOMTj5wHjgj3m3chKFee4rwc2obGrQFvLe8eBGIXMNxhRpn8tQSOtxa850p7IBNu/2Ks0n1gVtlPloVicgWvC4cftAI+ZxP/WgIhZLQehhOPcMVxNsLwIF7LY3rCl8HTCJ80dNSv+XCbP3UYr7EipbXHtJZX9kD5VMJ/Q4TviLQfzqADaQGL1OEHf1dCF9sCAaxUBhJxc7HSAI/7h/Zr+QaHyYSSXlFc9m5yJzXB83fxtVA8Tu1za3l8AZC+hmP7QSLOf9Ufvi3CpfoKNl54XGTYPxsuBZWRhTDMAAAAAElFTkSuQmCC":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,iVBORw0KGgoAAAANSUhEUgAAADcAAAAwCAYAAAC13uL+AAAFjElEQVRoBe1a0Y3bOBB1CengdNIucJ/uIIuLZeQv/klW0s9uB6Z8BWQ72PwEB0gGnA72GrCIVOASVIJL2MOjNL4hLUoUJVx+1oAgkaLFeZzh48yQi8WMv9vPYhml+euEq44SIaN09xJm+fYmEXczijftU1EqNhOAdQ9Klp/DbHf45UDDRHydHRyzhDDN6yDLP01Tgee/YU4aOIz6vXiO0vyhBS6190zwMfVhunv2FNH+t7j4uV0V8gXXev/zwWwZpflF+DAVnQKgfgwQW9swzU/BRrwzZfAqx/vjt7isXvm1KqU24aMsP0MYmI+tkxlIh83N3Yutn1H1cVlJDiwuqvrubxnQR4JH8Y5GuQ/cTSoEtZvjHt4LQTJMuhPAdXF8uTtIzSTAZlzYm0Q8mZ1FX8SGtMvbTnw+z2KeH/ZyE5fVmWuMAGBdMoXkzBYl4tF8P1c5vM+3JIf3PS7kY1xWp64PXBFFlp+DRFzM9opJPZmyc0ASIbtkcq77eJDBel/VmHcf2VyjD4CeW7aUYSIOt5lY0jvc/0hEECXiQG3oHqbiNIepOpsm5hOYEBe0tSrlM8yREco5LuQBZkrtOBCf5yATyxY8Y0N3Vy74rA+mVYZVKb8yIBr9W+o7TdXaQc+LCXPzat3t7AaLtAVEJ9BVWU2zeUMKTw26gQNpjAMnO70RQ2bnoqcD7gyuU0M2wB/20u3DjvDAsp2s2M+wwzLEhVzaQFjri+q9o9xOzXzABWk+LINiSMOHtIJq25neihOCnkamt+OiRSe2jAu5HQJjvD/3yOn1qsvbGQDoJsO6WdOc59zcTInR4KHTAKhmTXT1UOJS6t7/gIligfdSj+VPypPpJ46rRd7ZtzQ8kWENFnK609oCbYHVTtpiA8B9WMuYLRYgBmM+OYCbhyl9gSFbZgXEX/gwZfxdag4y/57LM5jxKqJgWnHQ4vD6BkHi4oiQZlhbrI0LALNNy4ajzc8E2hfxm30uxjKlLba7+rBRMVds5zTXqO/RDnNx9ErQhFl+MrUwtoxUIcntdPdwmMd10EoxFojZHmk9J0C80dj55uMwT03tqazz2Hzl/+Uwe4YzauH2TsS2ma1RTOnjMPvuJ9gy2NzyrM8eqQU3Z9XocSxTKjN0CWeMfrTiaKb0TC24MiVAjWZEDRErjHaYPZcBk/mMco1dIafAk8k++Ig4DqY54tI2QQY7WCwW2E+ANi5Xk6V+ABjnvKNLR29t3kbgbQR+3QhEaf4jSnOEIPqFYxNfxGYuyaIk/6fpw74jir2J9V7WuCiFEZfyRHV0R92qPIpBR4KvPfAElBfRbgFHae61WHcNyGU3pyd65mEXmNshO9AfifO1hoSiDBQFhKBqFTETaJxUYKcKwmyHYxpK8zfZ7ql9fqU2+rZycxggyvJv9J/brNlA5Ovtqqw+admBoqrjonr/ZxNUX3ad0Ibk1u7cSwcQFfbTLmkDRIXxBJYPBJ7RHh+0vUcbJEx5olVZRjMVGoeYxWZaguq7XHKfd8UcB+4u4lkDRYU+Lx1gAV4Jn4gf5DlwQamOTA7/wXZxlIrLmRSAMxKt6tQDgPO0nGmC6NcAcUkjGvXd4NpRpBE8/J799Rs/caCZZZZvsWtKQEgrmsm1WuAOMoS0JIG0rWXNBNvtae7z8vjRNF9SlnbnQtAoGqZ6Umk3NcfyGhrgA4KPaZpsjy+RmVLUzMvt/GySq4xcukyQZwcATrXhZ2KKynrmRZsr0IoSPtVyHHS06RUHzEAsUfbfMagwEU/c5EwzpbziRdstGI2h27MkBlMqE9TmIMu6qayBcRZG0xoKasPdXN9QToS8aBL71U0bjLby3KmMDBRnSoBvzVQxJ7Rslpm2mzbtUSe1945DBfuqBlPiYAGeuy7MuaE17l8txYxCItgPEAAAAABJRU5ErkJggg==":e.startsWith("urn:grn:authn:de:sofort")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJwAAAAuCAYAAADdunAzAAAAAXNSR0IArs4c6QAADCpJREFUeJztXU2O20YW/oryDGaVqODBbCOfwOoTWH0Ct9cDWOJcwN37gfU0yL7VF0hJA2Rt5QQtn6CVEzSzDRAU402MGYs1i1cUKaqKLFGdzsjWBxhqU2SxWPXq/XzvFQWccMIjQuxzsibVBdAD0AWQSopXLa9PJcXJPtee8HkgWOA0qUsAY7Cw5UgAnDcJjybVA4QCzKBy7VxSTPt0+ITjRpDAaVIEFrYUEDMIkcJkAwADPoZnkuLUc20XwB2sZgOwAAvthT1lJimOD3uME44FTwLPG9vPM0mjXJtNNM0UYEYQ0RsAE8+1F2BhW0iKX+UHWevhDsBIk5pLipct+n/CkSFqOsEKBgAku6bTzPkju4Afb/hOnWn5ILclFgAAEX0T2N8TjhyNAlcHq5VSAH1rOrdghbUPIJVvX793NJELs9Mcn/D5oVHgrFZLAfRcQgUINoUieum4PA8SFu7WTZ8/MpcwnvAZIlDDiRQA/vLkz1/vfmUFjoOI6pdD/oh2BE6T6oODh8QXcJzw+SHUpK4A4OP6U3/nG5P9YP/aEjg2p2YAIJXj4Q871xXmdC8u74TjRqjA5Rpox6SWTe5v335fdv5zAfREn+IFf0Sn6PQLQpjACcHRqTG7Go5PWADAx/Wnkpbzm1OLvm37pOG+IAQJ3NpkP/FfxhE0oBAa68eVzGnZ5FZghTdb/xje3ROOHUHEb6fws9wajoVqCiZ5Y5SiU1dAUAoYVocEDJpUNxLRMDNmwH0z1i8UCYCkI8RsbbL3/095W02qH4noRWZMKSc9uvqj+/VYCM00eH04gP04TSoF0P3t2++/+fjpvy8B02xOOZ/aCnluNzOZo0+mB6C3ZkGEJjX5o3O2mtQIEG8A089MVv4qAXASuDJKAtXTpLpurSQWgBl9XH8aAYYzD15+TTy3AtkqYCjldkMx1qReSorP2tzvEDB3Kd6xi2Ee+/YHQZO6gIieVw4ncjyct21zj0xDDRcHYA3DwmWyS3toWWPKWgcMrCn2ErbNPTWp6xbXHYq7SpXMEUG8hMmo8m90SIv7pLb8XByATkF/sIkT0czfFE+AJ93VBJ+wpQBm4KyGS9BTiOhRI2KriXs1pyQ4wK04RnhNqiY1QFFStEKQHzdLNo67x5zadoEWhK8mlVeebEOA5DjeqlbREzWGAQFIITCFwY0cDx8to2HzyL7FMQUwOdIMi5upCMSOwNkI8h12JtaUuTifDV8AuESdORXRc7DT3ELbiBcuP6gqbPkxPZmvYLL3cvyHTKw7oncsjiNDjR/fjC2Bs6vyFizFS2sWe9ZuWwH0cHH83RxAfw3c+E+x/ky7gMF1b++De1JqQdCkBpGInmfle5rsRzCVE2AGnYsjaSNsdl4G5TKuCEgzpnyCFm6pzGyD/DlsUcYA/KxOKquELoBrMP21NyoaTowB062uQk1qDi6W7MK3cvkBVgDO62+5Mbn7E75CJDA7k9jVpOghaA878JfgGr5uhb4onTdbdoSYfVUfrbkWx17+mqVShiUSffNdVpyTdEREa5P9UFN13QNw7zguUXpeAEDUuQfQ5FuPrCW82rdwthI05OVC2NIMdiXkEt1zrZYQ2Anl+rg9N+Bwv7xlTGNN6v7XyfyNHYg2fbsAT0p134arI4O1yWaalGozFprUhaaZ0jS7/5VmO5GzJtXTNLsFUN0H4kJvbbIZgLsWz64Q9LxO9AHcalJak1KhF1U1XAKYvuVetgRCUrzQpKbgFaEAnO+sQCABRAIhlh7zkw9Iq2hRUrzUpJaoVKZY9DKTTQFe9eCoOah0vQWvl2MEYKBJNW4kyvuoSd2BsyIAgKwy2YVbY/YV5B6Auw+T70Zfjf8RypPVVWqHIt+JF4SqhmPfy2RTz8qdgIVlUFmBK/AEdwEzgMkIHHjc8wqY3erJfAwgT+gfUiHyCs2mqQcWhltN6v7DZD70nRjA66UN9+vZ+4RoibwC2teX3IduolK8PtbaiFlbLf8YiAA2dZpV+zt7vAvWYluwPsIrAKkVtATAmaT4TFJ8LimWAJ5BRBcQEWHDzW2EkElDk400zd7VCYIPtg9nYGohBL2S+XNpE5+wzRB1BpJiKSl+BkCu2a1wCV/PbiQ6EGIMt7AliDoDAFJS/ExSLPn/wsd1Bpu4rXsAy5zgr8EK4WO/A1FZVTnn1rP/riTFO42XdmuRHA8boy5Nqsd0iBlYP7G6P/WsTZht97uOrfCHqPWlpHgT1Fjttjs5NdRFjRba2i65GSM/eKxFNJPj4dzn2IPn47wmILgGuzlVnOfuRE3b3H7UuXSR8J5nWEqKz+2cvoTJ+oAILkB4YiesB2bpryTFqVXJdwCuNalljYMfFHVZ/yYBimDkZ1L9P/Fk98GfrzyXN7UbA4D+179fwJi+3UHmc7QHHybzYRFdiqGDuljVURc2rxyDha6MPCAKcRdcxK+vz68aFuMEbDmqJn0Y0BfeyP729d6L3Y69n/7yINok2ksDICleZUUFw7sd/6Sof2udV/tbQaGkAC4q1cJ7Q759/V6OhzdWgz3zmZv1Vp8dBaW1KTl7r2K3WvXaaqJ7FwIkKb7aFSLhurYuH533JfU8a7MfJyJ67GxHOWjYuvFTNqVLsOnYDt1NNgevjoH1jS4CneYt2MFyVAsfBklxImkUw73CyxOxF5G8Daev0zQGdcRv+5SRaNWXopJ7PxyU2opQUBQu5zl3kkeWOnDddAQONrQmdadJqQ+T+TA4UioeuhW319C4a0C7td97y+h3TnT1t0lY6ybYdW3YmLj7fHhRgFsgD5qnCIVQXVYJPKvObVSKsaU47sEOaA/A0kZLuTbsAxiViEimRGh2bYnVOgSrdk1qwO02kq5NQuHQgGbUpK0ri6906SH7a41zZ1vTuNlyfsc5h+8VKbYWbKFri18boUn1rfXbzENkheochSa7Kw+4DRjOCj9hs7KXkuJz+fb1e0mjK0uLiGy7erVrCw8v4fIFgfLqDFqRNrK8tZHp7YfJ3LUB21YEO1n6kpAZF0HaBfNqTmGu4e2SVtmTAuWKnDJUqcKm2pc8YnbA7O3QV9HhYgxXn641KfItzFKm5A4FH6s0qe4TYBN5ndvO98HaacOel6LB2D68k5y0k5H7e0tbYs6CJETqiYa6+fdNA+DICPTWJltoUiuIaAGT/RSJ6OvMmAtvSqhU9l6TucjTNktwZJ1GInre0O5BuVxJcfoLqUlU9ZeLBTDriGhptU7PVk27olOA30h1sEmVFKd6Mp9aDrWKMYCxptkSvC+jzDK4MiUjiCjZpLZKQpeby1tPyiZfxVsN2tXGJlngUo7jwBUWtnvLtu8jV/vMBwG+hLvFzFEenVMc1QHKsxWjxnYF6JCy6xxPKZ7+Qqof5RmZbYwqEbavmYfdI2GyG/AYeNyXTQIAwGae3Oea7LKu4jcXuqpDmj901f/hLAWTpkHCZrVl0O6tiulvgxUcE3Fwuw9c3/aU4lHmrzdsQi1J3Aa2rX3Gp+7e6ZbAlXbRA0xO9sDmVWlSI02zd8hVftTZqFldvCVpz3ovYf0vEZRbLcqfvCkdH6aomYhC6PZqN10Dr36PYkordFfYZxEIEALeRtoGTDPFzyCiy6Y+SYpT74IRETlKzHn3FUSUZCa7itiMWdNiAM7rjSqpkM075PZ7lDy6cjrvTuT+pCY1sdvu7J7UHSQQmMFgHjIJlXbH1tRX283TUQuYbP7XGk2SwfwU7ViB8MjxKcVTTWqxBgYdNrEu33EFgQWXzzdqNceibvaby5Dj4Q2AG5vVGVg3povKvD+leKQn6h5mY4oTCEzleDjfeeVqKShIwElyIOo8hzE9CJG4c26K01OcFww1p3kec/UQ2/d0OVPx6T+/PoRZ0aS6KO1Sk//8u4smeDT8Hs/42HC+41eTugWvqKmk+ME36W4lwEU0egiH+4TjgC9ouAKbj8sPk+/2LiEKwDVY1bqixhM+YzgFzjrnV8CmoC+IWW4CE4LqDlxpmsD/IuoTPlPUvja/tLcT4PKlSdsoSG//zsMKXHbzRW0CPiHgdxpsEKGQRxsc7dyEpHFKu6CGyCPZ49+XecIBCP1hkC4E3pTCXIA3zKwAJFtpKWO6YC02qKQ3lgDik1b7srH3b22tgYsO8BLFxlkfLGeFJQxujjGEP+Hh8T8HcQSjXf/6WAAAAABJRU5ErkJggg==":e.startsWith("urn:grn:authn:no:bankid")?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAUCAYAAABGUvnzAAAE10lEQVRoBe1Z3XHcNhC+EjjAaSZvTgfRiyKCL7nHRATtGzdgd2B14HSgdKB0cCW4BJWgEljCZT6SS35YAjhSJ0eSk5vBAAR2F7v74WcXt9n8//vxPVAW+591earVWg6+T8naFftC+NA+Rf/S46LrEtteWtdNZfyDs/44L83jrtitcnZl/V9zOZ3s9uri5jJlbGlvPgtfaZr7FN1r6RddUa/Rqdz6XWn8165s/U54ry72l2O/jFPt7B/78qfTG0XkBbUz9SMrzO2y+P3k7mNhzjYH5uf2tb35wLTc/s8AbPxX8QkAFR+w/TIeq0vb3K8GGiCWtv6kiyua30SBpTVkVUXzYa0sNvCH3sFnAjyA3pb2/aelmLwKuhzAa+9kuR/PMezUnLy71syDXSu8yR1s6gfeINfGfymt/yZ8UueuvDU6jbQQWBZ+p8tIsNls+mBpTgMeptNtDTDkVFv/p7NNKwY567/ljidnmltn+bppWrdt7hBH9P0Yqx95bsiUgn4tozL1A+4/5unoKGaJjOGa6uTqnbYEYICpZeKbfTT4JEoX4z3Z52yzJ0cHAdm19QcRUNnmPkWXA1kpf0gHfv6onYa5na3/Ts07OHvUWXTt+abgMhMgHrXuPBfL6xdlLxOLg8fQPgfgjn87nQDQQeul51v8jeiPjQrapr4TQaVSgOl+LfwvQqfrEOBx17a4jyOBW8s7ubTNGIEP86X4OpB5btaPeSNHYrBbmE/kBXqY+jEWoJ4LME42PtVwfMv8Z9c46qri4ztdtGA9ju9T6VYIsD9Wtg5SJTiLDXO0qJxtOAs48FwzPpXWMFDO+oDXmeaOx9lO3Y8FR3q0MXDBfy7AkMGn21sISDu/KYCjDro277+MjjX9XapPlphj9amSAuqqCPP0frfQEV58fCe8ox7DgiFwj7E7W/ieA2CkSjL/IoCTSbYKxeFgKDgrT03AxWoVQCSDjAK7ZHI4diovjBRfdbG/ZD6adpPqFxoex0kU7Q8fd4KjXOilfg6AOaZYBHC4+iYHwjgxammQJYasrQOgMi9Z2uFL+JA2MR/rluoXGh4XX2CM+3U7F/g8D8DTlQR5omuy7u+aPoXgdIJ3RHeXdU+aEbolkyRn7wcYKKzQGHlsJz6VT+QzONLHNY9nAQ5eA9NPvOcCHARyOM2e8BjF9v1rbQVUy4GSKMEpiBtSELU7o3zB3Z0JsmQerhcBPETMfHQi/2Y50j4HYBXIHfHELHJffa0ARjoTRLSzYMpMUTZHlZoP8UUQfX8HgCWw6045epiJHdVLAMbildc41Hhgijz6HPHatQhYvN7gstbFbevbRQKIqA/YIrJM/6JEpEEzAvBxiA3kVWh8qHDWB1H2nLe7o2J82Tw4UGj4WLKDmc+Z+nbimR/ViwCmQHKSFcZGkMPzZtspIejXqUNWUB98zN5MRX5uxQUg4XkwuNOUcSq6h046Z5U5UbNT8c02MB33S5vHU3ew0EqdO6pZFwYpsD8PcJtLw0SHoEaeiIBqVtaskkEiou2ZnO5dtjnIURZMPnxUFv9A9TrgEQO0lanHfK8DCnIyQUXnJPpvG/LEGSIbNc+f6hcaHue4gPuFVmrozuP8pwB0nMZuPgsP2z+ND/7AX7CmvsvZLnLeZI2dw859k0a8oNL/AO3s/ku5hXTHAAAAAElFTkSuQmCC":e.startsWith("urn:grn:authn:no:vipps")?"data:image/png;base64,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":void 0}function Q(e){var t,A;const{fetchOpenIDConfiguration:o}=(0,i.useContext)(a),s=e.language||"en",[c,l]=(0,i.useState)(null);(0,i.useEffect)((()=>{e.acrValues||(()=>{var e,t,n,i;e=this,t=void 0,i=function*(){l(yield o())},new((n=void 0)||(n=Promise))((function(r,A){function o(e){try{c(i.next(e))}catch(e){A(e)}}function s(e){try{c(i.throw(e))}catch(e){A(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((i=i.apply(e,t||[])).next())}))})()}),[e.acrValues]);const u=function(e){let t=e.slice(),n=function(e){let t=null;return e.forEach((e=>{if(e.startsWith("urn:grn:authn:dk:mitid"))if(t){let n=e.replace("urn:grn:authn:dk:mitid",""),i=t.replace("urn:grn:authn:dk:mitid","");(":low"===n&&[":substantial",":high"].includes(i)||":substantial"===n&&":high"===i)&&(t=e)}else t=e})),t}(e);return n?e.filter((e=>!e.startsWith("urn:grn:authn:dk:mitid"))).concat([n]).sort(((e,n)=>t.indexOf(e)-t.indexOf(n))):e}(null!==(A=null!==(t=e.acrValues)&&void 0!==t?t:null==c?void 0:c.acr_values_supported)&&void 0!==A?A:[]);return(0,n.jsx)(r().Fragment,{children:u.map((t=>(0,n.jsxs)(U,Object.assign({acrValue:t,onClick:e.onSelect?()=>e.onSelect(t):void 0,redirectUri:e.redirectUri},{children:[g(s,t).title,(0,n.jsx)("br",{}),g(s,t).subtitle]}),t)))})}function k(){const{result:e}=(0,i.useContext)(a);return{result:e}}var b=exports;for(var w in t)b[w]=t[w];t.__esModule&&Object.defineProperty(b,"__esModule",{value:!0});
|
|
2
2
|
//# sourceMappingURL=criipto-verify-react.cjs.js.map
|