keycloakify 10.0.0-rc.105 → 10.0.0-rc.107

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 (34) hide show
  1. package/bin/31.index.js +1 -1
  2. package/bin/shared/buildContext.js.map +1 -1
  3. package/login/KcContext/KcContext.d.ts +7 -9
  4. package/login/KcContext/KcContext.js.map +1 -1
  5. package/login/KcContext/kcContextMocks.js +1 -2
  6. package/login/KcContext/kcContextMocks.js.map +1 -1
  7. package/login/i18n/i18n.d.ts +3 -4
  8. package/login/i18n/i18n.js +15 -12
  9. package/login/i18n/i18n.js.map +1 -1
  10. package/login/i18n/useI18n.d.ts +2 -2
  11. package/login/pages/Info.js +2 -2
  12. package/login/pages/Info.js.map +1 -1
  13. package/login/pages/SelectAuthenticator.js +2 -2
  14. package/login/pages/SelectAuthenticator.js.map +1 -1
  15. package/login/pages/WebauthnAuthenticate.js +3 -3
  16. package/login/pages/WebauthnAuthenticate.js.map +1 -1
  17. package/package.json +1 -5
  18. package/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl +91 -28
  19. package/src/bin/shared/buildContext.ts +1 -1
  20. package/src/login/KcContext/KcContext.ts +7 -26
  21. package/src/login/KcContext/kcContextMocks.ts +1 -2
  22. package/src/login/i18n/i18n.tsx +19 -17
  23. package/src/login/pages/Info.tsx +2 -2
  24. package/src/login/pages/SelectAuthenticator.tsx +4 -4
  25. package/src/login/pages/WebauthnAuthenticate.tsx +5 -5
  26. package/stories/login/pages/Info.stories.tsx +7 -2
  27. package/stories/login/pages/Register.stories.tsx +5 -3
  28. package/stories/login/pages/SelectAuthenticator.stories.tsx +26 -0
  29. package/stories/login/pages/Terms.stories.tsx +6 -2
  30. package/vite-plugin/index.js +1 -1
  31. package/src/tools/ExtractAfterStartingWith.ts +0 -4
  32. package/tools/ExtractAfterStartingWith.d.ts +0 -1
  33. package/tools/ExtractAfterStartingWith.js +0 -2
  34. package/tools/ExtractAfterStartingWith.js.map +0 -1
@@ -8,7 +8,7 @@ export default function SelectAuthenticator(props: PageProps<Extract<KcContext,
8
8
  const { url, auth } = kcContext;
9
9
 
10
10
  const { kcClsx } = getKcClsx({ doUseDefaultCss, classes });
11
- const { msg } = i18n;
11
+ const { msg, advancedMsg } = i18n;
12
12
 
13
13
  return (
14
14
  <Template
@@ -30,11 +30,11 @@ export default function SelectAuthenticator(props: PageProps<Extract<KcContext,
30
30
  value={authenticationSelection.authExecId}
31
31
  >
32
32
  <div className={kcClsx("kcSelectAuthListItemIconClass")}>
33
- <i className={kcClsx(authenticationSelection.iconCssClass, "kcSelectAuthListItemIconPropertyClass")} />
33
+ <i className={kcClsx("kcSelectAuthListItemIconPropertyClass", authenticationSelection.iconCssClass)} />
34
34
  </div>
35
35
  <div className={kcClsx("kcSelectAuthListItemBodyClass")}>
36
- <div className={kcClsx("kcSelectAuthListItemHeadingClass")}>{msg(authenticationSelection.displayName)}</div>
37
- <div className={kcClsx("kcSelectAuthListItemDescriptionClass")}>{msg(authenticationSelection.helpText)}</div>
36
+ <div className={kcClsx("kcSelectAuthListItemHeadingClass")}>{advancedMsg(authenticationSelection.displayName)}</div>
37
+ <div className={kcClsx("kcSelectAuthListItemDescriptionClass")}>{advancedMsg(authenticationSelection.helpText)}</div>
38
38
  </div>
39
39
  <div className={kcClsx("kcSelectAuthListItemFillClass")} />
40
40
  <div className={kcClsx("kcSelectAuthListItemArrowClass")}>
@@ -204,13 +204,13 @@ export default function WebauthnAuthenticate(props: PageProps<Extract<KcContext,
204
204
  className={kcClsx("kcSelectAuthListItemDescriptionClass")}
205
205
  >
206
206
  {authenticator.transports.displayNameProperties
207
- .map((nameProperty, i, arr) => ({
208
- nameProperty,
207
+ .map((displayNameProperty, i, arr) => ({
208
+ displayNameProperty,
209
209
  hasNext: i !== arr.length - 1
210
210
  }))
211
- .map(({ nameProperty, hasNext }) => (
212
- <Fragment key={nameProperty}>
213
- <span>{msg(nameProperty)}</span>
211
+ .map(({ displayNameProperty, hasNext }) => (
212
+ <Fragment key={displayNameProperty}>
213
+ {advancedMsg(displayNameProperty)}
214
214
  {hasNext && <span>, </span>}
215
215
  </Fragment>
216
216
  ))}
@@ -43,9 +43,14 @@ export const WithRequiredActions: Story = {
43
43
  <KcPageStory
44
44
  kcContext={{
45
45
  message: {
46
- summary: "Server message"
46
+ summary: "Required actions: "
47
47
  },
48
- requiredActions: ["CONFIGURE_TOTP", "UPDATE_PROFILE", "VERIFY_EMAIL"]
48
+ requiredActions: ["CONFIGURE_TOTP", "UPDATE_PROFILE", "VERIFY_EMAIL", "CUSTOM_ACTION"],
49
+ "x-keycloakify": {
50
+ messages: {
51
+ "requiredAction.CUSTOM_ACTION": "Custom action"
52
+ }
53
+ }
49
54
  }}
50
55
  />
51
56
  )
@@ -69,7 +69,7 @@ export const WithRestrictedToMITStudents: Story = {
69
69
  }
70
70
  },
71
71
  "x-keycloakify": {
72
- realmMessageBundleUserProfile: {
72
+ messages: {
73
73
  "${profile.attributes.email.inputHelperTextBefore}": "Please use your MIT or Berkeley email.",
74
74
  "${profile.attributes.email.pattern.error}":
75
75
  "This is not an MIT (<strong>@mit.edu</strong>) nor a Berkeley (<strong>@berkeley.edu</strong>) email."
@@ -103,7 +103,7 @@ export const WithFavoritePet: Story = {
103
103
  }
104
104
  },
105
105
  "x-keycloakify": {
106
- realmMessageBundleUserProfile: {
106
+ messages: {
107
107
  "${profile.attributes.favoritePet}": "Favorite Pet",
108
108
  "${profile.attributes.favoritePet.options.cat}": "Fluffy Cat",
109
109
  "${profile.attributes.favoritePet.options.dog}": "Loyal Dog",
@@ -177,7 +177,9 @@ export const WithTermsAcceptance: Story = {
177
177
  kcContext={{
178
178
  termsAcceptanceRequired: true,
179
179
  "x-keycloakify": {
180
- realmMessageBundleTermsText: "<a href='https://example.com/terms'>Service Terms of Use</a>"
180
+ messages: {
181
+ termsText: "<a href='https://example.com/terms'>Service Terms of Use</a>"
182
+ }
181
183
  }
182
184
  }}
183
185
  />
@@ -41,3 +41,29 @@ export const WithDifferentAuthenticationMethods: Story = {
41
41
  />
42
42
  )
43
43
  };
44
+
45
+ export const WithRealmTranslations: Story = {
46
+ render: () => (
47
+ <KcPageStory
48
+ kcContext={{
49
+ auth: {
50
+ authenticationSelections: [
51
+ {
52
+ authExecId: "f0c22855-eda7-4092-8565-0c22f77d2ffb",
53
+ displayName: "home-idp-discovery-display-name",
54
+ helpText: "home-idp-discovery-help-text",
55
+ iconCssClass: "kcAuthenticatorDefaultClass"
56
+ }
57
+ ]
58
+ },
59
+ ["x-keycloakify"]: {
60
+ messages: {
61
+ "${home-idp-discovery-display-name}": "Home identity provider",
62
+ "${home-idp-discovery-help-text}":
63
+ "Sign in via your home identity provider which will be automatically determined based on your provided email address."
64
+ }
65
+ }
66
+ }}
67
+ />
68
+ )
69
+ };
@@ -18,7 +18,9 @@ export const Default: Story = {
18
18
  <KcPageStory
19
19
  kcContext={{
20
20
  "x-keycloakify": {
21
- realmMessageBundleTermsText: "<p>My terms in <strong>English</strong></p>"
21
+ messages: {
22
+ termsText: "<p>My terms in <strong>English</strong></p>"
23
+ }
22
24
  }
23
25
  }}
24
26
  />
@@ -34,7 +36,9 @@ export const French: Story = {
34
36
  },
35
37
  "x-keycloakify": {
36
38
  // cSpell: disable
37
- realmMessageBundleTermsText: "<p>Mes terme en <strong>Français</strong></p>"
39
+ messages: {
40
+ termsText: "<p>Mes terme en <strong>Français</strong></p>"
41
+ }
38
42
  // cSpell: enable
39
43
  }
40
44
  }}
@@ -4429,7 +4429,7 @@ function getBuildContext(params) {
4429
4429
  try {
4430
4430
  external_child_process_namespaceObject.execSync("npm config get", {
4431
4431
  cwd: dirPath,
4432
- stdio: "ignore"
4432
+ stdio: "pipe"
4433
4433
  });
4434
4434
  }
4435
4435
  catch (error) {
@@ -1,4 +0,0 @@
1
- export type ExtractAfterStartingWith<
2
- Prefix extends string,
3
- StrEnum
4
- > = StrEnum extends `${Prefix}${infer U}` ? U : never;
@@ -1 +0,0 @@
1
- export type ExtractAfterStartingWith<Prefix extends string, StrEnum> = StrEnum extends `${Prefix}${infer U}` ? U : never;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ExtractAfterStartingWith.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtractAfterStartingWith.js","sourceRoot":"","sources":["../src/tools/ExtractAfterStartingWith.ts"],"names":[],"mappings":""}