@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,47 +1,47 @@
1
- import { i18nBuilder } from "@keycloakify/login-ui/i18n";
2
- import type { ThemeName } from "../kc.gen";
3
-
4
- /** @see: https://docs.keycloakify.dev/features/i18n */
5
- const { I18nProvider, useI18n } = i18nBuilder
6
- .withThemeName<ThemeName>()
7
- .withCustomTranslations({
8
- en: {
9
- welcomeMessage:
10
- "Welcome to Acme inc - Your gateway to seamless planning and organization.",
11
- loginAccountTitle: "Login to your account",
12
- registerTitle: "Register a new account",
13
- email: "Email",
14
- enterCredentials: "Enter your credentials below to login",
15
- noAccount: "Don't have an account?",
16
- doRegister: "Sign up",
17
- "organization.selectTitle": "Choose Your Organization",
18
- "organization.pickPlaceholder": "Pick an organization to continue"
19
- },
20
- ar: {
21
- welcomeMessage: "مرحبًا بك في Acme inc - بوابتك إلى التخطيط والتنظيم السلس.",
22
- loginAccountTitle: "تسجيل الدخول إلى حسابك",
23
- registerTitle: "تسجيل حساب جديد",
24
- email: "البريد الإلكتروني",
25
- enterCredentials: "أدخل بيانات الاعتماد الخاصة بك أدناه لتسجيل الدخول",
26
- doRegister: "إنشاء حساب",
27
- noAccount: "ليس لديك حساب؟",
28
- "organization.selectTitle": "اختر مؤسستك",
29
- "organization.pickPlaceholder": "اختر مؤسسة للمتابعة"
30
- },
31
- fr: {
32
- welcomeMessage:
33
- "Bienvenue sur Acme inc Votre passerelle vers une planification et une organisation sans faille.",
34
- loginAccountTitle: "Connectez-vous à votre compte",
35
- registerTitle: "Créer un nouveau compte",
36
- email: "E-mail",
37
- enterCredentials:
38
- "Entrez vos informations d'identification ci-dessous pour vous connecter",
39
- doRegister: "S'inscrire",
40
- noAccount: "Vous n'avez pas de compte?",
41
- "organization.selectTitle": "Choisissez Votre Organisation",
42
- "organization.pickPlaceholder": "Sélectionnez une organisation pour continuer"
43
- }
44
- })
45
- .build();
46
-
47
- export { I18nProvider, useI18n };
1
+ import { i18nBuilder } from "@keycloakify/login-ui/i18n";
2
+ import type { ThemeName } from "../kc.gen";
3
+
4
+ /** @see: https://docs.keycloakify.dev/features/i18n */
5
+ const { I18nProvider, useI18n } = i18nBuilder
6
+ .withThemeName<ThemeName>()
7
+ .withCustomTranslations({
8
+ en: {
9
+ welcomeMessage:
10
+ "Welcome to Acme inc - Your gateway to seamless planning and organization.",
11
+ loginAccountTitle: "Login to your account",
12
+ registerTitle: "Register a new account",
13
+ email: "Email",
14
+ enterCredentials: "Enter your credentials below to login",
15
+ noAccount: "Don't have an account?",
16
+ doRegister: "Sign up",
17
+ "organization.selectTitle": "Choose Your Organization",
18
+ "organization.pickPlaceholder": "Pick an organization to continue"
19
+ },
20
+ ar: {
21
+ welcomeMessage: "مرحبًا بك في Acme inc - بوابتك إلى التخطيط والتنظيم السلس.",
22
+ loginAccountTitle: "تسجيل الدخول إلى حسابك",
23
+ registerTitle: "تسجيل حساب جديد",
24
+ email: "البريد الإلكتروني",
25
+ enterCredentials: "أدخل بيانات الاعتماد الخاصة بك أدناه لتسجيل الدخول",
26
+ doRegister: "إنشاء حساب",
27
+ noAccount: "ليس لديك حساب؟",
28
+ "organization.selectTitle": "اختر مؤسستك",
29
+ "organization.pickPlaceholder": "اختر مؤسسة للمتابعة"
30
+ },
31
+ fr: {
32
+ welcomeMessage:
33
+ "Bienvenue sur Acme inc Votre passerelle vers une planification et une organisation sans faille.",
34
+ loginAccountTitle: "Connectez-vous à votre compte",
35
+ registerTitle: "Créer un nouveau compte",
36
+ email: "E-mail",
37
+ enterCredentials:
38
+ "Entrez vos informations d'identification ci-dessous pour vous connecter",
39
+ doRegister: "S'inscrire",
40
+ noAccount: "Vous n'avez pas de compte?",
41
+ "organization.selectTitle": "Choisissez Votre Organisation",
42
+ "organization.pickPlaceholder": "Sélectionnez une organisation pour continuer"
43
+ }
44
+ })
45
+ .build();
46
+
47
+ export { I18nProvider, useI18n };
@@ -1,22 +1,22 @@
1
- import { createGetKcContextMock } from "@keycloakify/login-ui/KcContext/getKcContextMock";
2
- import { kcEnvDefaults, themeNames } from "../../kc.gen";
3
- import type { KcContextExtension, KcContextExtensionPerPage } from "../KcContext";
4
-
5
- const kcContextExtension: KcContextExtension = {
6
- themeName: themeNames[0],
7
- client: {
8
- baseUrl: "https://my-theme.keycloakify.dev"
9
- },
10
- darkMode: true,
11
- properties: {
12
- ...kcEnvDefaults
13
- }
14
- };
15
- const kcContextExtensionPerPage: KcContextExtensionPerPage = {};
16
-
17
- export const { getKcContextMock } = createGetKcContextMock({
18
- kcContextExtension,
19
- kcContextExtensionPerPage,
20
- overrides: {},
21
- overridesPerPage: {}
22
- });
1
+ import { createGetKcContextMock } from "@keycloakify/login-ui/KcContext/getKcContextMock";
2
+ import { kcEnvDefaults, themeNames } from "../../kc.gen";
3
+ import type { KcContextExtension, KcContextExtensionPerPage } from "../KcContext";
4
+
5
+ const kcContextExtension: KcContextExtension = {
6
+ themeName: themeNames[0],
7
+ client: {
8
+ baseUrl: "https://my-theme.keycloakify.dev"
9
+ },
10
+ darkMode: true,
11
+ properties: {
12
+ ...kcEnvDefaults
13
+ }
14
+ };
15
+ const kcContextExtensionPerPage: KcContextExtensionPerPage = {};
16
+
17
+ export const { getKcContextMock } = createGetKcContextMock({
18
+ kcContextExtension,
19
+ kcContextExtensionPerPage,
20
+ overrides: {},
21
+ overridesPerPage: {}
22
+ });
@@ -1,134 +1,134 @@
1
-
2
- import { Suspense, lazy } from "react";
3
- import { useKcContext } from "../KcContext";
4
-
5
-
6
- const Page_login = lazy(() => import("./login"));
7
- const Page_register = lazy(() => import("./register"));
8
- const Page_info = lazy(() => import("./info"));
9
- const Page_error = lazy(() => import("./error"));
10
- const Page_login_reset_password = lazy(() => import("./login-reset-password"));
11
- const Page_login_verify_email = lazy(() => import("./login-verify-email"));
12
- const Page_terms = lazy(() => import("./terms"));
13
- const Page_login_oauth2_device_verify_user_code = lazy(() => import("./login-oauth2-device-verify-user-code"));
14
- const Page_login_oauth_grant = lazy(() => import("./login-oauth-grant"));
15
- const Page_login_otp = lazy(() => import("./login-otp"));
16
- const Page_login_password = lazy(() => import("./login-password"));
17
- const Page_login_username = lazy(() => import("./login-username"));
18
- const Page_webauthn_authenticate = lazy(() => import("./webauthn-authenticate"));
19
- const Page_webauthn_register = lazy(() => import("./webauthn-register"));
20
- const Page_login_update_password = lazy(() => import("./login-update-password"));
21
- const Page_link_idp_action = lazy(() => import("./link-idp-action"));
22
- const Page_login_update_profile = lazy(() => import("./login-update-profile"));
23
- const Page_login_idp_link_confirm = lazy(() => import("./login-idp-link-confirm"));
24
- const Page_login_page_expired = lazy(() => import("./login-page-expired"));
25
- const Page_login_idp_link_email = lazy(() => import("./login-idp-link-email"));
26
- const Page_login_config_totp = lazy(() => import("./login-config-totp"));
27
- const Page_logout_confirm = lazy(() => import("./logout-confirm"));
28
- const Page_idp_review_user_profile = lazy(() => import("./idp-review-user-profile"));
29
- const Page_update_email = lazy(() => import("./update-email"));
30
- const Page_select_authenticator = lazy(() => import("./select-authenticator"));
31
- const Page_saml_post_form = lazy(() => import("./saml-post-form"));
32
- const Page_delete_credential = lazy(() => import("./delete-credential"));
33
- const Page_code = lazy(() => import("./code"));
34
- const Page_delete_account_confirm = lazy(() => import("./delete-account-confirm"));
35
- const Page_frontchannel_logout = lazy(() => import("./frontchannel-logout"));
36
- const Page_login_recovery_authn_code_config = lazy(() => import("./login-recovery-authn-code-config"));
37
- const Page_login_recovery_authn_code_input = lazy(() => import("./login-recovery-authn-code-input"));
38
- const Page_login_reset_otp = lazy(() => import("./login-reset-otp"));
39
- const Page_login_x509_info = lazy(() => import("./login-x509-info"));
40
- const Page_webauthn_error = lazy(() => import("./webauthn-error"));
41
- const Page_login_passkeys_conditional_authenticate = lazy(() => import("./login-passkeys-conditional-authenticate"));
42
- const Page_login_idp_link_confirm_override = lazy(() => import("./login-idp-link-confirm-override"));
43
- const Page_select_organization = lazy(() => import("./select-organization"));
44
-
45
- export function PageIndex() {
46
- const { kcContext } = useKcContext();
47
-
48
- return (
49
-
50
- <Suspense>
51
- {(() => {
52
- switch (kcContext.pageId) {
53
- case "login.ftl":
54
- return <Page_login />;
55
- case "register.ftl":
56
- return <Page_register />;
57
- case "info.ftl":
58
- return <Page_info />;
59
- case "error.ftl":
60
- return <Page_error />;
61
- case "login-reset-password.ftl":
62
- return <Page_login_reset_password />;
63
- case "login-verify-email.ftl":
64
- return <Page_login_verify_email />;
65
- case "terms.ftl":
66
- return <Page_terms />;
67
- case "login-oauth2-device-verify-user-code.ftl":
68
- return <Page_login_oauth2_device_verify_user_code />;
69
- case "login-oauth-grant.ftl":
70
- return <Page_login_oauth_grant />;
71
- case "login-otp.ftl":
72
- return <Page_login_otp />;
73
- case "login-username.ftl":
74
- return <Page_login_username />;
75
- case "login-password.ftl":
76
- return <Page_login_password />;
77
- case "webauthn-authenticate.ftl":
78
- return <Page_webauthn_authenticate />;
79
- case "webauthn-register.ftl":
80
- return <Page_webauthn_register />;
81
- case "login-update-password.ftl":
82
- return <Page_login_update_password />;
83
- case "link-idp-action.ftl":
84
- return <Page_link_idp_action />;
85
- case "login-update-profile.ftl":
86
- return <Page_login_update_profile />;
87
- case "login-idp-link-confirm.ftl":
88
- return <Page_login_idp_link_confirm />;
89
- case "login-idp-link-email.ftl":
90
- return <Page_login_idp_link_email />;
91
- case "login-page-expired.ftl":
92
- return <Page_login_page_expired />;
93
- case "login-config-totp.ftl":
94
- return <Page_login_config_totp />;
95
- case "logout-confirm.ftl":
96
- return <Page_logout_confirm />;
97
- case "idp-review-user-profile.ftl":
98
- return <Page_idp_review_user_profile />;
99
- case "update-email.ftl":
100
- return <Page_update_email />;
101
- case "select-authenticator.ftl":
102
- return <Page_select_authenticator />;
103
- case "saml-post-form.ftl":
104
- return <Page_saml_post_form />;
105
- case "delete-credential.ftl":
106
- return <Page_delete_credential />;
107
- case "code.ftl":
108
- return <Page_code />;
109
- case "delete-account-confirm.ftl":
110
- return <Page_delete_account_confirm />;
111
- case "frontchannel-logout.ftl":
112
- return <Page_frontchannel_logout />;
113
- case "login-recovery-authn-code-config.ftl":
114
- return <Page_login_recovery_authn_code_config />;
115
- case "login-recovery-authn-code-input.ftl":
116
- return <Page_login_recovery_authn_code_input />;
117
- case "login-reset-otp.ftl":
118
- return <Page_login_reset_otp />;
119
- case "login-x509-info.ftl":
120
- return <Page_login_x509_info />;
121
- case "webauthn-error.ftl":
122
- return <Page_webauthn_error />;
123
- case "login-passkeys-conditional-authenticate.ftl":
124
- return <Page_login_passkeys_conditional_authenticate />;
125
- case "login-idp-link-confirm-override.ftl":
126
- return <Page_login_idp_link_confirm_override />;
127
- case "select-organization.ftl":
128
- return <Page_select_organization />;
129
- }
130
-
131
- })()}
132
- </Suspense>
133
- );
134
- }
1
+
2
+ import { Suspense, lazy } from "react";
3
+ import { useKcContext } from "../KcContext";
4
+
5
+
6
+ const Page_login = lazy(() => import("./login"));
7
+ const Page_register = lazy(() => import("./register"));
8
+ const Page_info = lazy(() => import("./info"));
9
+ const Page_error = lazy(() => import("./error"));
10
+ const Page_login_reset_password = lazy(() => import("./login-reset-password"));
11
+ const Page_login_verify_email = lazy(() => import("./login-verify-email"));
12
+ const Page_terms = lazy(() => import("./terms"));
13
+ const Page_login_oauth2_device_verify_user_code = lazy(() => import("./login-oauth2-device-verify-user-code"));
14
+ const Page_login_oauth_grant = lazy(() => import("./login-oauth-grant"));
15
+ const Page_login_otp = lazy(() => import("./login-otp"));
16
+ const Page_login_password = lazy(() => import("./login-password"));
17
+ const Page_login_username = lazy(() => import("./login-username"));
18
+ const Page_webauthn_authenticate = lazy(() => import("./webauthn-authenticate"));
19
+ const Page_webauthn_register = lazy(() => import("./webauthn-register"));
20
+ const Page_login_update_password = lazy(() => import("./login-update-password"));
21
+ const Page_link_idp_action = lazy(() => import("./link-idp-action"));
22
+ const Page_login_update_profile = lazy(() => import("./login-update-profile"));
23
+ const Page_login_idp_link_confirm = lazy(() => import("./login-idp-link-confirm"));
24
+ const Page_login_page_expired = lazy(() => import("./login-page-expired"));
25
+ const Page_login_idp_link_email = lazy(() => import("./login-idp-link-email"));
26
+ const Page_login_config_totp = lazy(() => import("./login-config-totp"));
27
+ const Page_logout_confirm = lazy(() => import("./logout-confirm"));
28
+ const Page_idp_review_user_profile = lazy(() => import("./idp-review-user-profile"));
29
+ const Page_update_email = lazy(() => import("./update-email"));
30
+ const Page_select_authenticator = lazy(() => import("./select-authenticator"));
31
+ const Page_saml_post_form = lazy(() => import("./saml-post-form"));
32
+ const Page_delete_credential = lazy(() => import("./delete-credential"));
33
+ const Page_code = lazy(() => import("./code"));
34
+ const Page_delete_account_confirm = lazy(() => import("./delete-account-confirm"));
35
+ const Page_frontchannel_logout = lazy(() => import("./frontchannel-logout"));
36
+ const Page_login_recovery_authn_code_config = lazy(() => import("./login-recovery-authn-code-config"));
37
+ const Page_login_recovery_authn_code_input = lazy(() => import("./login-recovery-authn-code-input"));
38
+ const Page_login_reset_otp = lazy(() => import("./login-reset-otp"));
39
+ const Page_login_x509_info = lazy(() => import("./login-x509-info"));
40
+ const Page_webauthn_error = lazy(() => import("./webauthn-error"));
41
+ const Page_login_passkeys_conditional_authenticate = lazy(() => import("./login-passkeys-conditional-authenticate"));
42
+ const Page_login_idp_link_confirm_override = lazy(() => import("./login-idp-link-confirm-override"));
43
+ const Page_select_organization = lazy(() => import("./select-organization"));
44
+
45
+ export function PageIndex() {
46
+ const { kcContext } = useKcContext();
47
+
48
+ return (
49
+
50
+ <Suspense>
51
+ {(() => {
52
+ switch (kcContext.pageId) {
53
+ case "login.ftl":
54
+ return <Page_login />;
55
+ case "register.ftl":
56
+ return <Page_register />;
57
+ case "info.ftl":
58
+ return <Page_info />;
59
+ case "error.ftl":
60
+ return <Page_error />;
61
+ case "login-reset-password.ftl":
62
+ return <Page_login_reset_password />;
63
+ case "login-verify-email.ftl":
64
+ return <Page_login_verify_email />;
65
+ case "terms.ftl":
66
+ return <Page_terms />;
67
+ case "login-oauth2-device-verify-user-code.ftl":
68
+ return <Page_login_oauth2_device_verify_user_code />;
69
+ case "login-oauth-grant.ftl":
70
+ return <Page_login_oauth_grant />;
71
+ case "login-otp.ftl":
72
+ return <Page_login_otp />;
73
+ case "login-username.ftl":
74
+ return <Page_login_username />;
75
+ case "login-password.ftl":
76
+ return <Page_login_password />;
77
+ case "webauthn-authenticate.ftl":
78
+ return <Page_webauthn_authenticate />;
79
+ case "webauthn-register.ftl":
80
+ return <Page_webauthn_register />;
81
+ case "login-update-password.ftl":
82
+ return <Page_login_update_password />;
83
+ case "link-idp-action.ftl":
84
+ return <Page_link_idp_action />;
85
+ case "login-update-profile.ftl":
86
+ return <Page_login_update_profile />;
87
+ case "login-idp-link-confirm.ftl":
88
+ return <Page_login_idp_link_confirm />;
89
+ case "login-idp-link-email.ftl":
90
+ return <Page_login_idp_link_email />;
91
+ case "login-page-expired.ftl":
92
+ return <Page_login_page_expired />;
93
+ case "login-config-totp.ftl":
94
+ return <Page_login_config_totp />;
95
+ case "logout-confirm.ftl":
96
+ return <Page_logout_confirm />;
97
+ case "idp-review-user-profile.ftl":
98
+ return <Page_idp_review_user_profile />;
99
+ case "update-email.ftl":
100
+ return <Page_update_email />;
101
+ case "select-authenticator.ftl":
102
+ return <Page_select_authenticator />;
103
+ case "saml-post-form.ftl":
104
+ return <Page_saml_post_form />;
105
+ case "delete-credential.ftl":
106
+ return <Page_delete_credential />;
107
+ case "code.ftl":
108
+ return <Page_code />;
109
+ case "delete-account-confirm.ftl":
110
+ return <Page_delete_account_confirm />;
111
+ case "frontchannel-logout.ftl":
112
+ return <Page_frontchannel_logout />;
113
+ case "login-recovery-authn-code-config.ftl":
114
+ return <Page_login_recovery_authn_code_config />;
115
+ case "login-recovery-authn-code-input.ftl":
116
+ return <Page_login_recovery_authn_code_input />;
117
+ case "login-reset-otp.ftl":
118
+ return <Page_login_reset_otp />;
119
+ case "login-x509-info.ftl":
120
+ return <Page_login_x509_info />;
121
+ case "webauthn-error.ftl":
122
+ return <Page_webauthn_error />;
123
+ case "login-passkeys-conditional-authenticate.ftl":
124
+ return <Page_login_passkeys_conditional_authenticate />;
125
+ case "login-idp-link-confirm-override.ftl":
126
+ return <Page_login_idp_link_confirm_override />;
127
+ case "select-organization.ftl":
128
+ return <Page_select_organization />;
129
+ }
130
+
131
+ })()}
132
+ </Suspense>
133
+ );
134
+ }
@@ -11,8 +11,28 @@ export default meta;
11
11
 
12
12
  type Story = StoryObj<typeof meta>;
13
13
 
14
- export const Default: Story = {
15
- render: () => <KcPageStory />
14
+ export const Default: Story = {};
15
+
16
+ export const Arabic: Story = {
17
+ args: {
18
+ kcContext: {
19
+ locale: {
20
+ currentLanguageTag: "ar",
21
+ rtl: true
22
+ }
23
+ }
24
+ }
25
+ };
26
+
27
+ export const French: Story = {
28
+ args: {
29
+ kcContext: {
30
+ locale: {
31
+ currentLanguageTag: "fr",
32
+ rtl: false
33
+ }
34
+ }
35
+ }
16
36
  };
17
37
 
18
38
 
@@ -25,75 +45,43 @@ export const Default: Story = {
25
45
  * preference is set to dark.
26
46
  */
27
47
  export const WithDarkModeForbidden: Story = {
28
- render: () => (
29
- <KcPageStory
30
- kcContext={{
31
- darkMode: false
32
- }}
33
- />
34
- )
48
+ args: {
49
+ kcContext: {
50
+ darkMode: false
51
+ }
52
+ }
35
53
  };
36
54
 
37
-
38
55
  export const WithErrorCode: Story = {
39
- render: () => (
40
- <KcPageStory
41
- kcContext={{
42
- code: {
43
- success: false,
44
- error: "Failed to generate code"
45
- }
46
- }}
47
- />
48
- )
49
- };
50
- export const Arabic: Story = {
51
- render: () => (
52
- <KcPageStory
53
- kcContext={{
54
- locale: {
55
- currentLanguageTag: "ar",
56
- rtl: true
57
- }
58
- }}
59
- />
60
- )
61
- };
62
- export const French: Story = {
63
- render: () => (
64
- <KcPageStory
65
- kcContext={{
66
- locale: {
67
- currentLanguageTag: "fr"
68
- }
69
- }}
70
- />
71
- )
56
+ args: {
57
+ kcContext: {
58
+ code: {
59
+ success: false,
60
+ error: "Failed to generate code"
61
+ }
62
+ }
63
+ }
72
64
  };
73
65
  export const WithFrenchLanguage: Story = {
74
- render: () => (
75
- <KcPageStory
76
- kcContext={{
77
- locale: {
78
- currentLanguageTag: "fr"
79
- },
80
- code: {
81
- success: true,
82
- code: "XYZ789"
83
- }
84
- }}
85
- />
86
- )
66
+ args: {
67
+ kcContext: {
68
+ locale: {
69
+ currentLanguageTag: "fr"
70
+ },
71
+ code: {
72
+ success: true,
73
+ code: "XYZ789"
74
+ }
75
+ }
76
+ }
87
77
  };
88
78
  export const WithHtmlErrorMessage: Story = {
89
- render: () => (
90
- <KcPageStory
91
- kcContext={{
92
- code: {
93
- success: false,
94
- error: "Something went wrong. <a href='https://example.com'>Try again</a>"
95
- }
96
- }}
97
- />
98
- )
79
+ args: {
80
+ kcContext: {
81
+ code: {
82
+ success: false,
83
+ error: "Something went wrong. <a href='https://example.com'>Try again</a>"
84
+ }
85
+ }
86
+ }
99
87
  };