@andreyyolkin/keycloakify-vue 0.1.0
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/LICENSE +21 -0
- package/README.md +109 -0
- package/keycloakify-vue/account/DefaultPage.vue +55 -0
- package/keycloakify-vue/account/DefaultPage.vue.d.ts +14 -0
- package/keycloakify-vue/account/KcContext/index.d.ts +1 -0
- package/keycloakify-vue/account/KcContext/index.js +0 -0
- package/keycloakify-vue/account/Template.useInitialize.d.ts +13 -0
- package/keycloakify-vue/account/Template.useInitialize.js +20 -0
- package/keycloakify-vue/account/Template.vue +178 -0
- package/keycloakify-vue/account/Template.vue.d.ts +17 -0
- package/keycloakify-vue/account/TemplateProps.d.ts +9 -0
- package/keycloakify-vue/account/TemplateProps.js +0 -0
- package/keycloakify-vue/account/i18n/i18n.d.ts +11 -0
- package/keycloakify-vue/account/i18n/i18n.js +0 -0
- package/keycloakify-vue/account/i18n/i18nBuilder.d.ts +18 -0
- package/keycloakify-vue/account/i18n/i18nBuilder.js +29 -0
- package/keycloakify-vue/account/i18n/index.d.ts +1 -0
- package/keycloakify-vue/account/i18n/index.js +1 -0
- package/keycloakify-vue/account/i18n/useI18n.d.ts +28 -0
- package/keycloakify-vue/account/i18n/useI18n.js +67 -0
- package/keycloakify-vue/account/index.d.ts +4 -0
- package/keycloakify-vue/account/index.js +8 -0
- package/keycloakify-vue/account/pages/Account.vue +182 -0
- package/keycloakify-vue/account/pages/Account.vue.d.ts +9 -0
- package/keycloakify-vue/account/pages/Applications.vue +192 -0
- package/keycloakify-vue/account/pages/Applications.vue.d.ts +9 -0
- package/keycloakify-vue/account/pages/FederatedIdentity.vue +123 -0
- package/keycloakify-vue/account/pages/FederatedIdentity.vue.d.ts +9 -0
- package/keycloakify-vue/account/pages/Log.vue +64 -0
- package/keycloakify-vue/account/pages/Log.vue.d.ts +9 -0
- package/keycloakify-vue/account/pages/NotImplemented.vue +24 -0
- package/keycloakify-vue/account/pages/NotImplemented.vue.d.ts +6 -0
- package/keycloakify-vue/account/pages/PageProps.d.ts +9 -0
- package/keycloakify-vue/account/pages/PageProps.js +0 -0
- package/keycloakify-vue/account/pages/Password.vue +247 -0
- package/keycloakify-vue/account/pages/Password.vue.d.ts +9 -0
- package/keycloakify-vue/account/pages/Sessions.vue +84 -0
- package/keycloakify-vue/account/pages/Sessions.vue.d.ts +9 -0
- package/keycloakify-vue/account/pages/Totp.vue +308 -0
- package/keycloakify-vue/account/pages/Totp.vue.d.ts +9 -0
- package/keycloakify-vue/bin/index.js +14 -0
- package/keycloakify-vue/bin/initialize-account-theme/boilerplate/KcContext.js +0 -0
- package/keycloakify-vue/bin/initialize-account-theme/boilerplate/KcPage.vue +23 -0
- package/keycloakify-vue/bin/initialize-account-theme/boilerplate/KcPageStory.js +18 -0
- package/keycloakify-vue/bin/initialize-account-theme/boilerplate/KcPageStory.vue +13 -0
- package/keycloakify-vue/bin/initialize-account-theme/boilerplate/i18n.js +5 -0
- package/keycloakify-vue/login/DefaultPage.vue +167 -0
- package/keycloakify-vue/login/DefaultPage.vue.d.ts +20 -0
- package/keycloakify-vue/login/Template.useInitialize.d.ts +18 -0
- package/keycloakify-vue/login/Template.useInitialize.js +49 -0
- package/keycloakify-vue/login/Template.vue +239 -0
- package/keycloakify-vue/login/Template.vue.d.ts +26 -0
- package/keycloakify-vue/login/TemplateProps.d.ts +14 -0
- package/keycloakify-vue/login/TemplateProps.js +0 -0
- package/keycloakify-vue/login/components/AddRemoveButtonsMultiValuedAttribute.vue +59 -0
- package/keycloakify-vue/login/components/AddRemoveButtonsMultiValuedAttribute.vue.d.ts +15 -0
- package/keycloakify-vue/login/components/FieldErrors.vue +35 -0
- package/keycloakify-vue/login/components/FieldErrors.vue.d.ts +14 -0
- package/keycloakify-vue/login/components/GroupLabel.vue +68 -0
- package/keycloakify-vue/login/components/GroupLabel.vue.d.ts +14 -0
- package/keycloakify-vue/login/components/InputFieldByType.vue +94 -0
- package/keycloakify-vue/login/components/InputFieldByType.vue.d.ts +4 -0
- package/keycloakify-vue/login/components/InputFieldByTypeProps.d.ts +12 -0
- package/keycloakify-vue/login/components/InputFieldByTypeProps.js +0 -0
- package/keycloakify-vue/login/components/InputTag.vue +105 -0
- package/keycloakify-vue/login/components/InputTag.vue.d.ts +7 -0
- package/keycloakify-vue/login/components/InputTagSelects.vue +108 -0
- package/keycloakify-vue/login/components/InputTagSelects.vue.d.ts +4 -0
- package/keycloakify-vue/login/components/LogoutOtherSessions.vue +27 -0
- package/keycloakify-vue/login/components/LogoutOtherSessions.vue.d.ts +9 -0
- package/keycloakify-vue/login/components/PasswordWrapper.vue +42 -0
- package/keycloakify-vue/login/components/PasswordWrapper.vue.d.ts +20 -0
- package/keycloakify-vue/login/components/SelectTag.vue +74 -0
- package/keycloakify-vue/login/components/SelectTag.vue.d.ts +4 -0
- package/keycloakify-vue/login/components/TermsAcceptance.vue +59 -0
- package/keycloakify-vue/login/components/TermsAcceptance.vue.d.ts +13 -0
- package/keycloakify-vue/login/components/TextareaTag.vue +47 -0
- package/keycloakify-vue/login/components/TextareaTag.vue.d.ts +4 -0
- package/keycloakify-vue/login/components/UserProfileFormFields.vue +119 -0
- package/keycloakify-vue/login/components/UserProfileFormFields.vue.d.ts +33 -0
- package/keycloakify-vue/login/components/UserProfileFormFieldsProps.d.ts +22 -0
- package/keycloakify-vue/login/components/UserProfileFormFieldsProps.js +0 -0
- package/keycloakify-vue/login/components/inputLabel.d.ts +4 -0
- package/keycloakify-vue/login/components/inputLabel.js +15 -0
- package/keycloakify-vue/login/i18n/i18n.d.ts +11 -0
- package/keycloakify-vue/login/i18n/i18n.js +0 -0
- package/keycloakify-vue/login/i18n/i18nBuilder.d.ts +18 -0
- package/keycloakify-vue/login/i18n/i18nBuilder.js +29 -0
- package/keycloakify-vue/login/i18n/index.d.ts +1 -0
- package/keycloakify-vue/login/i18n/index.js +1 -0
- package/keycloakify-vue/login/i18n/useI18n.d.ts +28 -0
- package/keycloakify-vue/login/i18n/useI18n.js +67 -0
- package/keycloakify-vue/login/index.d.ts +5 -0
- package/keycloakify-vue/login/index.js +10 -0
- package/keycloakify-vue/login/lib/useUserProfileForm.d.ts +53 -0
- package/keycloakify-vue/login/lib/useUserProfileForm.js +50 -0
- package/keycloakify-vue/login/pages/Code.vue +54 -0
- package/keycloakify-vue/login/pages/Code.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/DeleteAccountConfirm.vue +69 -0
- package/keycloakify-vue/login/pages/DeleteAccountConfirm.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/DeleteCredential.vue +56 -0
- package/keycloakify-vue/login/pages/DeleteCredential.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/Error.vue +41 -0
- package/keycloakify-vue/login/pages/Error.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/FrontchannelLogout.vue +67 -0
- package/keycloakify-vue/login/pages/FrontchannelLogout.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/IdpReviewUserProfile.vue +77 -0
- package/keycloakify-vue/login/pages/IdpReviewUserProfile.vue.d.ts +14 -0
- package/keycloakify-vue/login/pages/Info.vue +61 -0
- package/keycloakify-vue/login/pages/Info.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LinkIdpAction.vue +66 -0
- package/keycloakify-vue/login/pages/LinkIdpAction.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/Login.vue +230 -0
- package/keycloakify-vue/login/pages/Login.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginConfigTotp.vue +233 -0
- package/keycloakify-vue/login/pages/LoginConfigTotp.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginIdpLinkConfirm.vue +57 -0
- package/keycloakify-vue/login/pages/LoginIdpLinkConfirm.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginIdpLinkConfirmOverride.vue +56 -0
- package/keycloakify-vue/login/pages/LoginIdpLinkConfirmOverride.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginIdpLinkEmail.vue +52 -0
- package/keycloakify-vue/login/pages/LoginIdpLinkEmail.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginOauth2DeviceVerifyUserCode.vue +82 -0
- package/keycloakify-vue/login/pages/LoginOauth2DeviceVerifyUserCode.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginOauthGrant.vue +131 -0
- package/keycloakify-vue/login/pages/LoginOauthGrant.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginOtp.vue +135 -0
- package/keycloakify-vue/login/pages/LoginOtp.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginPageExpired.vue +44 -0
- package/keycloakify-vue/login/pages/LoginPageExpired.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginPasskeysConditionalAuthenticate.useScript.d.ts +21 -0
- package/keycloakify-vue/login/pages/LoginPasskeysConditionalAuthenticate.useScript.js +74 -0
- package/keycloakify-vue/login/pages/LoginPasskeysConditionalAuthenticate.vue +255 -0
- package/keycloakify-vue/login/pages/LoginPasskeysConditionalAuthenticate.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginPassword.useScript.d.ts +23 -0
- package/keycloakify-vue/login/pages/LoginPassword.useScript.js +64 -0
- package/keycloakify-vue/login/pages/LoginPassword.vue +191 -0
- package/keycloakify-vue/login/pages/LoginPassword.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginRecoveryAuthnCodeConfig.useScript.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginRecoveryAuthnCodeConfig.useScript.js +139 -0
- package/keycloakify-vue/login/pages/LoginRecoveryAuthnCodeConfig.vue +183 -0
- package/keycloakify-vue/login/pages/LoginRecoveryAuthnCodeConfig.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginRecoveryAuthnCodeInput.vue +90 -0
- package/keycloakify-vue/login/pages/LoginRecoveryAuthnCodeInput.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginResetOtp.vue +88 -0
- package/keycloakify-vue/login/pages/LoginResetOtp.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginResetPassword.vue +114 -0
- package/keycloakify-vue/login/pages/LoginResetPassword.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginUpdatePassword.vue +145 -0
- package/keycloakify-vue/login/pages/LoginUpdatePassword.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginUpdateProfile.vue +94 -0
- package/keycloakify-vue/login/pages/LoginUpdateProfile.vue.d.ts +14 -0
- package/keycloakify-vue/login/pages/LoginUsername.useScript.d.ts +23 -0
- package/keycloakify-vue/login/pages/LoginUsername.useScript.js +64 -0
- package/keycloakify-vue/login/pages/LoginUsername.vue +263 -0
- package/keycloakify-vue/login/pages/LoginUsername.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginVerifyEmail.vue +39 -0
- package/keycloakify-vue/login/pages/LoginVerifyEmail.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LoginX509Info.vue +120 -0
- package/keycloakify-vue/login/pages/LoginX509Info.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/LogoutConfirm.vue +73 -0
- package/keycloakify-vue/login/pages/LogoutConfirm.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/NotImplemented.vue +12 -0
- package/keycloakify-vue/login/pages/NotImplemented.vue.d.ts +6 -0
- package/keycloakify-vue/login/pages/PageProps.d.ts +9 -0
- package/keycloakify-vue/login/pages/PageProps.js +0 -0
- package/keycloakify-vue/login/pages/Register.vue +158 -0
- package/keycloakify-vue/login/pages/Register.vue.d.ts +14 -0
- package/keycloakify-vue/login/pages/SamlPostForm.vue +75 -0
- package/keycloakify-vue/login/pages/SamlPostForm.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/SelectAuthenticator.vue +65 -0
- package/keycloakify-vue/login/pages/SelectAuthenticator.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/SelectOrganization.vue +89 -0
- package/keycloakify-vue/login/pages/SelectOrganization.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/Terms.vue +56 -0
- package/keycloakify-vue/login/pages/Terms.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/UpdateEmail.vue +100 -0
- package/keycloakify-vue/login/pages/UpdateEmail.vue.d.ts +14 -0
- package/keycloakify-vue/login/pages/WebauthnAuthenticate.useScript.d.ts +22 -0
- package/keycloakify-vue/login/pages/WebauthnAuthenticate.useScript.js +53 -0
- package/keycloakify-vue/login/pages/WebauthnAuthenticate.vue +186 -0
- package/keycloakify-vue/login/pages/WebauthnAuthenticate.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/WebauthnError.vue +84 -0
- package/keycloakify-vue/login/pages/WebauthnError.vue.d.ts +9 -0
- package/keycloakify-vue/login/pages/WebauthnRegister.useScript.d.ts +28 -0
- package/keycloakify-vue/login/pages/WebauthnRegister.useScript.js +75 -0
- package/keycloakify-vue/login/pages/WebauthnRegister.vue +105 -0
- package/keycloakify-vue/login/pages/WebauthnRegister.vue.d.ts +9 -0
- package/keycloakify-vue/tools/useInsertLinkTags.d.ts +12 -0
- package/keycloakify-vue/tools/useInsertLinkTags.js +47 -0
- package/keycloakify-vue/tools/useInsertScriptTags.d.ts +19 -0
- package/keycloakify-vue/tools/useInsertScriptTags.js +56 -0
- package/keycloakify-vue/tools/useSetClassName.d.ts +4 -0
- package/keycloakify-vue/tools/useSetClassName.js +16 -0
- package/package.json +553 -0
- package/src/account/DefaultPage.vue +55 -0
- package/src/account/KcContext/index.ts +1 -0
- package/src/account/Template.useInitialize.ts +34 -0
- package/src/account/Template.vue +178 -0
- package/src/account/TemplateProps.ts +11 -0
- package/src/account/i18n/i18n.ts +16 -0
- package/src/account/i18n/i18nBuilder.ts +100 -0
- package/src/account/i18n/index.ts +1 -0
- package/src/account/i18n/useI18n.ts +128 -0
- package/src/account/index.ts +4 -0
- package/src/account/pages/Account.vue +182 -0
- package/src/account/pages/Applications.vue +192 -0
- package/src/account/pages/FederatedIdentity.vue +123 -0
- package/src/account/pages/Log.vue +64 -0
- package/src/account/pages/NotImplemented.vue +24 -0
- package/src/account/pages/PageProps.ts +10 -0
- package/src/account/pages/Password.vue +247 -0
- package/src/account/pages/Sessions.vue +84 -0
- package/src/account/pages/Totp.vue +308 -0
- package/src/bin/initialize-account-theme/boilerplate/KcContext.ts +11 -0
- package/src/bin/initialize-account-theme/boilerplate/KcPage.vue +23 -0
- package/src/bin/initialize-account-theme/boilerplate/KcPageStory.ts +22 -0
- package/src/bin/initialize-account-theme/boilerplate/KcPageStory.vue +13 -0
- package/src/bin/initialize-account-theme/boilerplate/i18n.ts +8 -0
- package/src/login/DefaultPage.vue +167 -0
- package/src/login/Template.useInitialize.ts +71 -0
- package/src/login/Template.vue +239 -0
- package/src/login/TemplateProps.ts +17 -0
- package/src/login/components/AddRemoveButtonsMultiValuedAttribute.vue +59 -0
- package/src/login/components/FieldErrors.vue +35 -0
- package/src/login/components/GroupLabel.vue +68 -0
- package/src/login/components/InputFieldByType.vue +94 -0
- package/src/login/components/InputFieldByTypeProps.ts +13 -0
- package/src/login/components/InputTag.vue +105 -0
- package/src/login/components/InputTagSelects.vue +108 -0
- package/src/login/components/LogoutOtherSessions.vue +27 -0
- package/src/login/components/PasswordWrapper.vue +42 -0
- package/src/login/components/SelectTag.vue +74 -0
- package/src/login/components/TermsAcceptance.vue +59 -0
- package/src/login/components/TextareaTag.vue +47 -0
- package/src/login/components/UserProfileFormFields.vue +119 -0
- package/src/login/components/UserProfileFormFieldsProps.ts +22 -0
- package/src/login/components/inputLabel.ts +18 -0
- package/src/login/i18n/i18n.ts +16 -0
- package/src/login/i18n/i18nBuilder.ts +100 -0
- package/src/login/i18n/index.ts +1 -0
- package/src/login/i18n/useI18n.ts +128 -0
- package/src/login/index.ts +5 -0
- package/src/login/lib/useUserProfileForm.ts +121 -0
- package/src/login/pages/Code.vue +54 -0
- package/src/login/pages/DeleteAccountConfirm.vue +69 -0
- package/src/login/pages/DeleteCredential.vue +56 -0
- package/src/login/pages/Error.vue +41 -0
- package/src/login/pages/FrontchannelLogout.vue +67 -0
- package/src/login/pages/IdpReviewUserProfile.vue +77 -0
- package/src/login/pages/Info.vue +61 -0
- package/src/login/pages/LinkIdpAction.vue +66 -0
- package/src/login/pages/Login.vue +230 -0
- package/src/login/pages/LoginConfigTotp.vue +233 -0
- package/src/login/pages/LoginIdpLinkConfirm.vue +57 -0
- package/src/login/pages/LoginIdpLinkConfirmOverride.vue +56 -0
- package/src/login/pages/LoginIdpLinkEmail.vue +52 -0
- package/src/login/pages/LoginOauth2DeviceVerifyUserCode.vue +82 -0
- package/src/login/pages/LoginOauthGrant.vue +131 -0
- package/src/login/pages/LoginOtp.vue +135 -0
- package/src/login/pages/LoginPageExpired.vue +44 -0
- package/src/login/pages/LoginPasskeysConditionalAuthenticate.useScript.ts +96 -0
- package/src/login/pages/LoginPasskeysConditionalAuthenticate.vue +255 -0
- package/src/login/pages/LoginPassword.useScript.ts +88 -0
- package/src/login/pages/LoginPassword.vue +191 -0
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.useScript.ts +152 -0
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.vue +183 -0
- package/src/login/pages/LoginRecoveryAuthnCodeInput.vue +90 -0
- package/src/login/pages/LoginResetOtp.vue +88 -0
- package/src/login/pages/LoginResetPassword.vue +114 -0
- package/src/login/pages/LoginUpdatePassword.vue +145 -0
- package/src/login/pages/LoginUpdateProfile.vue +94 -0
- package/src/login/pages/LoginUsername.useScript.ts +88 -0
- package/src/login/pages/LoginUsername.vue +263 -0
- package/src/login/pages/LoginVerifyEmail.vue +39 -0
- package/src/login/pages/LoginX509Info.vue +120 -0
- package/src/login/pages/LogoutConfirm.vue +73 -0
- package/src/login/pages/NotImplemented.vue +12 -0
- package/src/login/pages/PageProps.ts +10 -0
- package/src/login/pages/Register.vue +158 -0
- package/src/login/pages/SamlPostForm.vue +75 -0
- package/src/login/pages/SelectAuthenticator.vue +65 -0
- package/src/login/pages/SelectOrganization.vue +89 -0
- package/src/login/pages/Terms.vue +56 -0
- package/src/login/pages/UpdateEmail.vue +100 -0
- package/src/login/pages/WebauthnAuthenticate.useScript.ts +75 -0
- package/src/login/pages/WebauthnAuthenticate.vue +186 -0
- package/src/login/pages/WebauthnError.vue +84 -0
- package/src/login/pages/WebauthnRegister.useScript.ts +109 -0
- package/src/login/pages/WebauthnRegister.vue +105 -0
- package/src/tools/useInsertLinkTags.ts +62 -0
- package/src/tools/useInsertScriptTags.ts +75 -0
- package/src/tools/useSetClassName.ts +15 -0
- package/stories/account/KcContext.ts +13 -0
- package/stories/account/KcContextMock.ts +26 -0
- package/stories/account/KcPage.vue +26 -0
- package/stories/account/KcPageStory.vue +13 -0
- package/stories/account/i18n.ts +7 -0
- package/stories/account/pages/Account.stories.ts +22 -0
- package/stories/account/pages/Applications.stories.ts +70 -0
- package/stories/account/pages/FederatedIdentity.stories.ts +64 -0
- package/stories/account/pages/Log.stories.ts +42 -0
- package/stories/account/pages/Password.stories.ts +22 -0
- package/stories/account/pages/Sessions.stories.ts +41 -0
- package/stories/account/pages/Totp.stories.ts +33 -0
- package/stories/kc.gen.ts +17 -0
- package/stories/login/KcContext.ts +13 -0
- package/stories/login/KcContextMock.ts +26 -0
- package/stories/login/KcPage.vue +28 -0
- package/stories/login/KcPageStory.vue +13 -0
- package/stories/login/i18n.ts +7 -0
- package/stories/login/pages/Code.stories.ts +50 -0
- package/stories/login/pages/DeleteAccountConfirm.stories.ts +32 -0
- package/stories/login/pages/DeleteCredential.stories.ts +23 -0
- package/stories/login/pages/Error.stories.ts +53 -0
- package/stories/login/pages/FrontchannelLogout.stories.ts +24 -0
- package/stories/login/pages/IdpReviewUserProfile.stories.ts +56 -0
- package/stories/login/pages/Info.stories.ts +52 -0
- package/stories/login/pages/LinkIdpAction.stories.ts +30 -0
- package/stories/login/pages/Login.stories.ts +76 -0
- package/stories/login/pages/LoginConfigTotp.stories.ts +53 -0
- package/stories/login/pages/LoginIdpLinkConfirm.stories.ts +34 -0
- package/stories/login/pages/LoginIdpLinkConfirmOverride.stories.ts +14 -0
- package/stories/login/pages/LoginIdpLinkEmail.stories.ts +60 -0
- package/stories/login/pages/LoginOauth2DeviceVerifyUserCode.stories.ts +42 -0
- package/stories/login/pages/LoginOauthGrant.stories.ts +95 -0
- package/stories/login/pages/LoginOtp.stories.ts +92 -0
- package/stories/login/pages/LoginPageExpired.stories.ts +29 -0
- package/stories/login/pages/LoginPasskeysConditionalAuthenticate.stories.ts +14 -0
- package/stories/login/pages/LoginPassword.stories.ts +49 -0
- package/stories/login/pages/LoginRecoveryAuthnCodeConfig.stories.ts +28 -0
- package/stories/login/pages/LoginRecoveryAuthnCodeInput.stories.ts +14 -0
- package/stories/login/pages/LoginResetOtp.stories.ts +69 -0
- package/stories/login/pages/LoginResetPassword.stories.ts +48 -0
- package/stories/login/pages/LoginUpdatePassword.stories.ts +52 -0
- package/stories/login/pages/LoginUpdateProfile.stories.ts +29 -0
- package/stories/login/pages/LoginUsername.stories.ts +25 -0
- package/stories/login/pages/LoginVerifyEmail.stories.ts +63 -0
- package/stories/login/pages/LoginX509Info.stories.ts +29 -0
- package/stories/login/pages/LogoutConfirm.stories.ts +35 -0
- package/stories/login/pages/Register.stories.ts +76 -0
- package/stories/login/pages/SamlPostForm.stories.ts +14 -0
- package/stories/login/pages/SelectAuthenticator.stories.ts +89 -0
- package/stories/login/pages/SelectOrganization.stories.ts +63 -0
- package/stories/login/pages/Terms.stories.ts +78 -0
- package/stories/login/pages/UpdateEmail.stories.ts +28 -0
- package/stories/login/pages/WebauthnAuthenticate.stories.ts +147 -0
- package/stories/login/pages/WebauthnError.stories.ts +77 -0
- package/stories/login/pages/WebauthnRegister.stories.ts +54 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import KcPageStory from '../KcPageStory.vue';
|
|
3
|
+
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'login/terms.ftl',
|
|
6
|
+
component: KcPageStory,
|
|
7
|
+
args: { pageId: 'terms.ftl' },
|
|
8
|
+
} satisfies Meta<typeof KcPageStory>;
|
|
9
|
+
|
|
10
|
+
export default meta;
|
|
11
|
+
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
|
|
14
|
+
export const Default: Story = {
|
|
15
|
+
args: {
|
|
16
|
+
kcContext: {
|
|
17
|
+
'x-keycloakify': {
|
|
18
|
+
messages: {
|
|
19
|
+
termsText: '<p>My terms in <strong>English</strong></p>',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const French: Story = {
|
|
27
|
+
args: {
|
|
28
|
+
kcContext: {
|
|
29
|
+
locale: {
|
|
30
|
+
currentLanguageTag: 'fr',
|
|
31
|
+
},
|
|
32
|
+
'x-keycloakify': {
|
|
33
|
+
messages: {
|
|
34
|
+
// cSpell: disable
|
|
35
|
+
termsText: '<p>Mes terme en <strong>Français</strong></p>',
|
|
36
|
+
// cSpell: enable
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const Spanish: Story = {
|
|
44
|
+
args: {
|
|
45
|
+
kcContext: {
|
|
46
|
+
locale: {
|
|
47
|
+
currentLanguageTag: 'es',
|
|
48
|
+
},
|
|
49
|
+
'x-keycloakify': {
|
|
50
|
+
messages: {
|
|
51
|
+
termsText: '<p>Mis términos en <strong>Español</strong></p>',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export const LongMessage: Story = {
|
|
59
|
+
args: {
|
|
60
|
+
kcContext: {
|
|
61
|
+
'x-keycloakify': {
|
|
62
|
+
messages: {
|
|
63
|
+
termsText: `
|
|
64
|
+
<p>These are the terms and conditions. Please read them carefully.</p>
|
|
65
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lacinia odio vitae vestibulum vestibulum.</p>
|
|
66
|
+
<p>Cras vehicula diam vel metus faucibus, at scelerisque lacus pretium. Donec ac consectetur justo. Morbi in sollicitudin nulla.</p>
|
|
67
|
+
<p>Suspendisse potenti. Phasellus pharetra consequat ante, at dictum ligula volutpat a. Quisque ultricies velit nec nulla gravida accumsan.</p>
|
|
68
|
+
<p>Curabitur tristique, magna id hendrerit tristique, enim nunc laoreet erat, non accumsan lacus arcu et nulla.</p>
|
|
69
|
+
<p>Fusce feugiat nisi orci, in placerat dui luctus ut. Suspendisse in velit eu urna auctor consequat a euismod enim.</p>
|
|
70
|
+
<p>Etiam et massa a sapien pharetra mollis. In lacinia quam id libero tincidunt, at egestas felis viverra.</p>
|
|
71
|
+
<p>Nunc pulvinar imperdiet facilisis. Curabitur ultricies dictum lectus, nec consectetur metus fringilla id.</p>
|
|
72
|
+
<p><strong>Please accept the terms to proceed.</strong></p>
|
|
73
|
+
`,
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import KcPageStory from '../KcPageStory.vue';
|
|
3
|
+
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'login/update-email.ftl',
|
|
6
|
+
component: KcPageStory,
|
|
7
|
+
args: { pageId: 'update-email.ftl' },
|
|
8
|
+
} satisfies Meta<typeof KcPageStory>;
|
|
9
|
+
|
|
10
|
+
export default meta;
|
|
11
|
+
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
|
|
14
|
+
export const Default: Story = {};
|
|
15
|
+
|
|
16
|
+
export const WithAppInitiatedAction: Story = {
|
|
17
|
+
args: {
|
|
18
|
+
kcContext: {
|
|
19
|
+
url: {
|
|
20
|
+
loginAction: '/mock-login-action',
|
|
21
|
+
},
|
|
22
|
+
messagesPerField: {
|
|
23
|
+
exists: () => false,
|
|
24
|
+
},
|
|
25
|
+
isAppInitiatedAction: true,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import KcPageStory from '../KcPageStory.vue';
|
|
3
|
+
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'login/webauthn-authenticate.ftl',
|
|
6
|
+
component: KcPageStory,
|
|
7
|
+
args: { pageId: 'webauthn-authenticate.ftl' },
|
|
8
|
+
} satisfies Meta<typeof KcPageStory>;
|
|
9
|
+
|
|
10
|
+
export default meta;
|
|
11
|
+
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
|
|
14
|
+
export const Default: Story = {};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* WithMultipleAuthenticators:
|
|
18
|
+
* - Purpose: Tests when multiple WebAuthn authenticators are available for selection.
|
|
19
|
+
* - Scenario: The component renders multiple authenticators, allowing the user to choose between them.
|
|
20
|
+
* - Key Aspect: Ensures that the available authenticators are displayed, and the user can select one.
|
|
21
|
+
*/
|
|
22
|
+
export const WithMultipleAuthenticators: Story = {
|
|
23
|
+
args: {
|
|
24
|
+
kcContext: {
|
|
25
|
+
url: {
|
|
26
|
+
loginAction: '/mock-login-action',
|
|
27
|
+
},
|
|
28
|
+
authenticators: {
|
|
29
|
+
authenticators: [
|
|
30
|
+
{
|
|
31
|
+
credentialId: 'authenticator-1',
|
|
32
|
+
label: 'Security Key 1',
|
|
33
|
+
transports: {
|
|
34
|
+
iconClass: 'kcAuthenticatorUsbIcon',
|
|
35
|
+
displayNameProperties: ['USB'],
|
|
36
|
+
},
|
|
37
|
+
createdAt: '2023-01-01',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
credentialId: 'authenticator-2',
|
|
41
|
+
label: 'Security Key 2',
|
|
42
|
+
transports: {
|
|
43
|
+
iconClass: 'kcAuthenticatorNfcIcon',
|
|
44
|
+
displayNameProperties: ['NFC'],
|
|
45
|
+
},
|
|
46
|
+
createdAt: '2023-02-01',
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
shouldDisplayAuthenticators: true,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* WithSingleAuthenticator:
|
|
57
|
+
* - Purpose: Tests when only one WebAuthn authenticator is available.
|
|
58
|
+
* - Scenario: The component renders the WebAuthn form with a single available authenticator.
|
|
59
|
+
* - Key Aspect: Ensures the form renders correctly when there is only one authenticator available.
|
|
60
|
+
*/
|
|
61
|
+
export const WithSingleAuthenticator: Story = {
|
|
62
|
+
args: {
|
|
63
|
+
kcContext: {
|
|
64
|
+
url: {
|
|
65
|
+
loginAction: '/mock-login-action',
|
|
66
|
+
},
|
|
67
|
+
authenticators: {
|
|
68
|
+
authenticators: [
|
|
69
|
+
{
|
|
70
|
+
credentialId: 'authenticator-1',
|
|
71
|
+
label: 'My Security Key',
|
|
72
|
+
transports: {
|
|
73
|
+
iconClass: 'kcAuthenticatorUsbIcon',
|
|
74
|
+
displayNameProperties: ['USB'],
|
|
75
|
+
},
|
|
76
|
+
createdAt: '2023-01-01',
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
shouldDisplayAuthenticators: true,
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* WithErrorDuringAuthentication:
|
|
87
|
+
* - Purpose: Tests the behavior when an error occurs during WebAuthn authentication.
|
|
88
|
+
* - Scenario: The component renders with an error message displayed to the user.
|
|
89
|
+
* - Key Aspect: Ensures the form handles authentication errors and displays a relevant message.
|
|
90
|
+
*/
|
|
91
|
+
export const WithErrorDuringAuthentication: Story = {
|
|
92
|
+
args: {
|
|
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
|
+
message: {
|
|
112
|
+
summary: 'An error occurred during WebAuthn authentication.',
|
|
113
|
+
type: 'error',
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* WithJavaScriptDisabled:
|
|
121
|
+
* - Purpose: Tests the behavior when JavaScript is disabled or not functioning.
|
|
122
|
+
* - Scenario: The component renders a fallback message prompting the user to enable JavaScript for WebAuthn authentication.
|
|
123
|
+
* - Key Aspect: Ensures the form provides a clear message when JavaScript is required but unavailable.
|
|
124
|
+
*/
|
|
125
|
+
export const WithJavaScriptDisabled: Story = {
|
|
126
|
+
args: {
|
|
127
|
+
kcContext: {
|
|
128
|
+
url: {
|
|
129
|
+
loginAction: '/mock-login-action',
|
|
130
|
+
},
|
|
131
|
+
authenticators: {
|
|
132
|
+
authenticators: [
|
|
133
|
+
{
|
|
134
|
+
credentialId: 'authenticator-1',
|
|
135
|
+
label: 'My Security Key',
|
|
136
|
+
transports: {
|
|
137
|
+
iconClass: 'kcAuthenticatorUsbIcon',
|
|
138
|
+
displayNameProperties: ['USB'],
|
|
139
|
+
},
|
|
140
|
+
createdAt: '2023-01-01',
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
shouldDisplayAuthenticators: true,
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import KcPageStory from '../KcPageStory.vue';
|
|
3
|
+
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'login/webauthn-error.ftl',
|
|
6
|
+
component: KcPageStory,
|
|
7
|
+
args: { pageId: 'webauthn-error.ftl' },
|
|
8
|
+
} satisfies Meta<typeof KcPageStory>;
|
|
9
|
+
|
|
10
|
+
export default meta;
|
|
11
|
+
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
|
|
14
|
+
export const Default: Story = {};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* WithRetryAvailable:
|
|
18
|
+
* - Purpose: Tests when the user can retry the WebAuthn authentication after an error.
|
|
19
|
+
* - Scenario: The component renders with a "Try Again" button to allow retrying the authentication process.
|
|
20
|
+
* - Key Aspect: Ensures the retry button functionality is visible and the user can retry authentication.
|
|
21
|
+
*/
|
|
22
|
+
export const WithRetryAvailable: Story = {
|
|
23
|
+
args: {
|
|
24
|
+
kcContext: {
|
|
25
|
+
url: {
|
|
26
|
+
loginAction: '/mock-login-action',
|
|
27
|
+
},
|
|
28
|
+
isAppInitiatedAction: false,
|
|
29
|
+
message: {
|
|
30
|
+
summary: 'WebAuthn authentication failed. Please try again.',
|
|
31
|
+
type: 'error',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* WithAppInitiatedAction:
|
|
39
|
+
* - Purpose: Tests when the WebAuthn error form is part of an application-initiated action.
|
|
40
|
+
* - Scenario: The component renders with both a "Try Again" button and a "Cancel" button for app-initiated actions.
|
|
41
|
+
* - Key Aspect: Ensures the form renders correctly with both "Try Again" and "Cancel" options.
|
|
42
|
+
*/
|
|
43
|
+
export const WithAppInitiatedAction: Story = {
|
|
44
|
+
args: {
|
|
45
|
+
kcContext: {
|
|
46
|
+
url: {
|
|
47
|
+
loginAction: '/mock-login-action',
|
|
48
|
+
},
|
|
49
|
+
isAppInitiatedAction: true,
|
|
50
|
+
message: {
|
|
51
|
+
summary: 'WebAuthn authentication failed. You can try again or cancel.',
|
|
52
|
+
type: 'error',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* WithJavaScriptDisabled:
|
|
60
|
+
* - Purpose: Tests the behavior when JavaScript is disabled or not functioning.
|
|
61
|
+
* - Scenario: The component renders with a message prompting the user to retry manually without JavaScript.
|
|
62
|
+
* - Key Aspect: Ensures the retry mechanism works properly when JavaScript is disabled or unavailable.
|
|
63
|
+
*/
|
|
64
|
+
export const WithJavaScriptDisabled: Story = {
|
|
65
|
+
args: {
|
|
66
|
+
kcContext: {
|
|
67
|
+
url: {
|
|
68
|
+
loginAction: '/mock-login-action',
|
|
69
|
+
},
|
|
70
|
+
isAppInitiatedAction: false,
|
|
71
|
+
message: {
|
|
72
|
+
summary: 'JavaScript is disabled or not working. Please retry manually.',
|
|
73
|
+
type: 'warning',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import KcPageStory from '../KcPageStory.vue';
|
|
3
|
+
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'login/webauthn-register.ftl',
|
|
6
|
+
component: KcPageStory,
|
|
7
|
+
args: { pageId: 'webauthn-register.ftl' },
|
|
8
|
+
} satisfies Meta<typeof KcPageStory>;
|
|
9
|
+
|
|
10
|
+
export default meta;
|
|
11
|
+
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
|
|
14
|
+
export const Default: Story = {};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* WithRetryAvailable:
|
|
18
|
+
* - Purpose: Tests when the user is allowed to retry WebAuthn registration after a failure.
|
|
19
|
+
* - Scenario: The component renders the form with a retry option.
|
|
20
|
+
* - Key Aspect: Ensures the retry functionality is available and the form allows the user to retry.
|
|
21
|
+
*/
|
|
22
|
+
export const WithRetryAvailable: Story = {
|
|
23
|
+
args: {
|
|
24
|
+
kcContext: {
|
|
25
|
+
url: {
|
|
26
|
+
loginAction: '/mock-login-action',
|
|
27
|
+
},
|
|
28
|
+
isSetRetry: true,
|
|
29
|
+
isAppInitiatedAction: false,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* WithErrorDuringRegistration:
|
|
36
|
+
* - Purpose: Tests when an error occurs during WebAuthn registration.
|
|
37
|
+
* - Scenario: The component displays an error message related to WebAuthn registration failure.
|
|
38
|
+
* - Key Aspect: Ensures the error message is displayed correctly, informing the user of the registration failure.
|
|
39
|
+
*/
|
|
40
|
+
export const WithErrorDuringRegistration: Story = {
|
|
41
|
+
args: {
|
|
42
|
+
kcContext: {
|
|
43
|
+
url: {
|
|
44
|
+
loginAction: '/mock-login-action',
|
|
45
|
+
},
|
|
46
|
+
isSetRetry: false,
|
|
47
|
+
isAppInitiatedAction: false,
|
|
48
|
+
message: {
|
|
49
|
+
summary: 'An error occurred during WebAuthn registration. Please try again.',
|
|
50
|
+
type: 'error',
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
};
|