@oussemasahbeni/keycloakify-login-shadcn 250004.0.3 → 250004.0.7

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 (169) hide show
  1. package/keycloak-theme/login/KcContext.ts +23 -23
  2. package/keycloak-theme/login/KcPage.tsx +47 -47
  3. package/keycloak-theme/login/assets/img/auth-logo.svg +100 -100
  4. package/keycloak-theme/login/assets/img/shape.svg +71 -71
  5. package/keycloak-theme/login/components/LogoutOtherSessions.tsx +26 -26
  6. package/keycloak-theme/login/components/PasswordWrapper.tsx +35 -35
  7. package/keycloak-theme/login/components/Template/Template.tsx +227 -227
  8. package/keycloak-theme/login/components/Template/index.ts +1 -1
  9. package/keycloak-theme/login/components/Template/useInitializeTemplate.ts +61 -61
  10. package/keycloak-theme/login/components/UserProfileFormFields/AddRemoveButtonsMultiValuedAttribute.tsx +61 -61
  11. package/keycloak-theme/login/components/UserProfileFormFields/DO_MAKE_USER_CONFIRM_PASSWORD.ts +2 -2
  12. package/keycloak-theme/login/components/UserProfileFormFields/FieldErrors.tsx +28 -28
  13. package/keycloak-theme/login/components/UserProfileFormFields/GroupLabel.tsx +70 -70
  14. package/keycloak-theme/login/components/UserProfileFormFields/InputFieldByType.tsx +58 -58
  15. package/keycloak-theme/login/components/UserProfileFormFields/InputTag.tsx +116 -116
  16. package/keycloak-theme/login/components/UserProfileFormFields/InputTagSelects.tsx +135 -135
  17. package/keycloak-theme/login/components/UserProfileFormFields/SelectTag.tsx +114 -114
  18. package/keycloak-theme/login/components/UserProfileFormFields/TextareaTag.tsx +42 -42
  19. package/keycloak-theme/login/components/UserProfileFormFields/UserProfileFormFields.tsx +127 -127
  20. package/keycloak-theme/login/components/UserProfileFormFields/index.ts +1 -1
  21. package/keycloak-theme/login/i18n.ts +47 -47
  22. package/keycloak-theme/login/mocks/getKcContextMock.ts +22 -22
  23. package/keycloak-theme/login/pages/PageIndex.tsx +134 -134
  24. package/keycloak-theme/login/pages/code/Page.stories.tsx +54 -66
  25. package/keycloak-theme/login/pages/code/Page.tsx +89 -89
  26. package/keycloak-theme/login/pages/code/index.ts +3 -3
  27. package/keycloak-theme/login/pages/delete-account-confirm/Page.stories.tsx +39 -46
  28. package/keycloak-theme/login/pages/delete-account-confirm/Page.tsx +63 -63
  29. package/keycloak-theme/login/pages/delete-account-confirm/index.ts +3 -3
  30. package/keycloak-theme/login/pages/delete-credential/Page.stories.tsx +26 -30
  31. package/keycloak-theme/login/pages/delete-credential/Page.tsx +51 -51
  32. package/keycloak-theme/login/pages/delete-credential/index.ts +3 -3
  33. package/keycloak-theme/login/pages/error/Page.stories.tsx +47 -58
  34. package/keycloak-theme/login/pages/error/Page.tsx +42 -42
  35. package/keycloak-theme/login/pages/error/index.ts +3 -3
  36. package/keycloak-theme/login/pages/frontchannel-logout/Page.stories.tsx +25 -32
  37. package/keycloak-theme/login/pages/frontchannel-logout/Page.tsx +84 -84
  38. package/keycloak-theme/login/pages/frontchannel-logout/index.ts +3 -3
  39. package/keycloak-theme/login/pages/idp-review-user-profile/Page.stories.tsx +46 -58
  40. package/keycloak-theme/login/pages/idp-review-user-profile/Page.tsx +52 -52
  41. package/keycloak-theme/login/pages/idp-review-user-profile/index.ts +3 -3
  42. package/keycloak-theme/login/pages/info/Page.stories.tsx +50 -60
  43. package/keycloak-theme/login/pages/info/Page.tsx +92 -92
  44. package/keycloak-theme/login/pages/link-idp-action/Page.stories.tsx +32 -16
  45. package/keycloak-theme/login/pages/link-idp-action/Page.tsx +43 -43
  46. package/keycloak-theme/login/pages/link-idp-action/index.ts +3 -3
  47. package/keycloak-theme/login/pages/login/Form.tsx +242 -242
  48. package/keycloak-theme/login/pages/login/Info.tsx +29 -29
  49. package/keycloak-theme/login/pages/login/Page.stories.tsx +345 -365
  50. package/keycloak-theme/login/pages/login/Page.tsx +44 -44
  51. package/keycloak-theme/login/pages/login/SocialProviders.tsx +107 -107
  52. package/keycloak-theme/login/pages/login/index.ts +3 -3
  53. package/keycloak-theme/login/pages/login/providers/apple.svg +3 -3
  54. package/keycloak-theme/login/pages/login/providers/bitbucket.svg +11 -11
  55. package/keycloak-theme/login/pages/login/providers/discord.svg +4 -4
  56. package/keycloak-theme/login/pages/login/providers/facebook.svg +5 -5
  57. package/keycloak-theme/login/pages/login/providers/github.svg +3 -3
  58. package/keycloak-theme/login/pages/login/providers/gitlab.svg +7 -7
  59. package/keycloak-theme/login/pages/login/providers/google.svg +7 -7
  60. package/keycloak-theme/login/pages/login/providers/instagram.svg +31 -31
  61. package/keycloak-theme/login/pages/login/providers/linkedin.svg +3 -3
  62. package/keycloak-theme/login/pages/login/providers/microsoft.svg +6 -6
  63. package/keycloak-theme/login/pages/login/providers/oidc.svg +5 -5
  64. package/keycloak-theme/login/pages/login/providers/openshift.svg +7 -7
  65. package/keycloak-theme/login/pages/login/providers/paypal.svg +6 -6
  66. package/keycloak-theme/login/pages/login/providers/slack.svg +11 -11
  67. package/keycloak-theme/login/pages/login/providers/stackoverflow.svg +5 -5
  68. package/keycloak-theme/login/pages/login/providers/x.svg +3 -3
  69. package/keycloak-theme/login/pages/login/useProviderLogos.tsx +39 -39
  70. package/keycloak-theme/login/pages/login/useScript.tsx +62 -62
  71. package/keycloak-theme/login/pages/login-config-totp/Page.stories.tsx +45 -59
  72. package/keycloak-theme/login/pages/login-config-totp/Page.tsx +240 -240
  73. package/keycloak-theme/login/pages/login-config-totp/index.ts +3 -3
  74. package/keycloak-theme/login/pages/login-idp-link-confirm/Page.stories.tsx +30 -34
  75. package/keycloak-theme/login/pages/login-idp-link-confirm/Page.tsx +43 -43
  76. package/keycloak-theme/login/pages/login-idp-link-confirm/index.ts +3 -3
  77. package/keycloak-theme/login/pages/login-idp-link-confirm-override/Page.stories.tsx +16 -22
  78. package/keycloak-theme/login/pages/login-idp-link-confirm-override/Page.tsx +47 -47
  79. package/keycloak-theme/login/pages/login-idp-link-confirm-override/index.ts +3 -3
  80. package/keycloak-theme/login/pages/login-idp-link-email/Page.stories.tsx +54 -62
  81. package/keycloak-theme/login/pages/login-idp-link-email/Page.tsx +54 -54
  82. package/keycloak-theme/login/pages/login-idp-link-email/index.ts +3 -3
  83. package/keycloak-theme/login/pages/login-oauth-grant/Page.stories.tsx +39 -45
  84. package/keycloak-theme/login/pages/login-oauth-grant/Page.tsx +126 -126
  85. package/keycloak-theme/login/pages/login-oauth-grant/index.ts +3 -3
  86. package/keycloak-theme/login/pages/login-oauth2-device-verify-user-code/Page.stories.tsx +38 -48
  87. package/keycloak-theme/login/pages/login-oauth2-device-verify-user-code/Page.tsx +58 -58
  88. package/keycloak-theme/login/pages/login-oauth2-device-verify-user-code/index.ts +3 -3
  89. package/keycloak-theme/login/pages/login-otp/Page.stories.tsx +82 -96
  90. package/keycloak-theme/login/pages/login-otp/Page.tsx +108 -108
  91. package/keycloak-theme/login/pages/login-otp/index.ts +3 -3
  92. package/keycloak-theme/login/pages/login-page-expired/Page.stories.tsx +28 -36
  93. package/keycloak-theme/login/pages/login-page-expired/Page.tsx +47 -47
  94. package/keycloak-theme/login/pages/login-page-expired/index.ts +3 -3
  95. package/keycloak-theme/login/pages/login-passkeys-conditional-authenticate/Page.stories.tsx +20 -0
  96. package/keycloak-theme/login/pages/login-passkeys-conditional-authenticate/Page.tsx +233 -233
  97. package/keycloak-theme/login/pages/login-passkeys-conditional-authenticate/index.ts +3 -3
  98. package/keycloak-theme/login/pages/login-passkeys-conditional-authenticate/useScript.tsx +63 -63
  99. package/keycloak-theme/login/pages/login-password/Page.stories.tsx +55 -56
  100. package/keycloak-theme/login/pages/login-password/Page.tsx +149 -149
  101. package/keycloak-theme/login/pages/login-password/index.ts +3 -3
  102. package/keycloak-theme/login/pages/login-password/useScript.tsx +63 -63
  103. package/keycloak-theme/login/pages/login-recovery-authn-code-config/Page.stories.tsx +28 -36
  104. package/keycloak-theme/login/pages/login-recovery-authn-code-config/Page.tsx +181 -181
  105. package/keycloak-theme/login/pages/login-recovery-authn-code-config/index.ts +3 -3
  106. package/keycloak-theme/login/pages/login-recovery-authn-code-config/useScript.tsx +145 -145
  107. package/keycloak-theme/login/pages/login-recovery-authn-code-input/Page.stories.tsx +16 -22
  108. package/keycloak-theme/login/pages/login-recovery-authn-code-input/Page.tsx +70 -70
  109. package/keycloak-theme/login/pages/login-recovery-authn-code-input/index.ts +3 -3
  110. package/keycloak-theme/login/pages/login-reset-otp/Page.stories.tsx +62 -74
  111. package/keycloak-theme/login/pages/login-reset-otp/Page.tsx +86 -86
  112. package/keycloak-theme/login/pages/login-reset-otp/index.ts +3 -3
  113. package/keycloak-theme/login/pages/login-reset-password/Form.tsx +68 -68
  114. package/keycloak-theme/login/pages/login-reset-password/Page.stories.tsx +44 -54
  115. package/keycloak-theme/login/pages/login-reset-password/Page.tsx +27 -27
  116. package/keycloak-theme/login/pages/login-reset-password/index.ts +3 -3
  117. package/keycloak-theme/login/pages/login-update-password/Page.stories.tsx +40 -50
  118. package/keycloak-theme/login/pages/login-update-password/Page.tsx +111 -111
  119. package/keycloak-theme/login/pages/login-update-password/index.ts +3 -3
  120. package/keycloak-theme/login/pages/login-update-profile/Page.stories.tsx +28 -36
  121. package/keycloak-theme/login/pages/login-update-profile/Page.tsx +68 -68
  122. package/keycloak-theme/login/pages/login-update-profile/index.ts +3 -3
  123. package/keycloak-theme/login/pages/login-username/Page.stories.tsx +32 -42
  124. package/keycloak-theme/login/pages/login-username/Page.tsx +246 -246
  125. package/keycloak-theme/login/pages/login-username/index.ts +3 -3
  126. package/keycloak-theme/login/pages/login-username/useScript.tsx +62 -62
  127. package/keycloak-theme/login/pages/login-verify-email/Page.stories.tsx +68 -80
  128. package/keycloak-theme/login/pages/login-verify-email/Page.tsx +38 -38
  129. package/keycloak-theme/login/pages/login-verify-email/index.ts +3 -3
  130. package/keycloak-theme/login/pages/login-x509-info/Page.stories.tsx +29 -37
  131. package/keycloak-theme/login/pages/login-x509-info/Page.tsx +75 -75
  132. package/keycloak-theme/login/pages/login-x509-info/index.ts +3 -3
  133. package/keycloak-theme/login/pages/logout-confirm/Page.stories.tsx +34 -42
  134. package/keycloak-theme/login/pages/logout-confirm/Page.tsx +53 -53
  135. package/keycloak-theme/login/pages/logout-confirm/index.ts +3 -3
  136. package/keycloak-theme/login/pages/register/Form.tsx +106 -106
  137. package/keycloak-theme/login/pages/register/Page.stories.tsx +23 -6
  138. package/keycloak-theme/login/pages/register/Page.tsx +26 -26
  139. package/keycloak-theme/login/pages/register/TermsAcceptance.tsx +56 -56
  140. package/keycloak-theme/login/pages/register/index.ts +3 -3
  141. package/keycloak-theme/login/pages/saml-post-form/Page.stories.tsx +16 -22
  142. package/keycloak-theme/login/pages/saml-post-form/Page.tsx +66 -66
  143. package/keycloak-theme/login/pages/saml-post-form/index.ts +3 -3
  144. package/keycloak-theme/login/pages/select-authenticator/Page.stories.tsx +83 -95
  145. package/keycloak-theme/login/pages/select-authenticator/Page.tsx +100 -100
  146. package/keycloak-theme/login/pages/select-authenticator/index.ts +3 -3
  147. package/keycloak-theme/login/pages/select-organization/Page.stories.tsx +62 -49
  148. package/keycloak-theme/login/pages/select-organization/Page.tsx +126 -126
  149. package/keycloak-theme/login/pages/select-organization/index.ts +3 -3
  150. package/keycloak-theme/login/pages/terms/Page.stories.tsx +15 -0
  151. package/keycloak-theme/login/pages/terms/Page.tsx +51 -51
  152. package/keycloak-theme/login/pages/terms/index.ts +3 -3
  153. package/keycloak-theme/login/pages/update-email/Page.stories.tsx +27 -35
  154. package/keycloak-theme/login/pages/update-email/Page.tsx +62 -62
  155. package/keycloak-theme/login/pages/update-email/index.ts +3 -3
  156. package/keycloak-theme/login/pages/webauthn-authenticate/Page.stories.tsx +112 -126
  157. package/keycloak-theme/login/pages/webauthn-authenticate/Page.tsx +202 -202
  158. package/keycloak-theme/login/pages/webauthn-authenticate/index.ts +3 -3
  159. package/keycloak-theme/login/pages/webauthn-authenticate/useScript.tsx +55 -55
  160. package/keycloak-theme/login/pages/webauthn-error/Page.stories.tsx +54 -66
  161. package/keycloak-theme/login/pages/webauthn-error/Page.tsx +73 -73
  162. package/keycloak-theme/login/pages/webauthn-error/index.ts +3 -3
  163. package/keycloak-theme/login/pages/webauthn-register/Page.stories.tsx +39 -49
  164. package/keycloak-theme/login/pages/webauthn-register/Page.tsx +78 -78
  165. package/keycloak-theme/login/pages/webauthn-register/index.ts +3 -3
  166. package/keycloak-theme/login/pages/webauthn-register/useScript.tsx +62 -62
  167. package/keycloak-theme/login/shared/getColorScheme.ts +45 -45
  168. package/keycloak-theme/login/styleLevelCustomization.tsx +35 -35
  169. package/package.json +5 -1
@@ -1,62 +1,62 @@
1
- import { Button } from "@/components/ui/button";
2
- import { LogoutOtherSessions } from '@/login/components/LogoutOtherSessions';
3
- import { useI18n } from '@/login/i18n';
4
- import { useKcContext } from '@/login/KcContext';
5
- import { useState } from "react";
6
- import { assert } from "tsafe/assert";
7
- import { Template } from "../../components/Template";
8
- import { UserProfileFormFields } from "../../components/UserProfileFormFields";
9
-
10
-
11
- export function Page() {
12
-
13
- const { kcContext } = useKcContext();
14
- assert(kcContext.pageId === "update-email.ftl");
15
-
16
-
17
- const { msg, msgStr } = useI18n();
18
-
19
- const [isFormSubmittable, setIsFormSubmittable] = useState(false);
20
-
21
- const { url, messagesPerField, isAppInitiatedAction } = kcContext;
22
-
23
- return (
24
- <Template
25
- displayMessage={messagesPerField.exists("global")}
26
- displayRequiredFields
27
- headerNode={msg("updateEmailTitle")}
28
- >
29
- <form
30
- id="kc-update-email-form"
31
- className="space-y-6"
32
- action={url.loginAction}
33
- method="post"
34
- >
35
- <UserProfileFormFields onIsFormSubmittableValueChange={setIsFormSubmittable} />
36
-
37
- <LogoutOtherSessions />
38
-
39
- <div className="space-y-3">
40
- <Button
41
- disabled={!isFormSubmittable}
42
- className="w-full"
43
- type="submit"
44
- >
45
- {msgStr("doSubmit")}
46
- </Button>
47
- {isAppInitiatedAction && (
48
- <Button
49
- variant="outline"
50
- className="w-full"
51
- type="submit"
52
- name="cancel-aia"
53
- value="true"
54
- >
55
- {msg("doCancel")}
56
- </Button>
57
- )}
58
- </div>
59
- </form>
60
- </Template>
61
- );
62
- }
1
+ import { Button } from "@/components/ui/button";
2
+ import { LogoutOtherSessions } from '@/login/components/LogoutOtherSessions';
3
+ import { useI18n } from '@/login/i18n';
4
+ import { useKcContext } from '@/login/KcContext';
5
+ import { useState } from "react";
6
+ import { assert } from "tsafe/assert";
7
+ import { Template } from "../../components/Template";
8
+ import { UserProfileFormFields } from "../../components/UserProfileFormFields";
9
+
10
+
11
+ export function Page() {
12
+
13
+ const { kcContext } = useKcContext();
14
+ assert(kcContext.pageId === "update-email.ftl");
15
+
16
+
17
+ const { msg, msgStr } = useI18n();
18
+
19
+ const [isFormSubmittable, setIsFormSubmittable] = useState(false);
20
+
21
+ const { url, messagesPerField, isAppInitiatedAction } = kcContext;
22
+
23
+ return (
24
+ <Template
25
+ displayMessage={messagesPerField.exists("global")}
26
+ displayRequiredFields
27
+ headerNode={msg("updateEmailTitle")}
28
+ >
29
+ <form
30
+ id="kc-update-email-form"
31
+ className="space-y-6"
32
+ action={url.loginAction}
33
+ method="post"
34
+ >
35
+ <UserProfileFormFields onIsFormSubmittableValueChange={setIsFormSubmittable} />
36
+
37
+ <LogoutOtherSessions />
38
+
39
+ <div className="space-y-3">
40
+ <Button
41
+ disabled={!isFormSubmittable}
42
+ className="w-full"
43
+ type="submit"
44
+ >
45
+ {msgStr("doSubmit")}
46
+ </Button>
47
+ {isAppInitiatedAction && (
48
+ <Button
49
+ variant="outline"
50
+ className="w-full"
51
+ type="submit"
52
+ name="cancel-aia"
53
+ value="true"
54
+ >
55
+ {msg("doCancel")}
56
+ </Button>
57
+ )}
58
+ </div>
59
+ </form>
60
+ </Template>
61
+ );
62
+ }
@@ -1,3 +1,3 @@
1
- import { Page } from "./Page";
2
-
3
- export default Page;
1
+ import { Page } from "./Page";
2
+
3
+ export default Page;
@@ -12,32 +12,26 @@ export default meta;
12
12
 
13
13
  type Story = StoryObj<typeof meta>;
14
14
 
15
- export const Default: Story = {
16
- render: () => <KcPageStory />
17
- };
15
+ export const Default: Story = {};
18
16
 
19
17
  export const Arabic: Story = {
20
- render: () => (
21
- <KcPageStory
22
- kcContext={{
23
- locale: {
24
- currentLanguageTag: "ar",
25
- rtl: true
26
- }
27
- }}
28
- />
29
- )
18
+ args: {
19
+ kcContext: {
20
+ locale: {
21
+ currentLanguageTag: "ar",
22
+ rtl: true
23
+ }
24
+ }
25
+ }
30
26
  };
31
27
  export const French: Story = {
32
- render: () => (
33
- <KcPageStory
34
- kcContext={{
35
- locale: {
36
- currentLanguageTag: "fr"
37
- }
38
- }}
39
- />
40
- )
28
+ args: {
29
+ kcContext: {
30
+ locale: {
31
+ currentLanguageTag: "fr"
32
+ }
33
+ }
34
+ }
41
35
  };
42
36
 
43
37
  /**
@@ -47,38 +41,36 @@ export const French: Story = {
47
41
  * - Key Aspect: Ensures that the available authenticators are displayed, and the user can select one.
48
42
  */
49
43
  export const WithMultipleAuthenticators: Story = {
50
- render: () => (
51
- <KcPageStory
52
- kcContext={{
53
- url: {
54
- loginAction: "/mock-login-action"
55
- },
56
- authenticators: {
57
- authenticators: [
58
- {
59
- credentialId: "authenticator-1",
60
- label: "Security Key 1",
61
- transports: {
62
- iconClass: "kcAuthenticatorUsbIcon",
63
- displayNameProperties: ["USB"]
64
- },
65
- createdAt: "2023-01-01"
44
+ args: {
45
+ kcContext: {
46
+ url: {
47
+ loginAction: "/mock-login-action"
48
+ },
49
+ authenticators: {
50
+ authenticators: [
51
+ {
52
+ credentialId: "authenticator-1",
53
+ label: "Security Key 1",
54
+ transports: {
55
+ iconClass: "kcAuthenticatorUsbIcon",
56
+ displayNameProperties: ["USB"]
57
+ },
58
+ createdAt: "2023-01-01"
59
+ },
60
+ {
61
+ credentialId: "authenticator-2",
62
+ label: "Security Key 2",
63
+ transports: {
64
+ iconClass: "kcAuthenticatorNfcIcon",
65
+ displayNameProperties: ["NFC"]
66
66
  },
67
- {
68
- credentialId: "authenticator-2",
69
- label: "Security Key 2",
70
- transports: {
71
- iconClass: "kcAuthenticatorNfcIcon",
72
- displayNameProperties: ["NFC"]
73
- },
74
- createdAt: "2023-02-01"
75
- }
76
- ]
77
- },
78
- shouldDisplayAuthenticators: true
79
- }}
80
- />
81
- )
67
+ createdAt: "2023-02-01"
68
+ }
69
+ ]
70
+ },
71
+ shouldDisplayAuthenticators: true
72
+ }
73
+ }
82
74
  };
83
75
 
84
76
  /**
@@ -88,29 +80,27 @@ export const WithMultipleAuthenticators: Story = {
88
80
  * - Key Aspect: Ensures the form renders correctly when there is only one authenticator available.
89
81
  */
90
82
  export const WithSingleAuthenticator: Story = {
91
- render: () => (
92
- <KcPageStory
93
- kcContext={{
94
- url: {
95
- loginAction: "/mock-login-action"
96
- },
97
- authenticators: {
98
- authenticators: [
99
- {
100
- credentialId: "authenticator-1",
101
- label: "My Security Key",
102
- transports: {
103
- iconClass: "kcAuthenticatorUsbIcon",
104
- displayNameProperties: ["USB"]
105
- },
106
- createdAt: "2023-01-01"
107
- }
108
- ]
109
- },
110
- shouldDisplayAuthenticators: true
111
- }}
112
- />
113
- )
83
+ args: {
84
+ kcContext: {
85
+ url: {
86
+ loginAction: "/mock-login-action"
87
+ },
88
+ authenticators: {
89
+ authenticators: [
90
+ {
91
+ credentialId: "authenticator-1",
92
+ label: "My Security Key",
93
+ transports: {
94
+ iconClass: "kcAuthenticatorUsbIcon",
95
+ displayNameProperties: ["USB"]
96
+ },
97
+ createdAt: "2023-01-01"
98
+ }
99
+ ]
100
+ },
101
+ shouldDisplayAuthenticators: true
102
+ }
103
+ }
114
104
  };
115
105
 
116
106
  /**
@@ -120,33 +110,31 @@ export const WithSingleAuthenticator: Story = {
120
110
  * - Key Aspect: Ensures the form handles authentication errors and displays a relevant message.
121
111
  */
122
112
  export const WithErrorDuringAuthentication: Story = {
123
- render: () => (
124
- <KcPageStory
125
- kcContext={{
126
- url: {
127
- loginAction: "/mock-login-action"
128
- },
129
- authenticators: {
130
- authenticators: [
131
- {
132
- credentialId: "authenticator-1",
133
- label: "My Security Key",
134
- transports: {
135
- iconClass: "kcAuthenticatorUsbIcon",
136
- displayNameProperties: ["USB"]
137
- },
138
- createdAt: "2023-01-01"
139
- }
140
- ]
141
- },
142
- shouldDisplayAuthenticators: true,
143
- message: {
144
- summary: "An error occurred during WebAuthn authentication.",
145
- type: "error"
146
- }
147
- }}
148
- />
149
- )
113
+ args: {
114
+ kcContext: {
115
+ url: {
116
+ loginAction: "/mock-login-action"
117
+ },
118
+ authenticators: {
119
+ authenticators: [
120
+ {
121
+ credentialId: "authenticator-1",
122
+ label: "My Security Key",
123
+ transports: {
124
+ iconClass: "kcAuthenticatorUsbIcon",
125
+ displayNameProperties: ["USB"]
126
+ },
127
+ createdAt: "2023-01-01"
128
+ }
129
+ ]
130
+ },
131
+ shouldDisplayAuthenticators: true,
132
+ message: {
133
+ summary: "An error occurred during WebAuthn authentication.",
134
+ type: "error"
135
+ }
136
+ }
137
+ }
150
138
  };
151
139
 
152
140
  /**
@@ -156,27 +144,25 @@ export const WithErrorDuringAuthentication: Story = {
156
144
  * - Key Aspect: Ensures the form provides a clear message when JavaScript is required but unavailable.
157
145
  */
158
146
  export const WithJavaScriptDisabled: Story = {
159
- render: () => (
160
- <KcPageStory
161
- kcContext={{
162
- url: {
163
- loginAction: "/mock-login-action"
164
- },
165
- authenticators: {
166
- authenticators: [
167
- {
168
- credentialId: "authenticator-1",
169
- label: "My Security Key",
170
- transports: {
171
- iconClass: "kcAuthenticatorUsbIcon",
172
- displayNameProperties: ["USB"]
173
- },
174
- createdAt: "2023-01-01"
175
- }
176
- ]
177
- },
178
- shouldDisplayAuthenticators: true
179
- }}
180
- />
181
- )
147
+ args: {
148
+ kcContext: {
149
+ url: {
150
+ loginAction: "/mock-login-action"
151
+ },
152
+ authenticators: {
153
+ authenticators: [
154
+ {
155
+ credentialId: "authenticator-1",
156
+ label: "My Security Key",
157
+ transports: {
158
+ iconClass: "kcAuthenticatorUsbIcon",
159
+ displayNameProperties: ["USB"]
160
+ },
161
+ createdAt: "2023-01-01"
162
+ }
163
+ ]
164
+ },
165
+ shouldDisplayAuthenticators: true
166
+ }
167
+ }
182
168
  };