keycloakify 6.7.2 → 6.8.1
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 +6 -0
- package/lib/components/Error.d.ts +6 -3
- package/lib/components/Error.js +4 -4
- package/lib/components/Error.js.map +1 -1
- package/lib/components/IdpReviewUserProfile.d.ts +6 -3
- package/lib/components/IdpReviewUserProfile.js +10 -10
- package/lib/components/IdpReviewUserProfile.js.map +1 -1
- package/lib/components/Info.d.ts +6 -3
- package/lib/components/Info.js +4 -4
- package/lib/components/Info.js.map +1 -1
- package/lib/components/KcApp.d.ts +7 -4
- package/lib/components/KcApp.js +25 -24
- package/lib/components/KcApp.js.map +1 -1
- package/lib/components/Login.d.ts +6 -3
- package/lib/components/Login.js +17 -17
- package/lib/components/Login.js.map +1 -1
- package/lib/components/LoginConfigTotp.d.ts +6 -3
- package/lib/components/LoginConfigTotp.js +25 -25
- package/lib/components/LoginConfigTotp.js.map +1 -1
- package/lib/components/LoginIdpLinkConfirm.d.ts +6 -3
- package/lib/components/LoginIdpLinkConfirm.js +7 -7
- package/lib/components/LoginIdpLinkConfirm.js.map +1 -1
- package/lib/components/LoginIdpLinkEmail.d.ts +6 -3
- package/lib/components/LoginIdpLinkEmail.js +4 -4
- package/lib/components/LoginIdpLinkEmail.js.map +1 -1
- package/lib/components/LoginOtp.d.ts +6 -3
- package/lib/components/LoginOtp.js +19 -19
- package/lib/components/LoginOtp.js.map +1 -1
- package/lib/components/LoginPageExpired.d.ts +6 -3
- package/lib/components/LoginPageExpired.js +4 -4
- package/lib/components/LoginPageExpired.js.map +1 -1
- package/lib/components/LoginPassword.d.ts +6 -3
- package/lib/components/LoginPassword.js +12 -12
- package/lib/components/LoginPassword.js.map +1 -1
- package/lib/components/LoginResetPassword.d.ts +6 -3
- package/lib/components/LoginResetPassword.js +14 -14
- package/lib/components/LoginResetPassword.js.map +1 -1
- package/lib/components/LoginUpdatePassword.d.ts +6 -3
- package/lib/components/LoginUpdatePassword.js +20 -20
- package/lib/components/LoginUpdatePassword.js.map +1 -1
- package/lib/components/LoginUpdateProfile.d.ts +6 -3
- package/lib/components/LoginUpdateProfile.js +31 -31
- package/lib/components/LoginUpdateProfile.js.map +1 -1
- package/lib/components/LoginUsername.d.ts +6 -3
- package/lib/components/LoginUsername.js +13 -13
- package/lib/components/LoginUsername.js.map +1 -1
- package/lib/components/LoginVerifyEmail.d.ts +6 -3
- package/lib/components/LoginVerifyEmail.js +4 -4
- package/lib/components/LoginVerifyEmail.js.map +1 -1
- package/lib/components/LogoutConfirm.d.ts +6 -3
- package/lib/components/LogoutConfirm.js +8 -8
- package/lib/components/LogoutConfirm.js.map +1 -1
- package/lib/components/Register.d.ts +6 -3
- package/lib/components/Register.js +41 -41
- package/lib/components/Register.js.map +1 -1
- package/lib/components/RegisterUserProfile.d.ts +6 -3
- package/lib/components/RegisterUserProfile.js +12 -12
- package/lib/components/RegisterUserProfile.js.map +1 -1
- package/lib/components/Terms.d.ts +6 -3
- package/lib/components/Terms.js +6 -6
- package/lib/components/Terms.js.map +1 -1
- package/lib/components/UpdateUserProfile.d.ts +6 -3
- package/lib/components/UpdateUserProfile.js +11 -11
- package/lib/components/UpdateUserProfile.js.map +1 -1
- package/lib/components/WebauthnAuthenticate.d.ts +6 -3
- package/lib/components/WebauthnAuthenticate.js +18 -18
- package/lib/components/WebauthnAuthenticate.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/lib/components/Error.tsx +34 -31
- package/src/lib/components/IdpReviewUserProfile.tsx +50 -47
- package/src/lib/components/Info.tsx +49 -46
- package/src/lib/components/KcApp.tsx +74 -69
- package/src/lib/components/Login.tsx +178 -175
- package/src/lib/components/LoginConfigTotp.tsx +163 -160
- package/src/lib/components/LoginIdpLinkConfirm.tsx +56 -43
- package/src/lib/components/LoginIdpLinkEmail.tsx +34 -31
- package/src/lib/components/LoginOtp.tsx +86 -83
- package/src/lib/components/LoginPageExpired.tsx +38 -35
- package/src/lib/components/LoginPassword.tsx +79 -76
- package/src/lib/components/LoginResetPassword.tsx +67 -64
- package/src/lib/components/LoginUpdatePassword.tsx +105 -102
- package/src/lib/components/LoginUpdateProfile.tsx +108 -105
- package/src/lib/components/LoginUsername.tsx +145 -142
- package/src/lib/components/LoginVerifyEmail.tsx +34 -31
- package/src/lib/components/LogoutConfirm.tsx +57 -54
- package/src/lib/components/Register.tsx +137 -134
- package/src/lib/components/RegisterUserProfile.tsx +63 -60
- package/src/lib/components/Terms.tsx +56 -52
- package/src/lib/components/UpdateUserProfile.tsx +61 -58
- package/src/lib/components/WebauthnAuthenticate.tsx +179 -178
@@ -1,4 +1,5 @@
|
|
1
1
|
import React from "react";
|
2
|
+
import type { TemplateProps } from "./Template";
|
2
3
|
import type { KcProps } from "./KcProps";
|
3
4
|
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
4
5
|
import type { I18n } from "../i18n";
|
@@ -16,9 +17,11 @@ export declare function useDownloadTerms(params: {
|
|
16
17
|
currentLanguageTag: string;
|
17
18
|
}) => Promise<string>;
|
18
19
|
}): void;
|
19
|
-
declare
|
20
|
+
export declare type TermsProps = KcProps & {
|
20
21
|
kcContext: KcContextBase.Terms;
|
21
22
|
i18n: I18n;
|
22
|
-
doFetchDefaultThemeResources?: boolean
|
23
|
-
|
23
|
+
doFetchDefaultThemeResources?: boolean;
|
24
|
+
Template?: (props: TemplateProps) => JSX.Element | null;
|
25
|
+
};
|
26
|
+
declare const Terms: React.MemoExoticComponent<(props: TermsProps) => JSX.Element | null>;
|
24
27
|
export default Terms;
|
package/lib/components/Terms.js
CHANGED
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React, { useEffect, memo } from "react";
|
13
|
-
import
|
13
|
+
import DefaultTemplate from "./Template";
|
14
14
|
import { useCssAndCx } from "../tools/useCssAndCx";
|
15
15
|
import { Evt } from "evt";
|
16
16
|
import { useRerenderOnStateChange } from "evt/hooks";
|
@@ -39,8 +39,8 @@ export function useDownloadTerms(params) {
|
|
39
39
|
downloadTermMarkdownMemoized((_b = (_a = kcContext.locale) === null || _a === void 0 ? void 0 : _a.currentLanguageTag) !== null && _b !== void 0 ? _b : fallbackLanguageTag).then(thermMarkdown => (evtTermMarkdown.state = thermMarkdown));
|
40
40
|
}, []);
|
41
41
|
}
|
42
|
-
const Terms = memo((
|
43
|
-
|
42
|
+
const Terms = memo((props) => {
|
43
|
+
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate } = props, kcProps = __rest(props, ["kcContext", "i18n", "doFetchDefaultThemeResources", "Template"]);
|
44
44
|
const { msg, msgStr } = i18n;
|
45
45
|
useRerenderOnStateChange(evtTermMarkdown);
|
46
46
|
const { cx } = useCssAndCx();
|
@@ -48,11 +48,11 @@ const Terms = memo((_a) => {
|
|
48
48
|
if (evtTermMarkdown.state === undefined) {
|
49
49
|
return null;
|
50
50
|
}
|
51
|
-
return (React.createElement(Template, Object.assign({}, Object.assign({ kcContext, i18n, doFetchDefaultThemeResources },
|
51
|
+
return (React.createElement(Template, Object.assign({}, Object.assign({ kcContext, i18n, doFetchDefaultThemeResources }, kcProps), { displayMessage: false, headerNode: msg("termsTitle"), formNode: React.createElement(React.Fragment, null,
|
52
52
|
React.createElement("div", { id: "kc-terms-text" }, evtTermMarkdown.state && React.createElement(Markdown, null, evtTermMarkdown.state)),
|
53
53
|
React.createElement("form", { className: "form-actions", action: url.loginAction, method: "POST" },
|
54
|
-
React.createElement("input", { className: cx(
|
55
|
-
React.createElement("input", { className: cx(
|
54
|
+
React.createElement("input", { className: cx(kcProps.kcButtonClass, kcProps.kcButtonClass, kcProps.kcButtonClass, kcProps.kcButtonPrimaryClass, kcProps.kcButtonLargeClass), name: "accept", id: "kc-accept", type: "submit", value: msgStr("doAccept") }),
|
55
|
+
React.createElement("input", { className: cx(kcProps.kcButtonClass, kcProps.kcButtonDefaultClass, kcProps.kcButtonLargeClass), name: "cancel", id: "kc-decline", type: "submit", value: msgStr("doDecline") })),
|
56
56
|
React.createElement("div", { className: "clearfix" })) })));
|
57
57
|
});
|
58
58
|
export default Terms;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Terms.js","sourceRoot":"","sources":["../../src/lib/components/Terms.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,
|
1
|
+
{"version":3,"file":"Terms.js","sourceRoot":"","sources":["../../src/lib/components/Terms.tsx"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,13 @@
|
|
1
1
|
import React from "react";
|
2
|
+
import type { TemplateProps } from "./Template";
|
2
3
|
import type { KcProps } from "./KcProps";
|
3
4
|
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
4
5
|
import type { I18n } from "../i18n";
|
5
|
-
declare
|
6
|
+
export declare type UpdateUserProfileProps = KcProps & {
|
6
7
|
kcContext: KcContextBase.UpdateUserProfile;
|
7
8
|
i18n: I18n;
|
8
|
-
doFetchDefaultThemeResources?: boolean
|
9
|
-
|
9
|
+
doFetchDefaultThemeResources?: boolean;
|
10
|
+
Template?: (props: TemplateProps) => JSX.Element | null;
|
11
|
+
};
|
12
|
+
declare const UpdateUserProfile: React.MemoExoticComponent<(props: UpdateUserProfileProps) => JSX.Element>;
|
10
13
|
export default UpdateUserProfile;
|
@@ -10,23 +10,23 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React, { useState, memo } from "react";
|
13
|
-
import
|
13
|
+
import DefaultTemplate from "./Template";
|
14
14
|
import { useCssAndCx } from "../tools/useCssAndCx";
|
15
15
|
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
16
|
-
const UpdateUserProfile = memo((
|
17
|
-
|
16
|
+
const UpdateUserProfile = memo((props) => {
|
17
|
+
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate } = props, kcProps = __rest(props, ["kcContext", "i18n", "doFetchDefaultThemeResources", "Template"]);
|
18
18
|
const { cx } = useCssAndCx();
|
19
19
|
const { msg, msgStr } = i18n;
|
20
20
|
const { url, isAppInitiatedAction } = kcContext;
|
21
21
|
const [isFomSubmittable, setIsFomSubmittable] = useState(false);
|
22
|
-
return (React.createElement(Template, Object.assign({}, Object.assign({ kcContext, i18n, doFetchDefaultThemeResources },
|
23
|
-
React.createElement(UserProfileFormFields, Object.assign({ kcContext: kcContext, onIsFormSubmittableValueChange: setIsFomSubmittable, i18n: i18n },
|
24
|
-
React.createElement("div", { className: cx(
|
25
|
-
React.createElement("div", { id: "kc-form-options", className: cx(
|
26
|
-
React.createElement("div", { className: cx(
|
27
|
-
React.createElement("div", { id: "kc-form-buttons", className: cx(
|
28
|
-
React.createElement("input", { className: cx(
|
29
|
-
React.createElement("button", { className: cx(
|
22
|
+
return (React.createElement(Template, Object.assign({}, Object.assign({ kcContext, i18n, doFetchDefaultThemeResources }, kcProps), { headerNode: msg("loginProfileTitle"), formNode: React.createElement("form", { id: "kc-update-profile-form", className: cx(kcProps.kcFormClass), action: url.loginAction, method: "post" },
|
23
|
+
React.createElement(UserProfileFormFields, Object.assign({ kcContext: kcContext, onIsFormSubmittableValueChange: setIsFomSubmittable, i18n: i18n }, kcProps)),
|
24
|
+
React.createElement("div", { className: cx(kcProps.kcFormGroupClass) },
|
25
|
+
React.createElement("div", { id: "kc-form-options", className: cx(kcProps.kcFormOptionsClass) },
|
26
|
+
React.createElement("div", { className: cx(kcProps.kcFormOptionsWrapperClass) })),
|
27
|
+
React.createElement("div", { id: "kc-form-buttons", className: cx(kcProps.kcFormButtonsClass) }, isAppInitiatedAction ? (React.createElement(React.Fragment, null,
|
28
|
+
React.createElement("input", { className: cx(kcProps.kcButtonClass, kcProps.kcButtonPrimaryClass, kcProps.kcButtonLargeClass), type: "submit", value: msgStr("doSubmit") }),
|
29
|
+
React.createElement("button", { className: cx(kcProps.kcButtonClass, kcProps.kcButtonDefaultClass, kcProps.kcButtonLargeClass), type: "submit", name: "cancel-aia", value: "true", formNoValidate: true }, msg("doCancel")))) : (React.createElement("input", { className: cx(kcProps.kcButtonClass, kcProps.kcButtonPrimaryClass, kcProps.kcButtonBlockClass, kcProps.kcButtonLargeClass), type: "submit", defaultValue: msgStr("doSubmit"), disabled: !isFomSubmittable }))))) })));
|
30
30
|
});
|
31
31
|
export default UpdateUserProfile;
|
32
32
|
//# sourceMappingURL=UpdateUserProfile.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UpdateUserProfile.js","sourceRoot":"","sources":["../../src/lib/components/UpdateUserProfile.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,
|
1
|
+
{"version":3,"file":"UpdateUserProfile.js","sourceRoot":"","sources":["../../src/lib/components/UpdateUserProfile.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,eAAe,MAAM,YAAY,CAAC;AAIzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AASpE,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,KAA6B,EAAE,EAAE;IAC7D,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,4BAA4B,GAAG,IAAI,EAAE,QAAQ,GAAG,eAAe,KAAiB,KAAK,EAAjB,OAAO,UAAK,KAAK,EAAxG,iEAAgG,CAAQ,CAAC;IAE/G,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;IAE7B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAEhD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,CACH,oBAAC,QAAQ,oCACC,SAAS,EAAE,IAAI,EAAE,4BAA4B,IAAK,OAAO,KAC/D,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,EACpC,QAAQ,EACJ,8BAAM,EAAE,EAAC,wBAAwB,EAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM;YACxG,oBAAC,qBAAqB,kBAAC,SAAS,EAAE,SAAS,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,IAAM,OAAO,EAAI;YAE7H,6BAAK,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACxC,6BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBAC/D,6BAAK,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAQ,CAC3D;gBAEN,6BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAC9D,oBAAoB,CAAC,CAAC,CAAC,CACpB;oBACI,+BACI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAC9F,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAC3B;oBACF,gCACI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAC9F,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,MAAM,EACZ,cAAc,UAEb,GAAG,CAAC,UAAU,CAAC,CACX,CACV,CACN,CAAC,CAAC,CAAC,CACA,+BACI,SAAS,EAAE,EAAE,CACT,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,oBAAoB,EAC5B,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,kBAAkB,CAC7B,EACD,IAAI,EAAC,QAAQ,EACb,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,EAChC,QAAQ,EAAE,CAAC,gBAAgB,GAC7B,CACL,CACC,CACJ,CACH,IAEb,CACL,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
|
@@ -1,10 +1,13 @@
|
|
1
1
|
import React from "react";
|
2
|
+
import type { TemplateProps } from "./Template";
|
2
3
|
import type { KcProps } from "./KcProps";
|
3
4
|
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
4
5
|
import type { I18n } from "../i18n";
|
5
|
-
declare
|
6
|
+
export declare type WebauthnAuthenticateProps = KcProps & {
|
6
7
|
kcContext: KcContextBase.WebauthnAuthenticate;
|
7
8
|
i18n: I18n;
|
8
|
-
doFetchDefaultThemeResources?: boolean
|
9
|
-
|
9
|
+
doFetchDefaultThemeResources?: boolean;
|
10
|
+
Template?: (props: TemplateProps) => JSX.Element | null;
|
11
|
+
};
|
12
|
+
declare const WebauthnAuthenticate: React.MemoExoticComponent<(props: WebauthnAuthenticateProps) => JSX.Element>;
|
10
13
|
export default WebauthnAuthenticate;
|
@@ -10,12 +10,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React, { useRef, useState, memo } from "react";
|
13
|
-
import
|
13
|
+
import DefaultTemplate from "./Template";
|
14
14
|
import { useCssAndCx } from "../tools/useCssAndCx";
|
15
15
|
import { base64url } from "rfc4648";
|
16
16
|
import { useConstCallback } from "powerhooks/useConstCallback";
|
17
|
-
const WebauthnAuthenticate = memo((
|
18
|
-
|
17
|
+
const WebauthnAuthenticate = memo((props) => {
|
18
|
+
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate } = props, kcProps = __rest(props, ["kcContext", "i18n", "doFetchDefaultThemeResources", "Template"]);
|
19
19
|
const { url } = kcContext;
|
20
20
|
const { msg, msgStr } = i18n;
|
21
21
|
const { authenticators, challenge, shouldDisplayAuthenticators, userVerification, rpId } = kcContext;
|
@@ -82,7 +82,7 @@ const WebauthnAuthenticate = memo((_a) => {
|
|
82
82
|
const [credentialId, setCredentialId] = useState("");
|
83
83
|
const [userHandle, setUserHandle] = useState("");
|
84
84
|
const [error, setError] = useState("");
|
85
|
-
return (React.createElement(Template, Object.assign({}, Object.assign({ kcContext, i18n, doFetchDefaultThemeResources },
|
85
|
+
return (React.createElement(Template, Object.assign({}, Object.assign({ kcContext, i18n, doFetchDefaultThemeResources }, kcProps), { headerNode: msg("webauthn-login-title"), formNode: React.createElement("div", { id: "kc-form-webauthn", className: cx(kcProps.kcFormClass) },
|
86
86
|
React.createElement("form", { id: "webauth", action: url.loginAction, ref: webAuthForm, method: "post" },
|
87
87
|
React.createElement("input", { type: "hidden", id: "clientDataJSON", name: "clientDataJSON", value: clientDataJSON }),
|
88
88
|
React.createElement("input", { type: "hidden", id: "authenticatorData", name: "authenticatorData", value: authenticatorData }),
|
@@ -90,30 +90,30 @@ const WebauthnAuthenticate = memo((_a) => {
|
|
90
90
|
React.createElement("input", { type: "hidden", id: "credentialId", name: "credentialId", value: credentialId }),
|
91
91
|
React.createElement("input", { type: "hidden", id: "userHandle", name: "userHandle", value: userHandle }),
|
92
92
|
React.createElement("input", { type: "hidden", id: "error", name: "error", value: error })),
|
93
|
-
React.createElement("div", { className: cx(
|
93
|
+
React.createElement("div", { className: cx(kcProps.kcFormGroupClass) },
|
94
94
|
authenticators &&
|
95
|
-
(() => (React.createElement("form", { id: "authn_select", className: cx(
|
95
|
+
(() => (React.createElement("form", { id: "authn_select", className: cx(kcProps.kcFormClass) }, authenticators.authenticators.map(authenticator => (React.createElement("input", { type: "hidden", name: "authn_use_chk", value: authenticator.credentialId, key: authenticator.credentialId }))))))(),
|
96
96
|
authenticators &&
|
97
97
|
shouldDisplayAuthenticators &&
|
98
98
|
(() => (React.createElement(React.Fragment, null,
|
99
|
-
authenticators.authenticators.length > 1 && (React.createElement("p", { className: cx(
|
100
|
-
React.createElement("div", { className: cx(
|
99
|
+
authenticators.authenticators.length > 1 && (React.createElement("p", { className: cx(kcProps.kcSelectAuthListItemTitle) }, msg("webauthn-available-authenticators"))),
|
100
|
+
React.createElement("div", { className: cx(kcProps.kcFormClass) }, authenticators.authenticators.map(authenticator => {
|
101
101
|
var _a;
|
102
|
-
return (React.createElement("div", { id: "kc-webauthn-authenticator", className: cx(
|
103
|
-
React.createElement("div", { className: cx(
|
104
|
-
React.createElement("i", { className: cx((_a =
|
105
|
-
React.createElement("div", { className: cx(
|
106
|
-
React.createElement("div", { id: "kc-webauthn-authenticator-label", className: cx(
|
107
|
-
authenticator.transports && authenticator.transports.displayNameProperties.length && (React.createElement("div", { id: "kc-webauthn-authenticator-transport", className: cx(
|
102
|
+
return (React.createElement("div", { id: "kc-webauthn-authenticator", className: cx(kcProps.kcSelectAuthListItemClass) },
|
103
|
+
React.createElement("div", { className: cx(kcProps.kcSelectAuthListItemIconClass) },
|
104
|
+
React.createElement("i", { className: cx((_a = kcProps[authenticator.transports.iconClass]) !== null && _a !== void 0 ? _a : kcProps.kcWebAuthnDefaultIcon, kcProps.kcSelectAuthListItemIconPropertyClass) })),
|
105
|
+
React.createElement("div", { className: cx(kcProps.kcSelectAuthListItemBodyClass) },
|
106
|
+
React.createElement("div", { id: "kc-webauthn-authenticator-label", className: cx(kcProps.kcSelectAuthListItemHeadingClass) }, authenticator.label),
|
107
|
+
authenticator.transports && authenticator.transports.displayNameProperties.length && (React.createElement("div", { id: "kc-webauthn-authenticator-transport", className: cx(kcProps.kcSelectAuthListItemDescriptionClass) }, authenticator.transports.displayNameProperties.map((transport, index) => (React.createElement(React.Fragment, null,
|
108
108
|
React.createElement("span", null, msg(transport)),
|
109
109
|
index < authenticator.transports.displayNameProperties.length - 1 && (React.createElement("span", null, ", "))))))),
|
110
|
-
React.createElement("div", { className: cx(
|
110
|
+
React.createElement("div", { className: cx(kcProps.kcSelectAuthListItemDescriptionClass) },
|
111
111
|
React.createElement("span", { id: "kc-webauthn-authenticator-created-label" }, msg("webauthn-createdAt-label")),
|
112
112
|
React.createElement("span", { id: "kc-webauthn-authenticator-created" }, authenticator.createdAt))),
|
113
|
-
React.createElement("div", { className: cx(
|
113
|
+
React.createElement("div", { className: cx(kcProps.kcSelectAuthListItemFillClass) })));
|
114
114
|
})))))(),
|
115
|
-
React.createElement("div", { id: "kc-form-buttons", className: cx(
|
116
|
-
React.createElement("input", { id: "authenticateWebAuthnButton", type: "button", onClick: webAuthnAuthenticate, autoFocus: true, value: msgStr("webauthn-doAuthenticate"), className: cx(
|
115
|
+
React.createElement("div", { id: "kc-form-buttons", className: cx(kcProps.kcFormButtonsClass) },
|
116
|
+
React.createElement("input", { id: "authenticateWebAuthnButton", type: "button", onClick: webAuthnAuthenticate, autoFocus: true, value: msgStr("webauthn-doAuthenticate"), className: cx(kcProps.kcButtonClass, kcProps.kcButtonPrimaryClass, kcProps.kcButtonBlockClass, kcProps.kcButtonLargeClass) })))) })));
|
117
117
|
});
|
118
118
|
export default WebauthnAuthenticate;
|
119
119
|
//# sourceMappingURL=WebauthnAuthenticate.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WebauthnAuthenticate.js","sourceRoot":"","sources":["../../src/lib/components/WebauthnAuthenticate.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,
|
1
|
+
{"version":3,"file":"WebauthnAuthenticate.js","sourceRoot":"","sources":["../../src/lib/components/WebauthnAuthenticate.tsx"],"names":[],"mappings":"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"}
|