keycloakify 6.1.0 → 6.3.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.
Files changed (48) hide show
  1. package/bin/keycloakify/generateFtl/generateFtl.d.ts +1 -1
  2. package/bin/keycloakify/generateFtl/generateFtl.js +3 -1
  3. package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
  4. package/bin/tsconfig.tsbuildinfo +1 -1
  5. package/lib/components/IdpReviewUserProfile.d.ts +9 -0
  6. package/lib/components/IdpReviewUserProfile.js +31 -0
  7. package/lib/components/IdpReviewUserProfile.js.map +1 -0
  8. package/lib/components/KcApp.js +6 -0
  9. package/lib/components/KcApp.js.map +1 -1
  10. package/lib/components/RegisterUserProfile.js +2 -61
  11. package/lib/components/RegisterUserProfile.js.map +1 -1
  12. package/lib/components/Terms.js +2 -1
  13. package/lib/components/Terms.js.map +1 -1
  14. package/lib/components/UpdateUserProfile.d.ts +9 -0
  15. package/lib/components/UpdateUserProfile.js +32 -0
  16. package/lib/components/UpdateUserProfile.js.map +1 -0
  17. package/lib/components/shared/UserProfileCommons.d.ts +16 -0
  18. package/lib/components/shared/UserProfileCommons.js +76 -0
  19. package/lib/components/shared/UserProfileCommons.js.map +1 -0
  20. package/lib/getKcContext/KcContextBase.d.ts +16 -1
  21. package/lib/getKcContext/KcContextBase.js.map +1 -1
  22. package/lib/getKcContext/getKcContext.js +6 -3
  23. package/lib/getKcContext/getKcContext.js.map +1 -1
  24. package/lib/getKcContext/kcContextMocks/kcContextMocks.js +107 -98
  25. package/lib/getKcContext/kcContextMocks/kcContextMocks.js.map +1 -1
  26. package/lib/i18n/index.js +2 -2
  27. package/lib/i18n/index.js.map +1 -1
  28. package/lib/tools/Markdown.d.ts +2 -0
  29. package/lib/tools/Markdown.js +3 -0
  30. package/lib/tools/Markdown.js.map +1 -0
  31. package/lib/tsconfig.tsbuildinfo +1 -1
  32. package/lib/useFormValidationSlice.d.ts +5 -1
  33. package/lib/useFormValidationSlice.js +4 -0
  34. package/lib/useFormValidationSlice.js.map +1 -1
  35. package/package.json +17 -1
  36. package/src/bin/keycloakify/generateFtl/generateFtl.ts +3 -1
  37. package/src/lib/components/IdpReviewUserProfile.tsx +46 -0
  38. package/src/lib/components/KcApp.tsx +6 -0
  39. package/src/lib/components/RegisterUserProfile.tsx +3 -156
  40. package/src/lib/components/Terms.tsx +2 -1
  41. package/src/lib/components/UpdateUserProfile.tsx +71 -0
  42. package/src/lib/components/shared/UserProfileCommons.tsx +170 -0
  43. package/src/lib/getKcContext/KcContextBase.ts +20 -1
  44. package/src/lib/getKcContext/getKcContext.ts +10 -4
  45. package/src/lib/getKcContext/kcContextMocks/kcContextMocks.ts +113 -98
  46. package/src/lib/i18n/index.tsx +3 -3
  47. package/src/lib/tools/Markdown.ts +3 -0
  48. package/src/lib/useFormValidationSlice.tsx +5 -1
@@ -27,13 +27,17 @@ export declare function useGetErrors(params: {
27
27
  validatorName: keyof Validators | undefined;
28
28
  }[];
29
29
  };
30
+ /**
31
+ * NOTE: The attributesWithPassword returned is actually augmented with
32
+ * artificial password related attributes only if kcContext.passwordRequired === true
33
+ */
30
34
  export declare function useFormValidationSlice(params: {
31
35
  kcContext: {
32
36
  messagesPerField: Pick<KcContextBase.Common["messagesPerField"], "existsError" | "get">;
33
37
  profile: {
34
38
  attributes: Attribute[];
35
39
  };
36
- passwordRequired: boolean;
40
+ passwordRequired?: boolean;
37
41
  realm: {
38
42
  registrationEmailAsUsername: boolean;
39
43
  };
@@ -211,6 +211,10 @@ export function useGetErrors(params) {
211
211
  });
212
212
  return { getErrors };
213
213
  }
214
+ /**
215
+ * NOTE: The attributesWithPassword returned is actually augmented with
216
+ * artificial password related attributes only if kcContext.passwordRequired === true
217
+ */
214
218
  export function useFormValidationSlice(params) {
215
219
  const { kcContext, passwordValidators = {
216
220
  "length": {
@@ -1 +1 @@
1
- {"version":3,"file":"useFormValidationSlice.js","sourceRoot":"","sources":["../src/lib/useFormValidationSlice.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFormValidationSlice.js","sourceRoot":"","sources":["../src/lib/useFormValidationSlice.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "6.1.0",
3
+ "version": "6.3.2",
4
4
  "description": "Keycloak theme generator for Reacts app",
5
5
  "repository": {
6
6
  "type": "git",
@@ -60,6 +60,7 @@
60
60
  "src/bin/tools/transformCodebase.ts",
61
61
  "src/bin/tsconfig.json",
62
62
  "src/lib/components/Error.tsx",
63
+ "src/lib/components/IdpReviewUserProfile.tsx",
63
64
  "src/lib/components/Info.tsx",
64
65
  "src/lib/components/KcApp.tsx",
65
66
  "src/lib/components/KcProps.ts",
@@ -78,6 +79,8 @@
78
79
  "src/lib/components/RegisterUserProfile.tsx",
79
80
  "src/lib/components/Template.tsx",
80
81
  "src/lib/components/Terms.tsx",
82
+ "src/lib/components/UpdateUserProfile.tsx",
83
+ "src/lib/components/shared/UserProfileCommons.tsx",
81
84
  "src/lib/getKcContext/KcContextBase.ts",
82
85
  "src/lib/getKcContext/getKcContext.ts",
83
86
  "src/lib/getKcContext/getKcContextFromWindow.ts",
@@ -314,6 +317,7 @@
314
317
  "src/lib/tools/Array.prototype.every.ts",
315
318
  "src/lib/tools/DeepPartial.ts",
316
319
  "src/lib/tools/HTMLElement.prototype.prepend.ts",
320
+ "src/lib/tools/Markdown.ts",
317
321
  "src/lib/tools/ReactComponent.ts",
318
322
  "src/lib/tools/allPropertiesValuesToUndefined.ts",
319
323
  "src/lib/tools/assert.ts",
@@ -433,6 +437,9 @@
433
437
  "lib/components/Error.d.ts",
434
438
  "lib/components/Error.js",
435
439
  "lib/components/Error.js.map",
440
+ "lib/components/IdpReviewUserProfile.d.ts",
441
+ "lib/components/IdpReviewUserProfile.js",
442
+ "lib/components/IdpReviewUserProfile.js.map",
436
443
  "lib/components/Info.d.ts",
437
444
  "lib/components/Info.js",
438
445
  "lib/components/Info.js.map",
@@ -487,6 +494,12 @@
487
494
  "lib/components/Terms.d.ts",
488
495
  "lib/components/Terms.js",
489
496
  "lib/components/Terms.js.map",
497
+ "lib/components/UpdateUserProfile.d.ts",
498
+ "lib/components/UpdateUserProfile.js",
499
+ "lib/components/UpdateUserProfile.js.map",
500
+ "lib/components/shared/UserProfileCommons.d.ts",
501
+ "lib/components/shared/UserProfileCommons.js",
502
+ "lib/components/shared/UserProfileCommons.js.map",
490
503
  "lib/getKcContext/KcContextBase.d.ts",
491
504
  "lib/getKcContext/KcContextBase.js",
492
505
  "lib/getKcContext/KcContextBase.js.map",
@@ -1195,6 +1208,9 @@
1195
1208
  "lib/tools/HTMLElement.prototype.prepend.d.ts",
1196
1209
  "lib/tools/HTMLElement.prototype.prepend.js",
1197
1210
  "lib/tools/HTMLElement.prototype.prepend.js.map",
1211
+ "lib/tools/Markdown.d.ts",
1212
+ "lib/tools/Markdown.js",
1213
+ "lib/tools/Markdown.js.map",
1198
1214
  "lib/tools/ReactComponent.d.ts",
1199
1215
  "lib/tools/ReactComponent.js",
1200
1216
  "lib/tools/ReactComponent.js.map",
@@ -27,7 +27,9 @@ export const pageIds = [
27
27
  "login-idp-link-email.ftl",
28
28
  "login-page-expired.ftl",
29
29
  "login-config-totp.ftl",
30
- "logout-confirm.ftl"
30
+ "logout-confirm.ftl",
31
+ "update-user-profile.ftl",
32
+ "idp-review-user-profile.ftl"
31
33
  ] as const;
32
34
 
33
35
  export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.ExternalAssets;
@@ -0,0 +1,46 @@
1
+ import React, { useState, memo } from "react";
2
+ import Template from "./Template";
3
+ import type { KcProps } from "./KcProps";
4
+ import type { KcContextBase } from "../getKcContext/KcContextBase";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
+ import type { I18n } from "../i18n";
7
+ import { UserProfileFormFields } from "./shared/UserProfileCommons";
8
+
9
+ const IdpReviewUserProfile = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.IdpReviewUserProfile; i18n: I18n } & KcProps) => {
10
+ const { cx } = useCssAndCx();
11
+
12
+ const { msg, msgStr } = i18n;
13
+
14
+ const { url } = kcContext;
15
+
16
+ const [isFomSubmittable, setIsFomSubmittable] = useState(false);
17
+
18
+ return (
19
+ <Template
20
+ {...{ kcContext, i18n, ...props }}
21
+ doFetchDefaultThemeResources={true}
22
+ headerNode={msg("loginIdpReviewProfileTitle")}
23
+ formNode={
24
+ <form id="kc-idp-review-profile-form" className={cx(props.kcFormClass)} action={url.loginAction} method="post">
25
+ <UserProfileFormFields kcContext={kcContext} onIsFormSubmittableValueChange={setIsFomSubmittable} i18n={i18n} {...props} />
26
+
27
+ <div className={cx(props.kcFormGroupClass)}>
28
+ <div id="kc-form-options" className={cx(props.kcFormOptionsClass)}>
29
+ <div className={cx(props.kcFormOptionsWrapperClass)} />
30
+ </div>
31
+ <div id="kc-form-buttons" className={cx(props.kcFormButtonsClass)}>
32
+ <input
33
+ className={cx(props.kcButtonClass, props.kcButtonPrimaryClass, props.kcButtonBlockClass, props.kcButtonLargeClass)}
34
+ type="submit"
35
+ value={msgStr("doSubmit")}
36
+ disabled={!isFomSubmittable}
37
+ />
38
+ </div>
39
+ </div>
40
+ </form>
41
+ }
42
+ />
43
+ );
44
+ });
45
+
46
+ export default IdpReviewUserProfile;
@@ -20,6 +20,8 @@ const LoginPageExpired = lazy(() => import("./LoginPageExpired"));
20
20
  const LoginIdpLinkEmail = lazy(() => import("./LoginIdpLinkEmail"));
21
21
  const LoginConfigTotp = lazy(() => import("./LoginConfigTotp"));
22
22
  const LogoutConfirm = lazy(() => import("./LogoutConfirm"));
23
+ const UpdateUserProfile = lazy(() => import("./UpdateUserProfile"));
24
+ const IdpReviewUserProfile = lazy(() => import("./IdpReviewUserProfile"));
23
25
 
24
26
  const KcApp = memo(({ kcContext, i18n: userProvidedI18n, ...kcProps }: { kcContext: KcContextBase; i18n?: I18n } & KcProps) => {
25
27
  const i18n = (function useClosure() {
@@ -74,6 +76,10 @@ const KcApp = memo(({ kcContext, i18n: userProvidedI18n, ...kcProps }: { kcConte
74
76
  return <LoginConfigTotp {...{ kcContext, ...props }} />;
75
77
  case "logout-confirm.ftl":
76
78
  return <LogoutConfirm {...{ kcContext, ...props }} />;
79
+ case "update-user-profile.ftl":
80
+ return <UpdateUserProfile {...{ kcContext, ...props }} />;
81
+ case "idp-review-user-profile.ftl":
82
+ return <IdpReviewUserProfile {...{ kcContext, ...props }} />;
77
83
  }
78
84
  })()}
79
85
  </Suspense>
@@ -1,12 +1,10 @@
1
- import React, { useMemo, memo, useEffect, useState, Fragment } from "react";
1
+ import React, { useMemo, memo, useState } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
- import type { KcContextBase, Attribute } from "../getKcContext/KcContextBase";
4
+ import type { KcContextBase } from "../getKcContext/KcContextBase";
5
5
  import { useCssAndCx } from "../tools/useCssAndCx";
6
- import type { ReactComponent } from "../tools/ReactComponent";
7
- import { useCallbackFactory } from "powerhooks/useCallbackFactory";
8
- import { useFormValidationSlice } from "../useFormValidationSlice";
9
6
  import type { I18n } from "../i18n";
7
+ import { UserProfileFormFields } from "./shared/UserProfileCommons";
10
8
 
11
9
  const RegisterUserProfile = memo(({ kcContext, i18n, ...props_ }: { kcContext: KcContextBase.RegisterUserProfile; i18n: I18n } & KcProps) => {
12
10
  const { url, messagesPerField, recaptchaRequired, recaptchaSiteKey } = kcContext;
@@ -66,155 +64,4 @@ const RegisterUserProfile = memo(({ kcContext, i18n, ...props_ }: { kcContext: K
66
64
  );
67
65
  });
68
66
 
69
- type UserProfileFormFieldsProps = { kcContext: KcContextBase.RegisterUserProfile; i18n: I18n } & KcProps &
70
- Partial<Record<"BeforeField" | "AfterField", ReactComponent<{ attribute: Attribute }>>> & {
71
- onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void;
72
- };
73
-
74
- const UserProfileFormFields = memo(({ kcContext, onIsFormSubmittableValueChange, i18n, ...props }: UserProfileFormFieldsProps) => {
75
- const { cx, css } = useCssAndCx();
76
-
77
- const { advancedMsg } = i18n;
78
-
79
- const {
80
- formValidationState: { fieldStateByAttributeName, isFormSubmittable },
81
- formValidationReducer,
82
- attributesWithPassword
83
- } = useFormValidationSlice({
84
- kcContext,
85
- i18n
86
- });
87
-
88
- useEffect(() => {
89
- onIsFormSubmittableValueChange(isFormSubmittable);
90
- }, [isFormSubmittable]);
91
-
92
- const onChangeFactory = useCallbackFactory(
93
- (
94
- [name]: [string],
95
- [
96
- {
97
- target: { value }
98
- }
99
- ]: [React.ChangeEvent<HTMLInputElement | HTMLSelectElement>]
100
- ) =>
101
- formValidationReducer({
102
- "action": "update value",
103
- name,
104
- "newValue": value
105
- })
106
- );
107
-
108
- const onBlurFactory = useCallbackFactory(([name]: [string]) =>
109
- formValidationReducer({
110
- "action": "focus lost",
111
- name
112
- })
113
- );
114
-
115
- let currentGroup = "";
116
-
117
- return (
118
- <>
119
- {attributesWithPassword.map((attribute, i) => {
120
- const { group = "", groupDisplayHeader = "", groupDisplayDescription = "" } = attribute;
121
-
122
- const { value, displayableErrors } = fieldStateByAttributeName[attribute.name];
123
-
124
- const formGroupClassName = cx(props.kcFormGroupClass, displayableErrors.length !== 0 && props.kcFormGroupErrorClass);
125
-
126
- return (
127
- <Fragment key={i}>
128
- {group !== currentGroup && (currentGroup = group) !== "" && (
129
- <div className={formGroupClassName}>
130
- <div className={cx(props.kcContentWrapperClass)}>
131
- <label id={`header-${group}`} className={cx(props.kcFormGroupHeader)}>
132
- {advancedMsg(groupDisplayHeader) || currentGroup}
133
- </label>
134
- </div>
135
- {groupDisplayDescription !== "" && (
136
- <div className={cx(props.kcLabelWrapperClass)}>
137
- <label id={`description-${group}`} className={`${cx(props.kcLabelClass)}`}>
138
- {advancedMsg(groupDisplayDescription)}
139
- </label>
140
- </div>
141
- )}
142
- </div>
143
- )}
144
- <div className={formGroupClassName}>
145
- <div className={cx(props.kcLabelWrapperClass)}>
146
- <label htmlFor={attribute.name} className={cx(props.kcLabelClass)}>
147
- {advancedMsg(attribute.displayName ?? "")}
148
- </label>
149
- {attribute.required && <>*</>}
150
- </div>
151
- <div className={cx(props.kcInputWrapperClass)}>
152
- {(() => {
153
- const { options } = attribute.validators;
154
-
155
- if (options !== undefined) {
156
- return (
157
- <select
158
- id={attribute.name}
159
- name={attribute.name}
160
- onChange={onChangeFactory(attribute.name)}
161
- onBlur={onBlurFactory(attribute.name)}
162
- value={value}
163
- >
164
- {options.options.map(option => (
165
- <option key={option} value={option}>
166
- {option}
167
- </option>
168
- ))}
169
- </select>
170
- );
171
- }
172
-
173
- return (
174
- <input
175
- type={(() => {
176
- switch (attribute.name) {
177
- case "password-confirm":
178
- case "password":
179
- return "password";
180
- default:
181
- return "text";
182
- }
183
- })()}
184
- id={attribute.name}
185
- name={attribute.name}
186
- value={value}
187
- onChange={onChangeFactory(attribute.name)}
188
- className={cx(props.kcInputClass)}
189
- aria-invalid={displayableErrors.length !== 0}
190
- disabled={attribute.readOnly}
191
- autoComplete={attribute.autocomplete}
192
- onBlur={onBlurFactory(attribute.name)}
193
- />
194
- );
195
- })()}
196
- {displayableErrors.length !== 0 && (
197
- <span
198
- id={`input-error-${attribute.name}`}
199
- className={cx(
200
- props.kcInputErrorMessageClass,
201
- css({
202
- "position": displayableErrors.length === 1 ? "absolute" : undefined,
203
- "& > span": { "display": "block" }
204
- })
205
- )}
206
- aria-live="polite"
207
- >
208
- {displayableErrors.map(({ errorMessage }) => errorMessage)}
209
- </span>
210
- )}
211
- </div>
212
- </div>
213
- </Fragment>
214
- );
215
- })}
216
- </>
217
- );
218
- });
219
-
220
67
  export default RegisterUserProfile;
@@ -11,6 +11,7 @@ import type { I18n } from "../i18n";
11
11
  import memoize from "memoizee";
12
12
  import { useConst } from "powerhooks/useConst";
13
13
  import { useConstCallback } from "powerhooks/useConstCallback";
14
+ import { Markdown } from "../tools/Markdown";
14
15
 
15
16
  export const evtTermMarkdown = Evt.create<string | undefined>(undefined);
16
17
 
@@ -74,7 +75,7 @@ const Terms = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.Te
74
75
  headerNode={msg("termsTitle")}
75
76
  formNode={
76
77
  <>
77
- <div id="kc-terms-text">{evtTermMarkdown.state}</div>
78
+ <div id="kc-terms-text">{evtTermMarkdown.state && <Markdown>{evtTermMarkdown.state}</Markdown>}</div>
78
79
  <form className="form-actions" action={url.loginAction} method="POST">
79
80
  <input
80
81
  className={cx(
@@ -0,0 +1,71 @@
1
+ import React, { useState, memo } from "react";
2
+ import Template from "./Template";
3
+ import type { KcProps } from "./KcProps";
4
+ import type { KcContextBase } from "../getKcContext/KcContextBase";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
+ import type { I18n } from "../i18n";
7
+ import { UserProfileFormFields } from "./shared/UserProfileCommons";
8
+
9
+ const UpdateUserProfile = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.UpdateUserProfile; i18n: I18n } & KcProps) => {
10
+ const { cx } = useCssAndCx();
11
+
12
+ const { msg, msgStr } = i18n;
13
+
14
+ const { url, isAppInitiatedAction } = kcContext;
15
+
16
+ const [isFomSubmittable, setIsFomSubmittable] = useState(false);
17
+
18
+ return (
19
+ <Template
20
+ {...{ kcContext, i18n, ...props }}
21
+ doFetchDefaultThemeResources={true}
22
+ headerNode={msg("loginProfileTitle")}
23
+ formNode={
24
+ <form id="kc-update-profile-form" className={cx(props.kcFormClass)} action={url.loginAction} method="post">
25
+ <UserProfileFormFields kcContext={kcContext} onIsFormSubmittableValueChange={setIsFomSubmittable} i18n={i18n} {...props} />
26
+
27
+ <div className={cx(props.kcFormGroupClass)}>
28
+ <div id="kc-form-options" className={cx(props.kcFormOptionsClass)}>
29
+ <div className={cx(props.kcFormOptionsWrapperClass)}></div>
30
+ </div>
31
+
32
+ <div id="kc-form-buttons" className={cx(props.kcFormButtonsClass)}>
33
+ {isAppInitiatedAction ? (
34
+ <>
35
+ <input
36
+ className={cx(props.kcButtonClass, props.kcButtonPrimaryClass, props.kcButtonLargeClass)}
37
+ type="submit"
38
+ value={msgStr("doSubmit")}
39
+ />
40
+ <button
41
+ className={cx(props.kcButtonClass, props.kcButtonDefaultClass, props.kcButtonLargeClass)}
42
+ type="submit"
43
+ name="cancel-aia"
44
+ value="true"
45
+ formNoValidate
46
+ >
47
+ {msg("doCancel")}
48
+ </button>
49
+ </>
50
+ ) : (
51
+ <input
52
+ className={cx(
53
+ props.kcButtonClass,
54
+ props.kcButtonPrimaryClass,
55
+ props.kcButtonBlockClass,
56
+ props.kcButtonLargeClass
57
+ )}
58
+ type="submit"
59
+ defaultValue={msgStr("doSubmit")}
60
+ disabled={!isFomSubmittable}
61
+ />
62
+ )}
63
+ </div>
64
+ </div>
65
+ </form>
66
+ }
67
+ />
68
+ );
69
+ });
70
+
71
+ export default UpdateUserProfile;
@@ -0,0 +1,170 @@
1
+ import React, { memo, useEffect, Fragment } from "react";
2
+ import type { KcProps } from "../KcProps";
3
+ import type { Attribute } from "../../getKcContext/KcContextBase";
4
+ import { useCssAndCx } from "../../tools/useCssAndCx";
5
+ import type { ReactComponent } from "../../tools/ReactComponent";
6
+ import { useCallbackFactory } from "powerhooks/useCallbackFactory";
7
+ import { useFormValidationSlice } from "../../useFormValidationSlice";
8
+ import type { I18n } from "../../i18n";
9
+ import type { Param0 } from "tsafe/Param0";
10
+
11
+ export type UserProfileFormFieldsProps = {
12
+ kcContext: Param0<typeof useFormValidationSlice>["kcContext"];
13
+ i18n: I18n;
14
+ } & KcProps &
15
+ Partial<Record<"BeforeField" | "AfterField", ReactComponent<{ attribute: Attribute }>>> & {
16
+ onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void;
17
+ };
18
+
19
+ export const UserProfileFormFields = memo(
20
+ ({ kcContext, onIsFormSubmittableValueChange, i18n, BeforeField, AfterField, ...props }: UserProfileFormFieldsProps) => {
21
+ const { cx, css } = useCssAndCx();
22
+
23
+ const { advancedMsg } = i18n;
24
+
25
+ const {
26
+ formValidationState: { fieldStateByAttributeName, isFormSubmittable },
27
+ formValidationReducer,
28
+ attributesWithPassword
29
+ } = useFormValidationSlice({
30
+ kcContext,
31
+ i18n
32
+ });
33
+
34
+ useEffect(() => {
35
+ onIsFormSubmittableValueChange(isFormSubmittable);
36
+ }, [isFormSubmittable]);
37
+
38
+ const onChangeFactory = useCallbackFactory(
39
+ (
40
+ [name]: [string],
41
+ [
42
+ {
43
+ target: { value }
44
+ }
45
+ ]: [React.ChangeEvent<HTMLInputElement | HTMLSelectElement>]
46
+ ) =>
47
+ formValidationReducer({
48
+ "action": "update value",
49
+ name,
50
+ "newValue": value
51
+ })
52
+ );
53
+
54
+ const onBlurFactory = useCallbackFactory(([name]: [string]) =>
55
+ formValidationReducer({
56
+ "action": "focus lost",
57
+ name
58
+ })
59
+ );
60
+
61
+ let currentGroup = "";
62
+
63
+ return (
64
+ <>
65
+ {attributesWithPassword.map((attribute, i) => {
66
+ const { group = "", groupDisplayHeader = "", groupDisplayDescription = "" } = attribute;
67
+
68
+ const { value, displayableErrors } = fieldStateByAttributeName[attribute.name];
69
+
70
+ const formGroupClassName = cx(props.kcFormGroupClass, displayableErrors.length !== 0 && props.kcFormGroupErrorClass);
71
+
72
+ return (
73
+ <Fragment key={i}>
74
+ {group !== currentGroup && (currentGroup = group) !== "" && (
75
+ <div className={formGroupClassName}>
76
+ <div className={cx(props.kcContentWrapperClass)}>
77
+ <label id={`header-${group}`} className={cx(props.kcFormGroupHeader)}>
78
+ {advancedMsg(groupDisplayHeader) || currentGroup}
79
+ </label>
80
+ </div>
81
+ {groupDisplayDescription !== "" && (
82
+ <div className={cx(props.kcLabelWrapperClass)}>
83
+ <label id={`description-${group}`} className={`${cx(props.kcLabelClass)}`}>
84
+ {advancedMsg(groupDisplayDescription)}
85
+ </label>
86
+ </div>
87
+ )}
88
+ </div>
89
+ )}
90
+
91
+ {BeforeField && <BeforeField attribute={attribute} />}
92
+
93
+ <div className={formGroupClassName}>
94
+ <div className={cx(props.kcLabelWrapperClass)}>
95
+ <label htmlFor={attribute.name} className={cx(props.kcLabelClass)}>
96
+ {advancedMsg(attribute.displayName ?? "")}
97
+ </label>
98
+ {attribute.required && <>*</>}
99
+ </div>
100
+ <div className={cx(props.kcInputWrapperClass)}>
101
+ {(() => {
102
+ const { options } = attribute.validators;
103
+
104
+ if (options !== undefined) {
105
+ return (
106
+ <select
107
+ id={attribute.name}
108
+ name={attribute.name}
109
+ onChange={onChangeFactory(attribute.name)}
110
+ onBlur={onBlurFactory(attribute.name)}
111
+ value={value}
112
+ >
113
+ {options.options.map(option => (
114
+ <option key={option} value={option}>
115
+ {option}
116
+ </option>
117
+ ))}
118
+ </select>
119
+ );
120
+ }
121
+
122
+ return (
123
+ <input
124
+ type={(() => {
125
+ switch (attribute.name) {
126
+ case "password-confirm":
127
+ case "password":
128
+ return "password";
129
+ default:
130
+ return "text";
131
+ }
132
+ })()}
133
+ id={attribute.name}
134
+ name={attribute.name}
135
+ value={value}
136
+ onChange={onChangeFactory(attribute.name)}
137
+ className={cx(props.kcInputClass)}
138
+ aria-invalid={displayableErrors.length !== 0}
139
+ disabled={attribute.readOnly}
140
+ autoComplete={attribute.autocomplete}
141
+ onBlur={onBlurFactory(attribute.name)}
142
+ />
143
+ );
144
+ })()}
145
+ {displayableErrors.length !== 0 && (
146
+ <span
147
+ id={`input-error-${attribute.name}`}
148
+ className={cx(
149
+ props.kcInputErrorMessageClass,
150
+ css({
151
+ "position": displayableErrors.length === 1 ? "absolute" : undefined,
152
+ "& > span": { "display": "block" }
153
+ })
154
+ )}
155
+ aria-live="polite"
156
+ >
157
+ {displayableErrors.map(({ errorMessage }) => errorMessage)}
158
+ </span>
159
+ )}
160
+ </div>
161
+ </div>
162
+
163
+ {AfterField && <AfterField attribute={attribute} />}
164
+ </Fragment>
165
+ );
166
+ })}
167
+ </>
168
+ );
169
+ }
170
+ );