@keycloakify/angular 0.0.1-rc.8 → 0.0.1
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/README.md +78 -1
- package/account/DefaultPage/DefaultPage.d.ts +38 -0
- package/account/DefaultPage/index.d.ts +5 -0
- package/account/DefaultPage/public-api.d.ts +1 -0
- package/account/KcContext/KcContext.d.ts +1 -0
- package/account/KcContext/index.d.ts +5 -0
- package/account/KcContext/public-api.d.ts +1 -0
- package/account/account.d.ts +12 -0
- package/account/classes/component-reference/component-reference.class.d.ts +6 -0
- package/account/classes/component-reference/index.d.ts +5 -0
- package/account/classes/component-reference/public-api.d.ts +1 -0
- package/account/containers/template/index.d.ts +5 -0
- package/account/containers/template/public-api.d.ts +1 -0
- package/account/containers/template/template.component.d.ts +38 -0
- package/account/defaultPage.d.ts +3 -0
- package/account/directives/kc-class/index.d.ts +5 -0
- package/account/directives/kc-class/kc-class.directive.d.ts +26 -0
- package/account/directives/kc-class/public-api.d.ts +1 -0
- package/account/i18n/i18n.d.ts +4 -0
- package/account/i18n/index.d.ts +5 -0
- package/account/i18n/public-api.d.ts +1 -0
- package/account/index.d.ts +5 -0
- package/account/pages/account/account.component.d.ts +15 -0
- package/account/pages/account/index.d.ts +5 -0
- package/account/pages/account/public-api.d.ts +1 -0
- package/account/pages/applications/applications.component.d.ts +14 -0
- package/account/pages/applications/index.d.ts +5 -0
- package/account/pages/applications/public-api.d.ts +1 -0
- package/account/pages/federatedIdentity/federatedIdentity.component.d.ts +14 -0
- package/account/pages/federatedIdentity/index.d.ts +5 -0
- package/account/pages/federatedIdentity/public-api.d.ts +1 -0
- package/account/pages/log/index.d.ts +5 -0
- package/account/pages/log/log.component.d.ts +14 -0
- package/account/pages/log/public-api.d.ts +1 -0
- package/account/pages/password/index.d.ts +5 -0
- package/account/pages/password/password.component.d.ts +29 -0
- package/account/pages/password/public-api.d.ts +1 -0
- package/account/pages/sessions/index.d.ts +5 -0
- package/account/pages/sessions/public-api.d.ts +1 -0
- package/account/pages/sessions/sessions.component.d.ts +14 -0
- package/account/pages/totp/index.d.ts +5 -0
- package/account/pages/totp/public-api.d.ts +1 -0
- package/account/pages/totp/totp.component.d.ts +14 -0
- package/account/providers/keycloakify-angular/index.d.ts +5 -0
- package/account/providers/keycloakify-angular/keycloakify-angular.providers.d.ts +17 -0
- package/account/providers/keycloakify-angular/public-api.d.ts +1 -0
- package/account/public-api.d.ts +1 -0
- package/account/services/account-resource-injector/account-resource-injector.service.d.ts +10 -0
- package/account/services/account-resource-injector/index.d.ts +5 -0
- package/account/services/account-resource-injector/public-api.d.ts +1 -0
- package/account/services/i18n/index.d.ts +5 -0
- package/account/services/i18n/public-api.d.ts +1 -0
- package/account/tokens/classes/classes.token.d.ts +16 -0
- package/account/tokens/classes/index.d.ts +5 -0
- package/account/tokens/classes/public-api.d.ts +1 -0
- package/account/tokens/i18n/i18n.token.d.ts +2 -0
- package/account/tokens/i18n/index.d.ts +5 -0
- package/account/tokens/i18n/public-api.d.ts +1 -0
- package/account/tokens/kc-context/index.d.ts +5 -0
- package/account/tokens/kc-context/kc-context.token.d.ts +3 -0
- package/account/tokens/kc-context/public-api.d.ts +1 -0
- package/bin/338.index.js +316 -0
- package/bin/603.index.js +4964 -0
- package/bin/758.index.js +144 -0
- package/bin/925.index.js +1115 -0
- package/bin/main.js +462 -0
- package/esm2022/account/DefaultPage/DefaultPage.mjs +34 -0
- package/esm2022/account/DefaultPage/keycloakify-angular-account-DefaultPage.mjs +5 -0
- package/esm2022/account/DefaultPage/public-api.mjs +2 -0
- package/esm2022/account/KcContext/KcContext.mjs +2 -0
- package/esm2022/account/KcContext/keycloakify-angular-account-KcContext.mjs +5 -0
- package/esm2022/account/KcContext/public-api.mjs +2 -0
- package/esm2022/account/account.mjs +3 -0
- package/esm2022/account/classes/component-reference/component-reference.class.mjs +3 -0
- package/esm2022/account/classes/component-reference/keycloakify-angular-account-classes-component-reference.mjs +5 -0
- package/esm2022/account/classes/component-reference/public-api.mjs +2 -0
- package/esm2022/account/containers/template/keycloakify-angular-account-containers-template.mjs +5 -0
- package/esm2022/account/containers/template/public-api.mjs +2 -0
- package/esm2022/account/containers/template/template.component.mjs +97 -0
- package/esm2022/account/defaultPage.mjs +26 -0
- package/esm2022/account/directives/kc-class/kc-class.directive.mjs +141 -0
- package/esm2022/account/directives/kc-class/keycloakify-angular-account-directives-kc-class.mjs +5 -0
- package/esm2022/account/directives/kc-class/public-api.mjs +2 -0
- package/esm2022/account/i18n/i18n.mjs +2 -0
- package/esm2022/account/i18n/keycloakify-angular-account-i18n.mjs +5 -0
- package/esm2022/account/i18n/public-api.mjs +2 -0
- package/esm2022/account/keycloakify-angular-account.mjs +5 -0
- package/esm2022/account/pages/account/account.component.mjs +39 -0
- package/esm2022/account/pages/account/keycloakify-angular-account-pages-account.mjs +5 -0
- package/esm2022/account/pages/account/public-api.mjs +2 -0
- package/esm2022/account/pages/applications/applications.component.mjs +37 -0
- package/esm2022/account/pages/applications/keycloakify-angular-account-pages-applications.mjs +5 -0
- package/esm2022/account/pages/applications/public-api.mjs +2 -0
- package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +36 -0
- package/esm2022/account/pages/federatedIdentity/keycloakify-angular-account-pages-federatedIdentity.mjs +5 -0
- package/esm2022/account/pages/federatedIdentity/public-api.mjs +2 -0
- package/esm2022/account/pages/log/keycloakify-angular-account-pages-log.mjs +5 -0
- package/esm2022/account/pages/log/log.component.mjs +36 -0
- package/esm2022/account/pages/log/public-api.mjs +2 -0
- package/esm2022/account/pages/password/keycloakify-angular-account-pages-password.mjs +5 -0
- package/esm2022/account/pages/password/password.component.mjs +108 -0
- package/esm2022/account/pages/password/public-api.mjs +2 -0
- package/esm2022/account/pages/sessions/keycloakify-angular-account-pages-sessions.mjs +5 -0
- package/esm2022/account/pages/sessions/public-api.mjs +2 -0
- package/esm2022/account/pages/sessions/sessions.component.mjs +36 -0
- package/esm2022/account/pages/totp/keycloakify-angular-account-pages-totp.mjs +5 -0
- package/esm2022/account/pages/totp/public-api.mjs +2 -0
- package/esm2022/account/pages/totp/totp.component.mjs +37 -0
- package/esm2022/account/providers/keycloakify-angular/keycloakify-angular-account-providers-keycloakify-angular.mjs +5 -0
- package/esm2022/account/providers/keycloakify-angular/keycloakify-angular.providers.mjs +47 -0
- package/esm2022/account/providers/keycloakify-angular/public-api.mjs +2 -0
- package/esm2022/account/public-api.mjs +2 -0
- package/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +37 -0
- package/esm2022/account/services/account-resource-injector/keycloakify-angular-account-services-account-resource-injector.mjs +5 -0
- package/esm2022/account/services/account-resource-injector/public-api.mjs +2 -0
- package/esm2022/account/services/i18n/i18n.service.mjs +12 -0
- package/esm2022/account/services/i18n/keycloakify-angular-account-services-i18n.mjs +5 -0
- package/esm2022/account/services/i18n/public-api.mjs +2 -0
- package/esm2022/account/tokens/classes/classes.token.mjs +3 -0
- package/esm2022/account/tokens/classes/keycloakify-angular-account-tokens-classes.mjs +5 -0
- package/esm2022/account/tokens/classes/public-api.mjs +2 -0
- package/esm2022/account/tokens/i18n/i18n.token.mjs +3 -0
- package/esm2022/account/tokens/i18n/keycloakify-angular-account-tokens-i18n.mjs +5 -0
- package/esm2022/account/tokens/i18n/public-api.mjs +2 -0
- package/esm2022/account/tokens/kc-context/kc-context.token.mjs +3 -0
- package/esm2022/account/tokens/kc-context/keycloakify-angular-account-tokens-kc-context.mjs +5 -0
- package/esm2022/account/tokens/kc-context/public-api.mjs +2 -0
- package/esm2022/keycloakify-angular.mjs +5 -0
- package/esm2022/lib/directives/attributes/attributes.directive.mjs +26 -0
- package/esm2022/lib/directives/attributes/keycloakify-angular-lib-directives-attributes.mjs +5 -0
- package/esm2022/lib/directives/attributes/public-api.mjs +2 -0
- package/esm2022/lib/keycloakify-angular-lib.mjs +5 -0
- package/esm2022/lib/models/script/keycloakify-angular-lib-models-script.mjs +5 -0
- package/esm2022/lib/models/script/public-api.mjs +2 -0
- package/esm2022/lib/models/script/script.model.mjs +2 -0
- package/esm2022/lib/pipes/input-type/input-type.pipe.mjs +20 -0
- package/esm2022/lib/pipes/input-type/keycloakify-angular-lib-pipes-input-type.mjs +5 -0
- package/esm2022/lib/pipes/input-type/public-api.mjs +2 -0
- package/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +20 -0
- package/esm2022/lib/pipes/is-array-with-empty-object/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +5 -0
- package/esm2022/lib/pipes/is-array-with-empty-object/public-api.mjs +2 -0
- package/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +29 -0
- package/esm2022/lib/pipes/kc-sanitize/keycloakify-angular-lib-pipes-kc-sanitize.mjs +5 -0
- package/esm2022/lib/pipes/kc-sanitize/public-api.mjs +2 -0
- package/esm2022/lib/pipes/to-array/keycloakify-angular-lib-pipes-to-array.mjs +5 -0
- package/esm2022/lib/pipes/to-array/public-api.mjs +2 -0
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +21 -0
- package/esm2022/lib/pipes/to-number/keycloakify-angular-lib-pipes-to-number.mjs +5 -0
- package/esm2022/lib/pipes/to-number/public-api.mjs +2 -0
- package/esm2022/lib/pipes/to-number/to-number.pipe.mjs +20 -0
- package/esm2022/lib/public-api.mjs +2 -0
- package/esm2022/lib/services/resource-injector/keycloakify-angular-lib-services-resource-injector.mjs +5 -0
- package/esm2022/lib/services/resource-injector/public-api.mjs +2 -0
- package/esm2022/lib/services/resource-injector/resource-injector.service.mjs +54 -0
- package/esm2022/lib/tokens/use-default-css/keycloakify-angular-lib-tokens-use-default-css.mjs +5 -0
- package/esm2022/lib/tokens/use-default-css/public-api.mjs +2 -0
- package/esm2022/lib/tokens/use-default-css/use-default-css.token.mjs +3 -0
- package/esm2022/login/KcContext/KcContext.mjs +2 -0
- package/esm2022/login/KcContext/keycloakify-angular-login-KcContext.mjs +5 -0
- package/esm2022/login/KcContext/public-api.mjs +2 -0
- package/esm2022/login/classes/component-reference/component-reference.class.mjs +3 -0
- package/esm2022/login/classes/component-reference/keycloakify-angular-login-classes-component-reference.mjs +5 -0
- package/esm2022/login/classes/component-reference/public-api.mjs +2 -0
- package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +106 -0
- package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +5 -0
- package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/public-api.mjs +2 -0
- package/esm2022/login/components/field-errors/field-errors.component.mjs +33 -0
- package/esm2022/login/components/field-errors/keycloakify-angular-login-components-field-errors.mjs +5 -0
- package/esm2022/login/components/field-errors/public-api.mjs +2 -0
- package/esm2022/login/components/group-label/group-label.component.mjs +43 -0
- package/esm2022/login/components/group-label/keycloakify-angular-login-components-group-label.mjs +5 -0
- package/esm2022/login/components/group-label/public-api.mjs +2 -0
- package/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +46 -0
- package/esm2022/login/components/input-field-by-type/keycloakify-angular-login-components-input-field-by-type.mjs +5 -0
- package/esm2022/login/components/input-field-by-type/public-api.mjs +2 -0
- package/esm2022/login/components/input-tag/input-tag.component.mjs +90 -0
- package/esm2022/login/components/input-tag/keycloakify-angular-login-components-input-tag.mjs +5 -0
- package/esm2022/login/components/input-tag/public-api.mjs +2 -0
- package/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +117 -0
- package/esm2022/login/components/input-tag-selects/keycloakify-angular-login-components-input-tag-selects.mjs +5 -0
- package/esm2022/login/components/input-tag-selects/public-api.mjs +2 -0
- package/esm2022/login/components/logout-other-sessions/keycloakify-angular-login-components-logout-other-sessions.mjs +5 -0
- package/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +32 -0
- package/esm2022/login/components/logout-other-sessions/public-api.mjs +2 -0
- package/esm2022/login/components/password-wrapper/keycloakify-angular-login-components-password-wrapper.mjs +5 -0
- package/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +46 -0
- package/esm2022/login/components/password-wrapper/public-api.mjs +2 -0
- package/esm2022/login/components/select-tag/keycloakify-angular-login-components-select-tag.mjs +5 -0
- package/esm2022/login/components/select-tag/public-api.mjs +2 -0
- package/esm2022/login/components/select-tag/select-tag.component.mjs +82 -0
- package/esm2022/login/components/textarea-tag/keycloakify-angular-login-components-textarea-tag.mjs +5 -0
- package/esm2022/login/components/textarea-tag/public-api.mjs +2 -0
- package/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +49 -0
- package/esm2022/login/components/user-profile-form-fields/keycloakify-angular-login-components-user-profile-form-fields.mjs +5 -0
- package/esm2022/login/components/user-profile-form-fields/public-api.mjs +2 -0
- package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +62 -0
- package/esm2022/login/containers/template/keycloakify-angular-login-containers-template.mjs +5 -0
- package/esm2022/login/containers/template/public-api.mjs +2 -0
- package/esm2022/login/containers/template/template.component.mjs +138 -0
- package/esm2022/login/defaultPage.mjs +77 -0
- package/esm2022/login/directives/kc-class/kc-class.directive.mjs +138 -0
- package/esm2022/login/directives/kc-class/keycloakify-angular-login-directives-kc-class.mjs +5 -0
- package/esm2022/login/directives/kc-class/public-api.mjs +2 -0
- package/esm2022/login/i18n/i18n.mjs +2 -0
- package/esm2022/login/i18n/keycloakify-angular-login-i18n.mjs +5 -0
- package/esm2022/login/i18n/public-api.mjs +2 -0
- package/esm2022/login/keycloakify-angular-login.mjs +5 -0
- package/esm2022/login/login.mjs +3 -0
- package/esm2022/login/pages/code/code.component.mjs +40 -0
- package/esm2022/login/pages/code/keycloakify-angular-login-pages-code.mjs +5 -0
- package/esm2022/login/pages/code/public-api.mjs +2 -0
- package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +40 -0
- package/esm2022/login/pages/delete-account-confirm/keycloakify-angular-login-pages-delete-account-confirm.mjs +5 -0
- package/esm2022/login/pages/delete-account-confirm/public-api.mjs +2 -0
- package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +40 -0
- package/esm2022/login/pages/delete-credential/keycloakify-angular-login-pages-delete-credential.mjs +5 -0
- package/esm2022/login/pages/delete-credential/public-api.mjs +2 -0
- package/esm2022/login/pages/error/error.component.mjs +40 -0
- package/esm2022/login/pages/error/keycloakify-angular-login-pages-error.mjs +5 -0
- package/esm2022/login/pages/error/public-api.mjs +2 -0
- package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +46 -0
- package/esm2022/login/pages/frontchannel-logout/keycloakify-angular-login-pages-frontchannel-logout.mjs +5 -0
- package/esm2022/login/pages/frontchannel-logout/public-api.mjs +2 -0
- package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +53 -0
- package/esm2022/login/pages/idp-review-user-profile/keycloakify-angular-login-pages-idp-review-user-profile.mjs +5 -0
- package/esm2022/login/pages/idp-review-user-profile/public-api.mjs +2 -0
- package/esm2022/login/pages/info/info.component.mjs +49 -0
- package/esm2022/login/pages/info/keycloakify-angular-login-pages-info.mjs +5 -0
- package/esm2022/login/pages/info/public-api.mjs +2 -0
- package/esm2022/login/pages/login/keycloakify-angular-login-pages-login.mjs +5 -0
- package/esm2022/login/pages/login/login.component.mjs +44 -0
- package/esm2022/login/pages/login/public-api.mjs +2 -0
- package/esm2022/login/pages/login-config-totp/keycloakify-angular-login-pages-login-config-totp.mjs +5 -0
- package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +42 -0
- package/esm2022/login/pages/login-config-totp/public-api.mjs +2 -0
- package/esm2022/login/pages/login-idp-link-confirm/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +5 -0
- package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +36 -0
- package/esm2022/login/pages/login-idp-link-confirm/public-api.mjs +2 -0
- package/esm2022/login/pages/login-idp-link-confirm-override/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +5 -0
- package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +36 -0
- package/esm2022/login/pages/login-idp-link-confirm-override/public-api.mjs +2 -0
- package/esm2022/login/pages/login-idp-link-email/keycloakify-angular-login-pages-login-idp-link-email.mjs +5 -0
- package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +36 -0
- package/esm2022/login/pages/login-idp-link-email/public-api.mjs +2 -0
- package/esm2022/login/pages/login-oauth-grant/keycloakify-angular-login-pages-login-oauth-grant.mjs +5 -0
- package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +37 -0
- package/esm2022/login/pages/login-oauth-grant/public-api.mjs +2 -0
- package/esm2022/login/pages/login-oauth2-device-verify-user-code/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +5 -0
- package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +40 -0
- package/esm2022/login/pages/login-oauth2-device-verify-user-code/public-api.mjs +2 -0
- package/esm2022/login/pages/login-otp/keycloakify-angular-login-pages-login-otp.mjs +5 -0
- package/esm2022/login/pages/login-otp/login-otp.component.mjs +41 -0
- package/esm2022/login/pages/login-otp/public-api.mjs +2 -0
- package/esm2022/login/pages/login-page-expired/keycloakify-angular-login-pages-login-page-expired.mjs +5 -0
- package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +39 -0
- package/esm2022/login/pages/login-page-expired/public-api.mjs +2 -0
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +5 -0
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +88 -0
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/public-api.mjs +2 -0
- package/esm2022/login/pages/login-password/keycloakify-angular-login-pages-login-password.mjs +5 -0
- package/esm2022/login/pages/login-password/login-password.component.mjs +44 -0
- package/esm2022/login/pages/login-password/public-api.mjs +2 -0
- package/esm2022/login/pages/login-recovery-authn-code-config/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +5 -0
- package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +43 -0
- package/esm2022/login/pages/login-recovery-authn-code-config/public-api.mjs +2 -0
- package/esm2022/login/pages/login-recovery-authn-code-input/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +5 -0
- package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +41 -0
- package/esm2022/login/pages/login-recovery-authn-code-input/public-api.mjs +2 -0
- package/esm2022/login/pages/login-reset-otp/keycloakify-angular-login-pages-login-reset-otp.mjs +5 -0
- package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +40 -0
- package/esm2022/login/pages/login-reset-otp/public-api.mjs +2 -0
- package/esm2022/login/pages/login-reset-password/keycloakify-angular-login-pages-login-reset-password.mjs +5 -0
- package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +41 -0
- package/esm2022/login/pages/login-reset-password/public-api.mjs +2 -0
- package/esm2022/login/pages/login-update-password/keycloakify-angular-login-pages-login-update-password.mjs +5 -0
- package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +43 -0
- package/esm2022/login/pages/login-update-password/public-api.mjs +2 -0
- package/esm2022/login/pages/login-update-profile/keycloakify-angular-login-pages-login-update-profile.mjs +5 -0
- package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +50 -0
- package/esm2022/login/pages/login-update-profile/public-api.mjs +2 -0
- package/esm2022/login/pages/login-username/keycloakify-angular-login-pages-login-username.mjs +5 -0
- package/esm2022/login/pages/login-username/login-username.component.mjs +43 -0
- package/esm2022/login/pages/login-username/public-api.mjs +2 -0
- package/esm2022/login/pages/login-verify-email/keycloakify-angular-login-pages-login-verify-email.mjs +5 -0
- package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +40 -0
- package/esm2022/login/pages/login-verify-email/public-api.mjs +2 -0
- package/esm2022/login/pages/login-x509-info/keycloakify-angular-login-pages-login-x509-info.mjs +5 -0
- package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +40 -0
- package/esm2022/login/pages/login-x509-info/public-api.mjs +2 -0
- package/esm2022/login/pages/logout-confirm/keycloakify-angular-login-pages-logout-confirm.mjs +5 -0
- package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +36 -0
- package/esm2022/login/pages/logout-confirm/public-api.mjs +2 -0
- package/esm2022/login/pages/register/keycloakify-angular-login-pages-register.mjs +5 -0
- package/esm2022/login/pages/register/public-api.mjs +2 -0
- package/esm2022/login/pages/register/register.component.mjs +55 -0
- package/esm2022/login/pages/saml-post-form/keycloakify-angular-login-pages-saml-post-form.mjs +5 -0
- package/esm2022/login/pages/saml-post-form/public-api.mjs +2 -0
- package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +50 -0
- package/esm2022/login/pages/select-authenticator/keycloakify-angular-login-pages-select-authenticator.mjs +5 -0
- package/esm2022/login/pages/select-authenticator/public-api.mjs +2 -0
- package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +41 -0
- package/esm2022/login/pages/terms/keycloakify-angular-login-pages-terms.mjs +5 -0
- package/esm2022/login/pages/terms/public-api.mjs +2 -0
- package/esm2022/login/pages/terms/terms.component.mjs +40 -0
- package/esm2022/login/pages/update-email/keycloakify-angular-login-pages-update-email.mjs +5 -0
- package/esm2022/login/pages/update-email/public-api.mjs +2 -0
- package/esm2022/login/pages/update-email/update-email.component.mjs +47 -0
- package/esm2022/login/pages/webauthn-authenticate/keycloakify-angular-login-pages-webauthn-authenticate.mjs +5 -0
- package/esm2022/login/pages/webauthn-authenticate/public-api.mjs +2 -0
- package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +80 -0
- package/esm2022/login/pages/webauthn-error/keycloakify-angular-login-pages-webauthn-error.mjs +5 -0
- package/esm2022/login/pages/webauthn-error/public-api.mjs +2 -0
- package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +49 -0
- package/esm2022/login/pages/webauthn-register/keycloakify-angular-login-pages-webauthn-register.mjs +5 -0
- package/esm2022/login/pages/webauthn-register/public-api.mjs +2 -0
- package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +76 -0
- package/esm2022/login/providers/keycloakify-angular/keycloakify-angular-login-providers-keycloakify-angular.mjs +5 -0
- package/esm2022/login/providers/keycloakify-angular/keycloakify-angular.providers.mjs +52 -0
- package/esm2022/login/providers/keycloakify-angular/public-api.mjs +2 -0
- package/esm2022/login/public-api.mjs +2 -0
- package/esm2022/login/services/i18n/i18n.service.mjs +12 -0
- package/esm2022/login/services/i18n/keycloakify-angular-login-services-i18n.mjs +5 -0
- package/esm2022/login/services/i18n/public-api.mjs +2 -0
- package/esm2022/login/services/login-resource-injector/keycloakify-angular-login-services-login-resource-injector.mjs +5 -0
- package/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +68 -0
- package/esm2022/login/services/login-resource-injector/public-api.mjs +2 -0
- package/esm2022/login/services/submit/keycloakify-angular-login-services-submit.mjs +5 -0
- package/esm2022/login/services/submit/public-api.mjs +2 -0
- package/esm2022/login/services/submit/submit.service.mjs +20 -0
- package/esm2022/login/services/user-profile-form/keycloakify-angular-login-services-user-profile-form.mjs +5 -0
- package/esm2022/login/services/user-profile-form/public-api.mjs +2 -0
- package/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +1019 -0
- package/esm2022/login/tokens/classes/classes.token.mjs +3 -0
- package/esm2022/login/tokens/classes/keycloakify-angular-login-tokens-classes.mjs +5 -0
- package/esm2022/login/tokens/classes/public-api.mjs +2 -0
- package/esm2022/login/tokens/i18n/i18n.token.mjs +3 -0
- package/esm2022/login/tokens/i18n/keycloakify-angular-login-tokens-i18n.mjs +5 -0
- package/esm2022/login/tokens/i18n/public-api.mjs +2 -0
- package/esm2022/login/tokens/kc-context/kc-context.token.mjs +3 -0
- package/esm2022/login/tokens/kc-context/keycloakify-angular-login-tokens-kc-context.mjs +5 -0
- package/esm2022/login/tokens/kc-context/public-api.mjs +2 -0
- package/esm2022/login/tokens/make-user-confirm-password/keycloakify-angular-login-tokens-make-user-confirm-password.mjs +5 -0
- package/esm2022/login/tokens/make-user-confirm-password/make-user-confirm-password.token.mjs +3 -0
- package/esm2022/login/tokens/make-user-confirm-password/public-api.mjs +2 -0
- package/esm2022/public-api.mjs +2 -0
- package/fesm2022/keycloakify-angular-account-DefaultPage.mjs +39 -0
- package/fesm2022/keycloakify-angular-account-DefaultPage.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-KcContext.mjs +4 -0
- package/fesm2022/keycloakify-angular-account-KcContext.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-classes-component-reference.mjs +9 -0
- package/fesm2022/keycloakify-angular-account-classes-component-reference.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-containers-template.mjs +104 -0
- package/fesm2022/keycloakify-angular-account-containers-template.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +148 -0
- package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-i18n.mjs +4 -0
- package/fesm2022/keycloakify-angular-account-i18n.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-pages-account.mjs +46 -0
- package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-pages-applications.mjs +44 -0
- package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +43 -0
- package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-pages-log.mjs +43 -0
- package/fesm2022/keycloakify-angular-account-pages-log.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-pages-password.mjs +115 -0
- package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +43 -0
- package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-pages-totp.mjs +44 -0
- package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs +54 -0
- package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +44 -0
- package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-services-i18n.mjs +19 -0
- package/fesm2022/keycloakify-angular-account-services-i18n.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-tokens-classes.mjs +10 -0
- package/fesm2022/keycloakify-angular-account-tokens-classes.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-tokens-i18n.mjs +10 -0
- package/fesm2022/keycloakify-angular-account-tokens-i18n.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account-tokens-kc-context.mjs +10 -0
- package/fesm2022/keycloakify-angular-account-tokens-kc-context.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-account.mjs +34 -0
- package/fesm2022/keycloakify-angular-account.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +33 -0
- package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-models-script.mjs +4 -0
- package/fesm2022/keycloakify-angular-lib-models-script.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +27 -0
- package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +27 -0
- package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +36 -0
- package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +28 -0
- package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +27 -0
- package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +61 -0
- package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib-tokens-use-default-css.mjs +10 -0
- package/fesm2022/keycloakify-angular-lib-tokens-use-default-css.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-lib.mjs +8 -0
- package/fesm2022/keycloakify-angular-lib.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-KcContext.mjs +4 -0
- package/fesm2022/keycloakify-angular-login-KcContext.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-classes-component-reference.mjs +9 -0
- package/fesm2022/keycloakify-angular-login-classes-component-reference.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +113 -0
- package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +40 -0
- package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-group-label.mjs +50 -0
- package/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +53 -0
- package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +124 -0
- package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +97 -0
- package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +39 -0
- package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +53 -0
- package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +89 -0
- package/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +56 -0
- package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +69 -0
- package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-containers-template.mjs +145 -0
- package/fesm2022/keycloakify-angular-login-containers-template.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +145 -0
- package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-i18n.mjs +4 -0
- package/fesm2022/keycloakify-angular-login-i18n.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-code.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-error.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +53 -0
- package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +60 -0
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-info.mjs +56 -0
- package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +49 -0
- package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +43 -0
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +43 -0
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +43 -0
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +44 -0
- package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +48 -0
- package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +46 -0
- package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +95 -0
- package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +51 -0
- package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +50 -0
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +48 -0
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +48 -0
- package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +50 -0
- package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +57 -0
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +50 -0
- package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-login.mjs +51 -0
- package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +43 -0
- package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-register.mjs +62 -0
- package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +57 -0
- package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +48 -0
- package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-terms.mjs +47 -0
- package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +54 -0
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +87 -0
- package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +56 -0
- package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +83 -0
- package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs +59 -0
- package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-services-i18n.mjs +19 -0
- package/fesm2022/keycloakify-angular-login-services-i18n.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +75 -0
- package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-services-submit.mjs +27 -0
- package/fesm2022/keycloakify-angular-login-services-submit.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +1026 -0
- package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-tokens-classes.mjs +10 -0
- package/fesm2022/keycloakify-angular-login-tokens-classes.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-tokens-i18n.mjs +10 -0
- package/fesm2022/keycloakify-angular-login-tokens-i18n.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-tokens-kc-context.mjs +10 -0
- package/fesm2022/keycloakify-angular-login-tokens-kc-context.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login-tokens-make-user-confirm-password.mjs +10 -0
- package/fesm2022/keycloakify-angular-login-tokens-make-user-confirm-password.mjs.map +1 -0
- package/fesm2022/keycloakify-angular-login.mjs +85 -0
- package/fesm2022/keycloakify-angular-login.mjs.map +1 -0
- package/fesm2022/keycloakify-angular.mjs +8 -0
- package/fesm2022/keycloakify-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/directives/attributes/index.d.ts +5 -0
- package/lib/directives/attributes/public-api.d.ts +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/models/script/index.d.ts +5 -0
- package/lib/models/script/public-api.d.ts +1 -0
- package/lib/pipes/input-type/index.d.ts +5 -0
- package/lib/pipes/input-type/public-api.d.ts +1 -0
- package/lib/pipes/is-array-with-empty-object/index.d.ts +5 -0
- package/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.d.ts +7 -0
- package/lib/pipes/is-array-with-empty-object/public-api.d.ts +1 -0
- package/lib/pipes/kc-sanitize/index.d.ts +5 -0
- package/lib/pipes/kc-sanitize/public-api.d.ts +1 -0
- package/lib/pipes/to-array/index.d.ts +5 -0
- package/lib/pipes/to-array/public-api.d.ts +1 -0
- package/lib/pipes/to-number/index.d.ts +5 -0
- package/lib/pipes/to-number/public-api.d.ts +1 -0
- package/lib/public-api.d.ts +1 -0
- package/lib/services/resource-injector/index.d.ts +5 -0
- package/lib/services/resource-injector/public-api.d.ts +1 -0
- package/lib/services/{resource-injector.service.d.ts → resource-injector/resource-injector.service.d.ts} +1 -1
- package/lib/tokens/use-default-css/index.d.ts +5 -0
- package/lib/tokens/use-default-css/public-api.d.ts +1 -0
- package/login/KcContext/index.d.ts +5 -0
- package/login/KcContext/public-api.d.ts +1 -0
- package/login/classes/{component-reference.class.d.ts → component-reference/component-reference.class.d.ts} +1 -1
- package/login/classes/component-reference/index.d.ts +5 -0
- package/login/classes/component-reference/public-api.d.ts +1 -0
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +2 -2
- package/login/components/add-remove-buttons-multi-valued-attribute/index.d.ts +5 -0
- package/login/components/add-remove-buttons-multi-valued-attribute/public-api.d.ts +1 -0
- package/login/components/field-errors/field-errors.component.d.ts +3 -3
- package/login/components/field-errors/index.d.ts +5 -0
- package/login/components/field-errors/public-api.d.ts +1 -0
- package/login/components/group-label/group-label.component.d.ts +3 -3
- package/login/components/group-label/index.d.ts +5 -0
- package/login/components/group-label/public-api.d.ts +1 -0
- package/login/components/input-field-by-type/index.d.ts +5 -0
- package/login/components/input-field-by-type/input-field-by-type.component.d.ts +3 -3
- package/login/components/input-field-by-type/public-api.d.ts +1 -0
- package/login/components/input-tag/index.d.ts +5 -0
- package/login/components/input-tag/input-tag.component.d.ts +4 -4
- package/login/components/input-tag/public-api.d.ts +1 -0
- package/login/components/input-tag-selects/index.d.ts +5 -0
- package/login/components/input-tag-selects/input-tag-selects.component.d.ts +4 -4
- package/login/components/input-tag-selects/public-api.d.ts +1 -0
- package/login/components/logout-other-sessions/index.d.ts +5 -0
- package/login/components/logout-other-sessions/logout-other-sessions.component.d.ts +3 -3
- package/login/components/logout-other-sessions/public-api.d.ts +1 -0
- package/login/components/password-wrapper/index.d.ts +5 -0
- package/login/components/password-wrapper/password-wrapper.component.d.ts +3 -3
- package/login/components/password-wrapper/public-api.d.ts +1 -0
- package/login/components/select-tag/index.d.ts +5 -0
- package/login/components/select-tag/public-api.d.ts +1 -0
- package/login/components/select-tag/select-tag.component.d.ts +4 -4
- package/login/components/textarea-tag/index.d.ts +5 -0
- package/login/components/textarea-tag/public-api.d.ts +1 -0
- package/login/components/textarea-tag/textarea-tag.component.d.ts +3 -3
- package/login/components/user-profile-form-fields/index.d.ts +5 -0
- package/login/components/user-profile-form-fields/public-api.d.ts +1 -0
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +7 -6
- package/login/containers/template/index.d.ts +5 -0
- package/login/containers/template/public-api.d.ts +1 -0
- package/login/containers/template/template.component.d.ts +46 -0
- package/login/defaultPage.d.ts +3 -0
- package/login/directives/kc-class/index.d.ts +5 -0
- package/login/directives/kc-class/public-api.d.ts +1 -0
- package/login/i18n/index.d.ts +5 -0
- package/login/i18n/public-api.d.ts +1 -0
- package/login/index.d.ts +5 -0
- package/login/login.d.ts +14 -0
- package/login/pages/code/code.component.d.ts +14 -5
- package/login/pages/code/index.d.ts +5 -0
- package/login/pages/code/public-api.d.ts +1 -0
- package/login/pages/delete-account-confirm/delete-account-confirm.component.d.ts +14 -5
- package/login/pages/delete-account-confirm/index.d.ts +5 -0
- package/login/pages/delete-account-confirm/public-api.d.ts +1 -0
- package/login/pages/delete-credential/delete-credential.component.d.ts +12 -8
- package/login/pages/delete-credential/index.d.ts +5 -0
- package/login/pages/delete-credential/public-api.d.ts +1 -0
- package/login/pages/error/error.component.d.ts +14 -5
- package/login/pages/error/index.d.ts +5 -0
- package/login/pages/error/public-api.d.ts +1 -0
- package/login/pages/frontchannel-logout/frontchannel-logout.component.d.ts +12 -8
- package/login/pages/frontchannel-logout/index.d.ts +5 -0
- package/login/pages/frontchannel-logout/public-api.d.ts +1 -0
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +17 -17
- package/login/pages/idp-review-user-profile/index.d.ts +5 -0
- package/login/pages/idp-review-user-profile/public-api.d.ts +1 -0
- package/login/pages/info/index.d.ts +5 -0
- package/login/pages/info/info.component.d.ts +12 -8
- package/login/pages/info/public-api.d.ts +1 -0
- package/login/pages/login/index.d.ts +5 -0
- package/login/pages/login/login.component.d.ts +13 -9
- package/login/pages/login/public-api.d.ts +1 -0
- package/login/pages/login-config-totp/index.d.ts +5 -0
- package/login/pages/login-config-totp/login-config-totp.component.d.ts +12 -8
- package/login/pages/login-config-totp/public-api.d.ts +1 -0
- package/login/pages/login-idp-link-confirm/index.d.ts +5 -0
- package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.d.ts +11 -10
- package/login/pages/login-idp-link-confirm/public-api.d.ts +1 -0
- package/login/pages/login-idp-link-confirm-override/index.d.ts +5 -0
- package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.d.ts +11 -10
- package/login/pages/login-idp-link-confirm-override/public-api.d.ts +1 -0
- package/login/pages/login-idp-link-email/index.d.ts +5 -0
- package/login/pages/login-idp-link-email/login-idp-link-email.component.d.ts +11 -10
- package/login/pages/login-idp-link-email/public-api.d.ts +1 -0
- package/login/pages/login-oauth-grant/index.d.ts +5 -0
- package/login/pages/login-oauth-grant/login-oauth-grant.component.d.ts +11 -10
- package/login/pages/login-oauth-grant/public-api.d.ts +1 -0
- package/login/pages/login-oauth2-device-verify-user-code/index.d.ts +5 -0
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +12 -8
- package/login/pages/login-oauth2-device-verify-user-code/public-api.d.ts +1 -0
- package/login/pages/login-otp/index.d.ts +5 -0
- package/login/pages/login-otp/login-otp.component.d.ts +12 -8
- package/login/pages/login-otp/public-api.d.ts +1 -0
- package/login/pages/login-page-expired/index.d.ts +5 -0
- package/login/pages/login-page-expired/login-page-expired.component.d.ts +12 -8
- package/login/pages/login-page-expired/public-api.d.ts +1 -0
- package/login/pages/login-passkeys-conditional-authenticate/index.d.ts +5 -0
- package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.d.ts +13 -5
- package/login/pages/login-passkeys-conditional-authenticate/public-api.d.ts +1 -0
- package/login/pages/login-password/index.d.ts +5 -0
- package/login/pages/login-password/login-password.component.d.ts +13 -8
- package/login/pages/login-password/public-api.d.ts +1 -0
- package/login/pages/login-recovery-authn-code-config/index.d.ts +5 -0
- package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.d.ts +12 -8
- package/login/pages/login-recovery-authn-code-config/public-api.d.ts +1 -0
- package/login/pages/login-recovery-authn-code-input/index.d.ts +5 -0
- package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.d.ts +12 -8
- package/login/pages/login-recovery-authn-code-input/public-api.d.ts +1 -0
- package/login/pages/login-reset-otp/index.d.ts +5 -0
- package/login/pages/login-reset-otp/login-reset-otp.component.d.ts +12 -8
- package/login/pages/login-reset-otp/public-api.d.ts +1 -0
- package/login/pages/login-reset-password/index.d.ts +5 -0
- package/login/pages/login-reset-password/login-reset-password.component.d.ts +12 -8
- package/login/pages/login-reset-password/public-api.d.ts +1 -0
- package/login/pages/login-update-password/index.d.ts +5 -0
- package/login/pages/login-update-password/login-update-password.component.d.ts +12 -8
- package/login/pages/login-update-password/public-api.d.ts +1 -0
- package/login/pages/login-update-profile/index.d.ts +5 -0
- package/login/pages/login-update-profile/login-update-profile.component.d.ts +16 -8
- package/login/pages/login-update-profile/public-api.d.ts +1 -0
- package/login/pages/login-username/index.d.ts +5 -0
- package/login/pages/login-username/login-username.component.d.ts +13 -9
- package/login/pages/login-username/public-api.d.ts +1 -0
- package/login/pages/login-verify-email/index.d.ts +5 -0
- package/login/pages/login-verify-email/login-verify-email.component.d.ts +12 -8
- package/login/pages/login-verify-email/public-api.d.ts +1 -0
- package/login/pages/login-x509-info/index.d.ts +5 -0
- package/login/pages/login-x509-info/login-x509-info.component.d.ts +12 -8
- package/login/pages/login-x509-info/public-api.d.ts +1 -0
- package/login/pages/logout-confirm/index.d.ts +5 -0
- package/login/pages/logout-confirm/logout-confirm.component.d.ts +11 -10
- package/login/pages/logout-confirm/public-api.d.ts +1 -0
- package/login/pages/register/index.d.ts +5 -0
- package/login/pages/register/public-api.d.ts +1 -0
- package/login/pages/register/register.component.d.ts +18 -10
- package/login/pages/saml-post-form/index.d.ts +5 -0
- package/login/pages/saml-post-form/public-api.d.ts +1 -0
- package/login/pages/saml-post-form/saml-post-form.component.d.ts +13 -10
- package/login/pages/select-authenticator/index.d.ts +5 -0
- package/login/pages/select-authenticator/public-api.d.ts +1 -0
- package/login/pages/select-authenticator/select-authenticator.component.d.ts +12 -8
- package/login/pages/terms/index.d.ts +5 -0
- package/login/pages/terms/public-api.d.ts +1 -0
- package/login/pages/terms/terms.component.d.ts +12 -8
- package/login/pages/update-email/index.d.ts +5 -0
- package/login/pages/update-email/public-api.d.ts +1 -0
- package/login/pages/update-email/update-email.component.d.ts +15 -10
- package/login/pages/webauthn-authenticate/index.d.ts +5 -0
- package/login/pages/webauthn-authenticate/public-api.d.ts +1 -0
- package/login/pages/webauthn-authenticate/webauthn-authenticate.component.d.ts +12 -8
- package/login/pages/webauthn-error/index.d.ts +5 -0
- package/login/pages/webauthn-error/public-api.d.ts +1 -0
- package/login/pages/webauthn-error/webauthn-error.component.d.ts +12 -8
- package/login/pages/webauthn-register/index.d.ts +5 -0
- package/login/pages/webauthn-register/public-api.d.ts +1 -0
- package/login/pages/webauthn-register/webauthn-register.component.d.ts +13 -9
- package/login/providers/keycloakify-angular/index.d.ts +5 -0
- package/login/providers/{keycloakify-angular.providers.d.ts → keycloakify-angular/keycloakify-angular.providers.d.ts} +4 -3
- package/login/providers/keycloakify-angular/public-api.d.ts +1 -0
- package/login/public-api.d.ts +1 -0
- package/login/services/i18n/i18n.service.d.ts +6 -0
- package/login/services/i18n/index.d.ts +5 -0
- package/login/services/i18n/public-api.d.ts +1 -0
- package/login/services/login-resource-injector/index.d.ts +5 -0
- package/login/services/{login-resource-injector.service.d.ts → login-resource-injector/login-resource-injector.service.d.ts} +1 -1
- package/login/services/login-resource-injector/public-api.d.ts +1 -0
- package/login/services/submit/index.d.ts +5 -0
- package/login/services/submit/public-api.d.ts +1 -0
- package/login/services/submit/submit.service.d.ts +9 -0
- package/login/services/user-profile-form/index.d.ts +5 -0
- package/login/services/user-profile-form/public-api.d.ts +1 -0
- package/login/services/{user-profile-form.service.d.ts → user-profile-form/user-profile-form.service.d.ts} +1 -1
- package/login/tokens/classes/index.d.ts +5 -0
- package/login/tokens/classes/public-api.d.ts +1 -0
- package/login/tokens/i18n/index.d.ts +5 -0
- package/login/tokens/i18n/public-api.d.ts +1 -0
- package/login/tokens/kc-context/index.d.ts +5 -0
- package/login/tokens/{kc-context.token.d.ts → kc-context/kc-context.token.d.ts} +1 -1
- package/login/tokens/kc-context/public-api.d.ts +1 -0
- package/login/tokens/make-user-confirm-password/index.d.ts +5 -0
- package/login/tokens/make-user-confirm-password/public-api.d.ts +1 -0
- package/package.json +597 -322
- package/public-api.d.ts +1 -0
- package/src/account/DefaultPage.ts +61 -0
- package/src/account/KcContext.ts +1 -0
- package/src/account/account.ts +13 -0
- package/src/account/classes/component-reference/component-reference.class.ts +6 -0
- package/src/account/classes/component-reference/index.ts +1 -0
- package/src/account/containers/template/index.ts +1 -0
- package/src/account/containers/template/template.component.html +130 -0
- package/src/account/containers/template/template.component.ts +116 -0
- package/src/account/defaultPage.ts +44 -0
- package/src/account/directives/kc-class/index.ts +1 -0
- package/src/account/directives/kc-class/kc-class.directive.ts +170 -0
- package/src/account/i18n.ts +4 -0
- package/src/account/index.ts +1 -0
- package/src/account/pages/account/account.component.html +161 -0
- package/src/account/pages/account/account.component.ts +34 -0
- package/src/account/pages/account/index.ts +1 -0
- package/src/account/pages/applications/applications.component.html +148 -0
- package/src/account/pages/applications/applications.component.ts +32 -0
- package/src/account/pages/applications/index.ts +1 -0
- package/src/account/pages/federatedIdentity/federatedIdentity.component.html +93 -0
- package/src/account/pages/federatedIdentity/federatedIdentity.component.ts +31 -0
- package/src/account/pages/federatedIdentity/index.ts +1 -0
- package/src/account/pages/log/index.ts +1 -0
- package/src/account/pages/log/log.component.html +40 -0
- package/src/account/pages/log/log.component.ts +31 -0
- package/src/account/pages/password/index.ts +1 -0
- package/src/account/pages/password/password.component.html +127 -0
- package/src/account/pages/password/password.component.ts +112 -0
- package/src/account/pages/sessions/index.ts +1 -0
- package/src/account/pages/sessions/sessions.component.html +59 -0
- package/src/account/pages/sessions/sessions.component.ts +31 -0
- package/src/account/pages/totp/index.ts +1 -0
- package/src/account/pages/totp/totp.component.html +254 -0
- package/src/account/pages/totp/totp.component.ts +32 -0
- package/src/account/providers/keycloakify-angular/index.ts +1 -0
- package/src/account/providers/keycloakify-angular/keycloakify-angular.providers.ts +62 -0
- package/src/account/services/account-resource-injector/account-resource-injector.service.ts +41 -0
- package/src/account/services/account-resource-injector/index.ts +1 -0
- package/src/account/services/i18n/index.ts +1 -0
- package/src/account/tokens/classes/classes.token.ts +6 -0
- package/src/account/tokens/classes/index.ts +1 -0
- package/src/account/tokens/i18n/i18n.token.ts +3 -0
- package/src/account/tokens/i18n/index.ts +1 -0
- package/src/account/tokens/kc-context/index.ts +1 -0
- package/src/account/tokens/kc-context/kc-context.token.ts +6 -0
- package/src/bin/core.ts +10 -0
- package/src/bin/eject-page.ts +421 -0
- package/src/bin/initialize-account-theme/boilerplate/KcContext.ts +11 -0
- package/src/bin/initialize-account-theme/boilerplate/KcContextMock.ts +18 -0
- package/src/bin/initialize-account-theme/boilerplate/KcPage.ts +19 -0
- package/src/bin/initialize-account-theme/boilerplate/i18n.ts +11 -0
- package/src/bin/initialize-account-theme/initialize-account-theme.ts +98 -0
- package/src/bin/initialize-account-theme/updateAccountThemeImplementationInConfig.ts +101 -0
- package/src/bin/main.ts +38 -0
- package/src/bin/tools/SemVer.ts +114 -0
- package/src/bin/tools/String.prototype.replaceAll.ts +37 -0
- package/src/bin/tools/crawl.ts +35 -0
- package/src/bin/tools/fs.rmSync.ts +34 -0
- package/src/bin/tools/getThisCodebaseRootDirPath.ts +19 -0
- package/src/bin/tools/kebabCaseToSnakeCase.ts +7 -0
- package/src/bin/tools/transformCodebase.ts +88 -0
- package/src/bin/tsconfig.json +20 -0
- package/src/bin/update-kc-gen.ts +149 -0
- package/src/index.ts +1 -0
- package/src/lib/directives/attributes/index.ts +1 -0
- package/src/lib/index.ts +1 -0
- package/src/lib/models/script/index.ts +1 -0
- package/src/lib/pipes/input-type/index.ts +1 -0
- package/src/lib/pipes/is-array-with-empty-object/index.ts +1 -0
- package/src/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.ts +16 -0
- package/src/lib/pipes/kc-sanitize/index.ts +1 -0
- package/src/lib/pipes/to-array/index.ts +1 -0
- package/src/{login/pipes → lib/pipes/to-array}/to-array.pipe.ts +1 -0
- package/src/lib/pipes/to-number/index.ts +1 -0
- package/src/lib/services/resource-injector/index.ts +1 -0
- package/src/lib/services/{resource-injector.service.ts → resource-injector/resource-injector.service.ts} +1 -1
- package/src/lib/tokens/use-default-css/index.ts +1 -0
- package/src/login/classes/{component-reference.class.ts → component-reference/component-reference.class.ts} +1 -1
- package/src/login/classes/component-reference/index.ts +1 -0
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html +2 -2
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +3 -3
- package/src/login/components/add-remove-buttons-multi-valued-attribute/index.ts +1 -0
- package/src/login/components/field-errors/field-errors.component.html +1 -1
- package/src/login/components/field-errors/field-errors.component.ts +6 -6
- package/src/login/components/field-errors/index.ts +1 -0
- package/src/login/components/group-label/group-label.component.ts +8 -8
- package/src/login/components/group-label/index.ts +1 -0
- package/src/login/components/input-field-by-type/index.ts +1 -0
- package/src/login/components/input-field-by-type/input-field-by-type.component.html +6 -6
- package/src/login/components/input-field-by-type/input-field-by-type.component.ts +11 -11
- package/src/login/components/input-tag/index.ts +1 -0
- package/src/login/components/input-tag/input-tag.component.html +2 -2
- package/src/login/components/input-tag/input-tag.component.ts +14 -14
- package/src/login/components/input-tag-selects/index.ts +1 -0
- package/src/login/components/input-tag-selects/input-tag-selects.component.ts +8 -8
- package/src/login/components/logout-other-sessions/index.ts +1 -0
- package/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +8 -8
- package/src/login/components/password-wrapper/index.ts +1 -0
- package/src/login/components/password-wrapper/password-wrapper.component.html +2 -2
- package/src/login/components/password-wrapper/password-wrapper.component.ts +8 -8
- package/src/login/components/select-tag/index.ts +1 -0
- package/src/login/components/select-tag/select-tag.component.ts +9 -9
- package/src/login/components/textarea-tag/index.ts +1 -0
- package/src/login/components/textarea-tag/textarea-tag.component.ts +7 -7
- package/src/login/components/user-profile-form-fields/index.ts +1 -0
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +7 -14
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +23 -18
- package/src/login/containers/template/index.ts +1 -0
- package/src/login/containers/{template.component.html → template/template.component.html} +30 -15
- package/src/login/containers/template/template.component.ts +162 -0
- package/src/login/defaultPage.ts +153 -0
- package/src/login/directives/kc-class/index.ts +1 -0
- package/src/login/directives/{kc-class.directive.ts → kc-class/kc-class.directive.ts} +2 -3
- package/src/login/index.ts +1 -0
- package/src/login/login.ts +15 -0
- package/src/login/pages/code/code.component.html +20 -23
- package/src/login/pages/code/code.component.ts +24 -13
- package/src/login/pages/code/index.ts +1 -0
- package/src/login/pages/delete-account-confirm/delete-account-confirm.component.html +41 -45
- package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +24 -13
- package/src/login/pages/delete-account-confirm/index.ts +1 -0
- package/src/login/pages/delete-credential/delete-credential.component.html +29 -31
- package/src/login/pages/delete-credential/delete-credential.component.ts +24 -18
- package/src/login/pages/delete-credential/index.ts +1 -0
- package/src/login/pages/error/error.component.html +19 -22
- package/src/login/pages/error/error.component.ts +24 -13
- package/src/login/pages/error/index.ts +1 -0
- package/src/login/pages/frontchannel-logout/frontchannel-logout.component.html +25 -34
- package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +24 -17
- package/src/login/pages/frontchannel-logout/index.ts +1 -0
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +29 -38
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +35 -37
- package/src/login/pages/idp-review-user-profile/index.ts +1 -0
- package/src/login/pages/info/index.ts +1 -0
- package/src/login/pages/info/info.component.html +41 -50
- package/src/login/pages/info/info.component.ts +24 -18
- package/src/login/pages/login/index.ts +1 -0
- package/src/login/pages/login/login.component.html +187 -195
- package/src/login/pages/login/login.component.ts +29 -22
- package/src/login/pages/login-config-totp/index.ts +1 -0
- package/src/login/pages/login-config-totp/login-config-totp.component.html +181 -190
- package/src/login/pages/login-config-totp/login-config-totp.component.ts +25 -20
- package/src/login/pages/login-idp-link-confirm/index.ts +1 -0
- package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +27 -37
- package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +20 -20
- package/src/login/pages/login-idp-link-confirm-override/index.ts +1 -0
- package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +26 -36
- package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +20 -20
- package/src/login/pages/login-idp-link-email/index.ts +1 -0
- package/src/login/pages/login-idp-link-email/login-idp-link-email.component.html +26 -34
- package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +20 -20
- package/src/login/pages/login-oauth-grant/index.ts +1 -0
- package/src/login/pages/login-oauth-grant/login-oauth-grant.component.html +76 -84
- package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +20 -20
- package/src/login/pages/login-oauth2-device-verify-user-code/index.ts +1 -0
- package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +49 -58
- package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +23 -18
- package/src/login/pages/login-otp/index.ts +1 -0
- package/src/login/pages/login-otp/login-otp.component.html +89 -98
- package/src/login/pages/login-otp/login-otp.component.ts +24 -18
- package/src/login/pages/login-page-expired/index.ts +1 -0
- package/src/login/pages/login-page-expired/login-page-expired.component.html +25 -33
- package/src/login/pages/login-page-expired/login-page-expired.component.ts +22 -17
- package/src/login/pages/login-passkeys-conditional-authenticate/index.ts +1 -0
- package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +173 -179
- package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +24 -15
- package/src/login/pages/login-password/index.ts +1 -0
- package/src/login/pages/login-password/login-password.component.html +75 -83
- package/src/login/pages/login-password/login-password.component.ts +26 -19
- package/src/login/pages/login-recovery-authn-code-config/index.ts +1 -0
- package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +136 -145
- package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +26 -19
- package/src/login/pages/login-recovery-authn-code-input/index.ts +1 -0
- package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +59 -69
- package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +24 -18
- package/src/login/pages/login-reset-otp/index.ts +1 -0
- package/src/login/pages/login-reset-otp/login-reset-otp.component.html +54 -62
- package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +23 -17
- package/src/login/pages/login-reset-password/index.ts +1 -0
- package/src/login/pages/login-reset-password/login-reset-password.component.html +78 -86
- package/src/login/pages/login-reset-password/login-reset-password.component.ts +24 -18
- package/src/login/pages/login-update-password/index.ts +1 -0
- package/src/login/pages/login-update-password/login-update-password.component.html +98 -108
- package/src/login/pages/login-update-password/login-update-password.component.ts +25 -19
- package/src/login/pages/login-update-profile/index.ts +1 -0
- package/src/login/pages/login-update-profile/login-update-profile.component.html +44 -54
- package/src/login/pages/login-update-profile/login-update-profile.component.ts +36 -18
- package/src/login/pages/login-username/index.ts +1 -0
- package/src/login/pages/login-username/login-username.component.html +141 -149
- package/src/login/pages/login-username/login-username.component.ts +25 -19
- package/src/login/pages/login-verify-email/index.ts +1 -0
- package/src/login/pages/login-verify-email/login-verify-email.component.html +18 -26
- package/src/login/pages/login-verify-email/login-verify-email.component.ts +23 -18
- package/src/login/pages/login-x509-info/index.ts +1 -0
- package/src/login/pages/login-x509-info/login-x509-info.component.html +85 -94
- package/src/login/pages/login-x509-info/login-x509-info.component.ts +23 -18
- package/src/login/pages/logout-confirm/index.ts +1 -0
- package/src/login/pages/logout-confirm/logout-confirm.component.html +39 -49
- package/src/login/pages/logout-confirm/logout-confirm.component.ts +20 -20
- package/src/login/pages/register/index.ts +1 -0
- package/src/login/pages/register/register.component.html +101 -111
- package/src/login/pages/register/register.component.ts +39 -22
- package/src/login/pages/saml-post-form/index.ts +1 -0
- package/src/login/pages/saml-post-form/saml-post-form.component.html +39 -48
- package/src/login/pages/saml-post-form/saml-post-form.component.ts +26 -21
- package/src/login/pages/select-authenticator/index.ts +1 -0
- package/src/login/pages/select-authenticator/select-authenticator.component.html +37 -45
- package/src/login/pages/select-authenticator/select-authenticator.component.ts +24 -18
- package/src/login/pages/terms/index.ts +1 -0
- package/src/login/pages/terms/terms.component.html +25 -34
- package/src/login/pages/terms/terms.component.ts +24 -18
- package/src/login/pages/update-email/index.ts +1 -0
- package/src/login/pages/update-email/update-email.component.html +44 -53
- package/src/login/pages/update-email/update-email.component.ts +35 -22
- package/src/login/pages/webauthn-authenticate/index.ts +1 -0
- package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +135 -145
- package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +26 -20
- package/src/login/pages/webauthn-error/index.ts +1 -0
- package/src/login/pages/webauthn-error/webauthn-error.component.html +45 -55
- package/src/login/pages/webauthn-error/webauthn-error.component.ts +25 -19
- package/src/login/pages/webauthn-register/index.ts +1 -0
- package/src/login/pages/webauthn-register/webauthn-register.component.html +65 -75
- package/src/login/pages/webauthn-register/webauthn-register.component.ts +27 -21
- package/src/login/providers/keycloakify-angular/index.ts +1 -0
- package/src/login/providers/{keycloakify-angular.providers.ts → keycloakify-angular/keycloakify-angular.providers.ts} +12 -18
- package/src/login/services/i18n/i18n.service.ts +7 -0
- package/src/login/services/i18n/index.ts +1 -0
- package/src/login/services/login-resource-injector/index.ts +1 -0
- package/src/login/services/{login-resource-injector.service.ts → login-resource-injector/login-resource-injector.service.ts} +4 -4
- package/src/login/services/submit/index.ts +1 -0
- package/src/login/services/submit/submit.service.ts +12 -0
- package/src/login/services/user-profile-form/index.ts +1 -0
- package/src/login/services/{user-profile-form.service.ts → user-profile-form/user-profile-form.service.ts} +6 -6
- package/src/login/tokens/{classes.token.ts → classes/classes.token.ts} +1 -1
- package/src/login/tokens/classes/index.ts +1 -0
- package/src/login/tokens/i18n/index.ts +1 -0
- package/src/login/tokens/kc-context/index.ts +1 -0
- package/src/login/tokens/{kc-context.token.ts → kc-context/kc-context.token.ts} +1 -1
- package/src/login/tokens/make-user-confirm-password/index.ts +1 -0
- package/lib/models/script.model.js +0 -2
- package/lib/services/resource-injector.service.js +0 -54
- package/lib/tokens/use-default-css.token.js +0 -3
- package/login/DefaultPage.d.ts +0 -260
- package/login/DefaultPage.js +0 -121
- package/login/KcContext.js +0 -2
- package/login/classes/component-reference.class.js +0 -3
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.js +0 -106
- package/login/components/field-errors/field-errors.component.js +0 -33
- package/login/components/group-label/group-label.component.js +0 -43
- package/login/components/input-field-by-type/input-field-by-type.component.js +0 -46
- package/login/components/input-tag/input-tag.component.js +0 -90
- package/login/components/input-tag-selects/input-tag-selects.component.js +0 -117
- package/login/components/logout-other-sessions/logout-other-sessions.component.js +0 -32
- package/login/components/password-wrapper/password-wrapper.component.js +0 -46
- package/login/components/select-tag/select-tag.component.js +0 -82
- package/login/components/textarea-tag/textarea-tag.component.js +0 -49
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.js +0 -59
- package/login/containers/template.component.d.ts +0 -31
- package/login/containers/template.component.js +0 -72
- package/login/directives/attributes.directive.js +0 -26
- package/login/directives/kc-class.directive.js +0 -138
- package/login/i18n.js +0 -2
- package/login/pages/code/code.component.js +0 -35
- package/login/pages/delete-account-confirm/delete-account-confirm.component.js +0 -35
- package/login/pages/delete-credential/delete-credential.component.js +0 -40
- package/login/pages/error/error.component.js +0 -35
- package/login/pages/frontchannel-logout/frontchannel-logout.component.js +0 -44
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.js +0 -57
- package/login/pages/info/info.component.js +0 -49
- package/login/pages/login/login.component.js +0 -44
- package/login/pages/login-config-totp/login-config-totp.component.js +0 -42
- package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.js +0 -40
- package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.js +0 -40
- package/login/pages/login-idp-link-email/login-idp-link-email.component.js +0 -40
- package/login/pages/login-oauth-grant/login-oauth-grant.component.js +0 -40
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.js +0 -40
- package/login/pages/login-otp/login-otp.component.js +0 -41
- package/login/pages/login-page-expired/login-page-expired.component.js +0 -39
- package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.js +0 -84
- package/login/pages/login-password/login-password.component.js +0 -43
- package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.js +0 -43
- package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.js +0 -41
- package/login/pages/login-reset-otp/login-reset-otp.component.js +0 -40
- package/login/pages/login-reset-password/login-reset-password.component.js +0 -41
- package/login/pages/login-update-password/login-update-password.component.js +0 -43
- package/login/pages/login-update-profile/login-update-profile.component.js +0 -42
- package/login/pages/login-username/login-username.component.js +0 -43
- package/login/pages/login-verify-email/login-verify-email.component.js +0 -40
- package/login/pages/login-x509-info/login-x509-info.component.js +0 -40
- package/login/pages/logout-confirm/logout-confirm.component.js +0 -40
- package/login/pages/register/register.component.js +0 -48
- package/login/pages/saml-post-form/saml-post-form.component.js +0 -52
- package/login/pages/select-authenticator/select-authenticator.component.js +0 -41
- package/login/pages/terms/terms.component.js +0 -40
- package/login/pages/update-email/update-email.component.js +0 -43
- package/login/pages/webauthn-authenticate/webauthn-authenticate.component.js +0 -80
- package/login/pages/webauthn-error/webauthn-error.component.js +0 -49
- package/login/pages/webauthn-register/webauthn-register.component.js +0 -76
- package/login/pipes/input-type.pipe.js +0 -20
- package/login/pipes/kc-sanitize.pipe.js +0 -29
- package/login/pipes/to-array.pipe.js +0 -20
- package/login/pipes/to-number.pipe.js +0 -20
- package/login/providers/keycloakify-angular.providers.js +0 -58
- package/login/services/i18n.service.js +0 -12
- package/login/services/login-resource-injector.service.js +0 -68
- package/login/services/user-profile-form.service.js +0 -1019
- package/login/tokens/classes.token.js +0 -3
- package/login/tokens/i18n.token.js +0 -3
- package/login/tokens/kc-context.token.js +0 -3
- package/login/tokens/make-user-confirm-password.token.js +0 -3
- package/login/tokens/user-profile-form-fields-ejected-path.token.d.ts +0 -2
- package/login/tokens/user-profile-form-fields-ejected-path.token.js +0 -3
- package/src/login/DefaultPage.ts +0 -208
- package/src/login/containers/template.component.ts +0 -78
- package/src/login/tokens/user-profile-form-fields-ejected-path.token.ts +0 -3
- package/src/tsconfig.json +0 -23
- /package/{login/services → account/services/i18n}/i18n.service.d.ts +0 -0
- /package/{login/directives → lib/directives/attributes}/attributes.directive.d.ts +0 -0
- /package/lib/models/{script.model.d.ts → script/script.model.d.ts} +0 -0
- /package/{login/pipes → lib/pipes/input-type}/input-type.pipe.d.ts +0 -0
- /package/{login/pipes → lib/pipes/kc-sanitize}/kc-sanitize.pipe.d.ts +0 -0
- /package/{login/pipes → lib/pipes/to-array}/to-array.pipe.d.ts +0 -0
- /package/{login/pipes → lib/pipes/to-number}/to-number.pipe.d.ts +0 -0
- /package/lib/tokens/{use-default-css.token.d.ts → use-default-css/use-default-css.token.d.ts} +0 -0
- /package/login/{KcContext.d.ts → KcContext/KcContext.d.ts} +0 -0
- /package/login/directives/{kc-class.directive.d.ts → kc-class/kc-class.directive.d.ts} +0 -0
- /package/login/{i18n.d.ts → i18n/i18n.d.ts} +0 -0
- /package/login/tokens/{classes.token.d.ts → classes/classes.token.d.ts} +0 -0
- /package/login/tokens/{i18n.token.d.ts → i18n/i18n.token.d.ts} +0 -0
- /package/login/tokens/{make-user-confirm-password.token.d.ts → make-user-confirm-password/make-user-confirm-password.token.d.ts} +0 -0
- /package/src/{login/services → account/services/i18n}/i18n.service.ts +0 -0
- /package/src/{login/directives → lib/directives/attributes}/attributes.directive.ts +0 -0
- /package/src/lib/models/{script.model.ts → script/script.model.ts} +0 -0
- /package/src/{login/pipes → lib/pipes/input-type}/input-type.pipe.ts +0 -0
- /package/src/{login/pipes → lib/pipes/kc-sanitize}/kc-sanitize.pipe.ts +0 -0
- /package/src/{login/pipes → lib/pipes/to-number}/to-number.pipe.ts +0 -0
- /package/src/lib/tokens/{use-default-css.token.ts → use-default-css/use-default-css.token.ts} +0 -0
- /package/src/login/tokens/{i18n.token.ts → i18n/i18n.token.ts} +0 -0
- /package/src/login/tokens/{make-user-confirm-password.token.ts → make-user-confirm-password/make-user-confirm-password.token.ts} +0 -0
- /package/{stories → src/stories}/login/pages/login/login.stories.ts +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { APP_INITIALIZER, LOCALE_ID, makeEnvironmentProviders } from '@angular/core';
|
|
3
|
+
import { I18nService } from '@keycloakify/angular/account/services/i18n';
|
|
4
|
+
import { ACCOUNT_CLASSES } from '@keycloakify/angular/account/tokens/classes';
|
|
5
|
+
import { ACCOUNT_I18N } from '@keycloakify/angular/account/tokens/i18n';
|
|
6
|
+
import { KC_ACCOUNT_CONTEXT } from '@keycloakify/angular/account/tokens/kc-context';
|
|
7
|
+
import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
|
|
8
|
+
import { type KcContextLike } from 'keycloakify/account/i18n/noJsx';
|
|
9
|
+
import type { ClassKey } from 'keycloakify/account/lib/kcClsx';
|
|
10
|
+
import type { KcContext } from '@keycloakify/angular/account/KcContext';
|
|
11
|
+
|
|
12
|
+
export type KeycloakifyAngularAccountConfig = {
|
|
13
|
+
doUseDefaultCss?: boolean;
|
|
14
|
+
classes?: { [key in ClassKey]?: string };
|
|
15
|
+
kcContext: KcContext;
|
|
16
|
+
getI18n: (params: { kcContext: KcContextLike }) => {
|
|
17
|
+
i18n: unknown;
|
|
18
|
+
prI18n_currentLanguage: Promise<unknown> | undefined;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const provideKeycloakifyAngular = (config: KeycloakifyAngularAccountConfig) =>
|
|
23
|
+
makeEnvironmentProviders([
|
|
24
|
+
{
|
|
25
|
+
provide: KC_ACCOUNT_CONTEXT,
|
|
26
|
+
useValue: config.kcContext
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
provide: LOCALE_ID,
|
|
30
|
+
useFactory: (document: Document) => {
|
|
31
|
+
return document.documentElement.lang ?? 'en';
|
|
32
|
+
},
|
|
33
|
+
deps: [DOCUMENT]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
provide: APP_INITIALIZER,
|
|
37
|
+
multi: true,
|
|
38
|
+
useFactory: (i18nService: I18nService, kcContext: KcContext) => async () => {
|
|
39
|
+
const getI18n = config.getI18n;
|
|
40
|
+
|
|
41
|
+
const { i18n, prI18n_currentLanguage } = getI18n({
|
|
42
|
+
kcContext
|
|
43
|
+
});
|
|
44
|
+
let i18nPromise = new Promise<typeof i18n>(resolve => resolve(i18n));
|
|
45
|
+
if (prI18n_currentLanguage) {
|
|
46
|
+
i18nPromise = prI18n_currentLanguage;
|
|
47
|
+
}
|
|
48
|
+
return i18nPromise.then(i18n => {
|
|
49
|
+
i18nService.i18n = i18n;
|
|
50
|
+
return true;
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
deps: [I18nService, KC_ACCOUNT_CONTEXT]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
provide: ACCOUNT_I18N,
|
|
57
|
+
useFactory: (i18nService: I18nService) => i18nService.i18n,
|
|
58
|
+
deps: [I18nService]
|
|
59
|
+
},
|
|
60
|
+
{ provide: USE_DEFAULT_CSS, useValue: config?.doUseDefaultCss ?? true },
|
|
61
|
+
{ provide: ACCOUNT_CLASSES, useValue: config?.classes ?? {} }
|
|
62
|
+
]);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { KC_ACCOUNT_CONTEXT } from '@keycloakify/angular/account/tokens/kc-context';
|
|
3
|
+
import { Script } from '@keycloakify/angular/lib/models/script';
|
|
4
|
+
import { ResourceInjectorService } from '@keycloakify/angular/lib/services/resource-injector';
|
|
5
|
+
import { catchError, forkJoin, of, switchMap } from 'rxjs';
|
|
6
|
+
import type { KcContext } from '@keycloakify/angular/account/KcContext';
|
|
7
|
+
|
|
8
|
+
@Injectable({
|
|
9
|
+
providedIn: 'root'
|
|
10
|
+
})
|
|
11
|
+
export class AccountResourceInjectorService {
|
|
12
|
+
private kcContext: KcContext = inject<KcContext>(KC_ACCOUNT_CONTEXT);
|
|
13
|
+
private resourceInjectorService: ResourceInjectorService = inject(
|
|
14
|
+
ResourceInjectorService
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
injectResource(doUseDefaultCss = true) {
|
|
18
|
+
if (!doUseDefaultCss) {
|
|
19
|
+
return of(true);
|
|
20
|
+
}
|
|
21
|
+
const stylesheets = [
|
|
22
|
+
`${this.kcContext.url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly.min.css`,
|
|
23
|
+
`${this.kcContext.url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly-additions.min.css`,
|
|
24
|
+
`${this.kcContext.url.resourcesPath}/css/account.css`
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
return forkJoin(
|
|
28
|
+
stylesheets.map(url => this.resourceInjectorService.createLink(url))
|
|
29
|
+
).pipe(
|
|
30
|
+
switchMap(() => of(true)),
|
|
31
|
+
catchError(error => {
|
|
32
|
+
console.error('Error loading styles:', error);
|
|
33
|
+
return of(false);
|
|
34
|
+
})
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
insertAdditionalScripts(scripts: Script[]) {
|
|
39
|
+
scripts.map(script => this.resourceInjectorService.createScript(script));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './account-resource-injector.service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './i18n.service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './classes.token';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './i18n.token';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './kc-context.token';
|
package/src/bin/core.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from 'keycloakify/bin/shared/customHandler';
|
|
2
|
+
export type { BuildContext } from 'keycloakify/bin/shared/buildContext';
|
|
3
|
+
export {
|
|
4
|
+
LOGIN_THEME_PAGE_IDS,
|
|
5
|
+
ACCOUNT_THEME_PAGE_IDS,
|
|
6
|
+
type LoginThemePageId,
|
|
7
|
+
type AccountThemePageId,
|
|
8
|
+
THEME_TYPES,
|
|
9
|
+
type ThemeType
|
|
10
|
+
} from 'keycloakify/bin/shared/constants';
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { getThisCodebaseRootDirPath } from './tools/getThisCodebaseRootDirPath';
|
|
4
|
+
import cliSelect from 'cli-select';
|
|
5
|
+
import {
|
|
6
|
+
type BuildContext,
|
|
7
|
+
LOGIN_THEME_PAGE_IDS,
|
|
8
|
+
ACCOUNT_THEME_PAGE_IDS,
|
|
9
|
+
type LoginThemePageId,
|
|
10
|
+
type AccountThemePageId,
|
|
11
|
+
THEME_TYPES,
|
|
12
|
+
type ThemeType
|
|
13
|
+
} from './core';
|
|
14
|
+
import * as fs from 'fs';
|
|
15
|
+
import {
|
|
16
|
+
join as pathJoin,
|
|
17
|
+
relative as pathRelative,
|
|
18
|
+
sep as pathSep,
|
|
19
|
+
dirname as pathDirname,
|
|
20
|
+
posix as pathPosix
|
|
21
|
+
} from 'path';
|
|
22
|
+
import { assert, Equals } from 'tsafe/assert';
|
|
23
|
+
import chalk from 'chalk';
|
|
24
|
+
import { transformCodebase } from './tools/transformCodebase';
|
|
25
|
+
import { kebabCaseToCamelCase } from './tools/kebabCaseToSnakeCase';
|
|
26
|
+
import { replaceAll } from './tools/String.prototype.replaceAll';
|
|
27
|
+
import { capitalize } from 'tsafe/capitalize';
|
|
28
|
+
import { id } from 'tsafe/id';
|
|
29
|
+
import { z } from 'zod';
|
|
30
|
+
import { is } from 'tsafe/is';
|
|
31
|
+
import * as child_process from 'child_process';
|
|
32
|
+
|
|
33
|
+
export async function command(params: { buildContext: BuildContext }) {
|
|
34
|
+
const { buildContext } = params;
|
|
35
|
+
|
|
36
|
+
console.log(chalk.cyan('Theme type:'));
|
|
37
|
+
|
|
38
|
+
const themeType = await (async () => {
|
|
39
|
+
const values = THEME_TYPES.filter(themeType => {
|
|
40
|
+
switch (themeType) {
|
|
41
|
+
case 'account':
|
|
42
|
+
return buildContext.implementedThemeTypes.account.isImplemented;
|
|
43
|
+
case 'login':
|
|
44
|
+
return buildContext.implementedThemeTypes.login.isImplemented;
|
|
45
|
+
}
|
|
46
|
+
assert<Equals<typeof themeType, never>>(false);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
assert(values.length > 0, 'No theme is implemented in this project');
|
|
50
|
+
|
|
51
|
+
if (values.length === 1) {
|
|
52
|
+
return values[0];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const { value } = await cliSelect<ThemeType>({
|
|
56
|
+
values
|
|
57
|
+
}).catch(() => {
|
|
58
|
+
process.exit(-1);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return value;
|
|
62
|
+
})();
|
|
63
|
+
|
|
64
|
+
console.log(`→ ${themeType}`);
|
|
65
|
+
|
|
66
|
+
console.log(chalk.cyan('Select the page you want to customize:'));
|
|
67
|
+
|
|
68
|
+
const templateValue = 'template.ftl (Layout common to every page)';
|
|
69
|
+
const userProfileFormFieldsValue =
|
|
70
|
+
'user-profile-commons.ftl (Renders the form of the register.ftl, login-update-profile.ftl, update-email.ftl and idp-review-user-profile.ftl)';
|
|
71
|
+
|
|
72
|
+
const { value: pageIdOrComponent } = await cliSelect<
|
|
73
|
+
| LoginThemePageId
|
|
74
|
+
| AccountThemePageId
|
|
75
|
+
| typeof templateValue
|
|
76
|
+
| typeof userProfileFormFieldsValue
|
|
77
|
+
>({
|
|
78
|
+
values: (() => {
|
|
79
|
+
switch (themeType) {
|
|
80
|
+
case 'login':
|
|
81
|
+
return [
|
|
82
|
+
templateValue,
|
|
83
|
+
userProfileFormFieldsValue,
|
|
84
|
+
...LOGIN_THEME_PAGE_IDS
|
|
85
|
+
];
|
|
86
|
+
case 'account':
|
|
87
|
+
return [templateValue, ...ACCOUNT_THEME_PAGE_IDS];
|
|
88
|
+
}
|
|
89
|
+
assert<Equals<typeof themeType, never>>(false);
|
|
90
|
+
})()
|
|
91
|
+
}).catch(() => {
|
|
92
|
+
process.exit(-1);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
console.log(`→ ${pageIdOrComponent}`);
|
|
96
|
+
|
|
97
|
+
const componentRelativeDirPath_posix_to_componentRelativeFilePath_posix = (params: {
|
|
98
|
+
componentRelativeDirPath_posix: string;
|
|
99
|
+
}) => {
|
|
100
|
+
const { componentRelativeDirPath_posix } = params;
|
|
101
|
+
return `${componentRelativeDirPath_posix}/${pathPosix.basename(componentRelativeDirPath_posix)}.component`;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const componentDirRelativeToThemeTypePath = (() => {
|
|
105
|
+
if (pageIdOrComponent === templateValue) {
|
|
106
|
+
return pathJoin('containers', 'template');
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (pageIdOrComponent === userProfileFormFieldsValue) {
|
|
110
|
+
return pathJoin('components', 'user-profile-form-fields');
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return pathJoin('pages', pageIdOrComponent.replace(/\.ftl$/, ''));
|
|
114
|
+
})();
|
|
115
|
+
|
|
116
|
+
{
|
|
117
|
+
const componentDirRelativeToThemeTypePaths = [
|
|
118
|
+
componentDirRelativeToThemeTypePath
|
|
119
|
+
];
|
|
120
|
+
|
|
121
|
+
while (componentDirRelativeToThemeTypePaths.length !== 0) {
|
|
122
|
+
const componentDirRelativeToThemeTypePath_i =
|
|
123
|
+
componentDirRelativeToThemeTypePaths.pop();
|
|
124
|
+
|
|
125
|
+
assert(componentDirRelativeToThemeTypePath_i !== undefined);
|
|
126
|
+
|
|
127
|
+
const destDirPath = pathJoin(
|
|
128
|
+
buildContext.themeSrcDirPath,
|
|
129
|
+
themeType,
|
|
130
|
+
componentDirRelativeToThemeTypePath_i
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
if (fs.existsSync(destDirPath) && fs.readdirSync(destDirPath).length !== 0) {
|
|
134
|
+
if (
|
|
135
|
+
componentDirRelativeToThemeTypePath_i ===
|
|
136
|
+
componentDirRelativeToThemeTypePath
|
|
137
|
+
) {
|
|
138
|
+
console.log(
|
|
139
|
+
`${pageIdOrComponent.split('.ftl')[0]} is already ejected, ${pathRelative(
|
|
140
|
+
process.cwd(),
|
|
141
|
+
destDirPath
|
|
142
|
+
)} already exists`
|
|
143
|
+
);
|
|
144
|
+
process.exit(-1);
|
|
145
|
+
}
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const localThemeTypeDirPath = pathJoin(
|
|
150
|
+
getThisCodebaseRootDirPath(),
|
|
151
|
+
'src',
|
|
152
|
+
themeType
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
transformCodebase({
|
|
156
|
+
srcDirPath: pathJoin(
|
|
157
|
+
localThemeTypeDirPath,
|
|
158
|
+
componentDirRelativeToThemeTypePath_i
|
|
159
|
+
),
|
|
160
|
+
destDirPath,
|
|
161
|
+
transformSourceCode: ({ filePath, sourceCode }) => {
|
|
162
|
+
if (!filePath.endsWith('.ts')) {
|
|
163
|
+
return { modifiedSourceCode: sourceCode };
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (filePath.endsWith('index.ts')) {
|
|
167
|
+
return undefined;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const fileRelativeToThemeTypePath = pathRelative(
|
|
171
|
+
localThemeTypeDirPath,
|
|
172
|
+
filePath
|
|
173
|
+
);
|
|
174
|
+
|
|
175
|
+
let modifiedSourceCode_str = sourceCode.toString();
|
|
176
|
+
|
|
177
|
+
const getPosixPathRelativeToFile = (params: {
|
|
178
|
+
pathRelativeToThemeType: string;
|
|
179
|
+
}) => {
|
|
180
|
+
const { pathRelativeToThemeType } = params;
|
|
181
|
+
|
|
182
|
+
const path = pathRelative(
|
|
183
|
+
pathDirname(fileRelativeToThemeTypePath),
|
|
184
|
+
pathRelativeToThemeType
|
|
185
|
+
)
|
|
186
|
+
.split(pathSep)
|
|
187
|
+
.join('/');
|
|
188
|
+
|
|
189
|
+
return path.startsWith('.') ? path : `./${path}`;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
modifiedSourceCode_str = replaceAll(
|
|
193
|
+
modifiedSourceCode_str,
|
|
194
|
+
`@keycloakify/angular/${themeType}/i18n`,
|
|
195
|
+
getPosixPathRelativeToFile({
|
|
196
|
+
pathRelativeToThemeType: 'i18n'
|
|
197
|
+
})
|
|
198
|
+
);
|
|
199
|
+
|
|
200
|
+
modifiedSourceCode_str = replaceAll(
|
|
201
|
+
modifiedSourceCode_str,
|
|
202
|
+
`@keycloakify/angular/${themeType}/KcContext`,
|
|
203
|
+
getPosixPathRelativeToFile({
|
|
204
|
+
pathRelativeToThemeType: 'KcContext'
|
|
205
|
+
})
|
|
206
|
+
);
|
|
207
|
+
|
|
208
|
+
modifiedSourceCode_str = modifiedSourceCode_str.replace(
|
|
209
|
+
new RegExp(
|
|
210
|
+
`@keycloakify/angular/${themeType}/components/([^'"]+)`,
|
|
211
|
+
'g'
|
|
212
|
+
),
|
|
213
|
+
(...[, componentDirRelativeToComponentsPath]) => {
|
|
214
|
+
const componentDirRelativeToThemeTypePath = pathJoin(
|
|
215
|
+
'components',
|
|
216
|
+
componentDirRelativeToComponentsPath
|
|
217
|
+
);
|
|
218
|
+
|
|
219
|
+
componentDirRelativeToThemeTypePaths.push(
|
|
220
|
+
componentDirRelativeToThemeTypePath
|
|
221
|
+
);
|
|
222
|
+
|
|
223
|
+
return componentRelativeDirPath_posix_to_componentRelativeFilePath_posix(
|
|
224
|
+
{
|
|
225
|
+
componentRelativeDirPath_posix:
|
|
226
|
+
getPosixPathRelativeToFile({
|
|
227
|
+
pathRelativeToThemeType:
|
|
228
|
+
componentDirRelativeToThemeTypePath
|
|
229
|
+
})
|
|
230
|
+
}
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
);
|
|
234
|
+
|
|
235
|
+
return {
|
|
236
|
+
modifiedSourceCode: Buffer.from(modifiedSourceCode_str, 'utf8')
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
console.log(
|
|
242
|
+
`${chalk.green('✓')} ${chalk.bold(
|
|
243
|
+
`.${pathSep}` + pathRelative(process.cwd(), destDirPath)
|
|
244
|
+
)} moved from the @keycloakify/angular to your project`
|
|
245
|
+
);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
run_format: {
|
|
250
|
+
const parsedPackageJson = (() => {
|
|
251
|
+
type ParsedPackageJson = {
|
|
252
|
+
scripts?: Record<string, string>;
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
const zParsedPackageJson = (() => {
|
|
256
|
+
type TargetType = ParsedPackageJson;
|
|
257
|
+
|
|
258
|
+
const zTargetType = z.object({
|
|
259
|
+
scripts: z.record(z.string()).optional()
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
assert<Equals<z.infer<typeof zTargetType>, TargetType>>();
|
|
263
|
+
|
|
264
|
+
return id<z.ZodType<TargetType>>(zTargetType);
|
|
265
|
+
})();
|
|
266
|
+
|
|
267
|
+
const parsedPackageJson = JSON.parse(
|
|
268
|
+
fs.readFileSync(buildContext.packageJsonFilePath).toString('utf8')
|
|
269
|
+
);
|
|
270
|
+
|
|
271
|
+
zParsedPackageJson.parse(parsedPackageJson);
|
|
272
|
+
|
|
273
|
+
assert(is<ParsedPackageJson>(parsedPackageJson));
|
|
274
|
+
|
|
275
|
+
return parsedPackageJson;
|
|
276
|
+
})();
|
|
277
|
+
|
|
278
|
+
const { scripts } = parsedPackageJson;
|
|
279
|
+
|
|
280
|
+
if (scripts === undefined) {
|
|
281
|
+
break run_format;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
for (const scriptName of ['format', 'lint']) {
|
|
285
|
+
if (!(scriptName in scripts)) {
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
const command = `npm run ${scriptName}`;
|
|
290
|
+
|
|
291
|
+
console.log(chalk.grey(`$ ${command}`));
|
|
292
|
+
|
|
293
|
+
try {
|
|
294
|
+
child_process.execSync(`npm run ${scriptName}`, {
|
|
295
|
+
stdio: 'inherit',
|
|
296
|
+
cwd: pathDirname(buildContext.packageJsonFilePath)
|
|
297
|
+
});
|
|
298
|
+
} catch {
|
|
299
|
+
console.log(
|
|
300
|
+
chalk.yellow(
|
|
301
|
+
`\`${command}\` failed, please format your code manually, continuing...`
|
|
302
|
+
)
|
|
303
|
+
);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
break run_format;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
edit_KcPage: {
|
|
311
|
+
if (
|
|
312
|
+
pageIdOrComponent !== templateValue &&
|
|
313
|
+
pageIdOrComponent !== userProfileFormFieldsValue
|
|
314
|
+
) {
|
|
315
|
+
break edit_KcPage;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
const kcAppTsFilePath = pathJoin(
|
|
319
|
+
buildContext.themeSrcDirPath,
|
|
320
|
+
themeType,
|
|
321
|
+
'KcPage.ts'
|
|
322
|
+
);
|
|
323
|
+
|
|
324
|
+
const kcAppTsCode = fs.readFileSync(kcAppTsFilePath).toString('utf8');
|
|
325
|
+
|
|
326
|
+
const modifiedKcAppTsCode = (() => {
|
|
327
|
+
const componentRelativeDirPath_posix = componentDirRelativeToThemeTypePath
|
|
328
|
+
.split(pathSep)
|
|
329
|
+
.join('/');
|
|
330
|
+
|
|
331
|
+
return kcAppTsCode.replace(
|
|
332
|
+
`@keycloakify/angular/${themeType}/${componentRelativeDirPath_posix}`,
|
|
333
|
+
componentRelativeDirPath_posix_to_componentRelativeFilePath_posix({
|
|
334
|
+
componentRelativeDirPath_posix: `./${componentRelativeDirPath_posix}`
|
|
335
|
+
})
|
|
336
|
+
);
|
|
337
|
+
})();
|
|
338
|
+
|
|
339
|
+
if (modifiedKcAppTsCode === kcAppTsCode) {
|
|
340
|
+
console.log(
|
|
341
|
+
chalk.red(
|
|
342
|
+
'Unable to automatically update KcPage.ts, please update it manually'
|
|
343
|
+
)
|
|
344
|
+
);
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
fs.writeFileSync(kcAppTsFilePath, Buffer.from(modifiedKcAppTsCode, 'utf8'));
|
|
349
|
+
|
|
350
|
+
console.log(
|
|
351
|
+
`${chalk.green('✓')} ${chalk.bold(
|
|
352
|
+
`.${pathSep}` + pathRelative(process.cwd(), kcAppTsFilePath)
|
|
353
|
+
)} Updated`
|
|
354
|
+
);
|
|
355
|
+
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
const pageId = pageIdOrComponent;
|
|
360
|
+
|
|
361
|
+
console.log(
|
|
362
|
+
[
|
|
363
|
+
``,
|
|
364
|
+
`You now need to update your page router:`,
|
|
365
|
+
``,
|
|
366
|
+
`${chalk.bold(
|
|
367
|
+
pathJoin(
|
|
368
|
+
'.',
|
|
369
|
+
pathRelative(process.cwd(), buildContext.themeSrcDirPath),
|
|
370
|
+
themeType,
|
|
371
|
+
'KcPage.ts'
|
|
372
|
+
)
|
|
373
|
+
)}:`,
|
|
374
|
+
chalk.grey('```'),
|
|
375
|
+
`// ...`,
|
|
376
|
+
``,
|
|
377
|
+
...[
|
|
378
|
+
` export async function getKcPage(pageId: KcContext['pageId']): Promise<KcPage> {`,
|
|
379
|
+
` switch (pageId) {`,
|
|
380
|
+
`+ case '${pageId}':`,
|
|
381
|
+
`+ return {`,
|
|
382
|
+
`+ PageComponent: (await import('${componentRelativeDirPath_posix_to_componentRelativeFilePath_posix(
|
|
383
|
+
{
|
|
384
|
+
componentRelativeDirPath_posix: `./${componentDirRelativeToThemeTypePath.split(pathSep).join('/')}`
|
|
385
|
+
}
|
|
386
|
+
)}')).${kebabCaseToCamelCase(capitalize(pageId).replace(/\.ftl$/, ''))}Component,`,
|
|
387
|
+
`+ TemplateComponent,`,
|
|
388
|
+
...(themeType === 'login'
|
|
389
|
+
? [`+ UserProfileFormFieldsComponent,`]
|
|
390
|
+
: []),
|
|
391
|
+
...(themeType === 'login' ? [`+ doMakeUserConfirmPassword,`] : []),
|
|
392
|
+
`+ doUseDefaultCss,`,
|
|
393
|
+
`+ classes,`,
|
|
394
|
+
`+ };`,
|
|
395
|
+
` //...`,
|
|
396
|
+
` default:`,
|
|
397
|
+
` return {`,
|
|
398
|
+
` PageComponent: await getDefaultPageComponent(pageId),`,
|
|
399
|
+
` TemplateComponent,`,
|
|
400
|
+
...(themeType === 'login'
|
|
401
|
+
? [` UserProfileFormFieldsComponent,`]
|
|
402
|
+
: []),
|
|
403
|
+
...(themeType === 'login' ? [` doMakeUserConfirmPassword,`] : []),
|
|
404
|
+
` doUseDefaultCss,`,
|
|
405
|
+
` classes,`,
|
|
406
|
+
` };`,
|
|
407
|
+
` }`,
|
|
408
|
+
` }`
|
|
409
|
+
].map(line => {
|
|
410
|
+
if (line.startsWith('+')) {
|
|
411
|
+
return chalk.green(line);
|
|
412
|
+
}
|
|
413
|
+
if (line.startsWith('-')) {
|
|
414
|
+
return chalk.red(line);
|
|
415
|
+
}
|
|
416
|
+
return chalk.grey(line);
|
|
417
|
+
}),
|
|
418
|
+
chalk.grey('```')
|
|
419
|
+
].join('\n')
|
|
420
|
+
);
|
|
421
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ExtendKcContext } from 'keycloakify/account';
|
|
2
|
+
import type { KcEnvName, ThemeName } from '../kc.gen';
|
|
3
|
+
|
|
4
|
+
export type KcContextExtension = {
|
|
5
|
+
themeName: ThemeName;
|
|
6
|
+
properties: Record<KcEnvName, string> & {};
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type KcContextExtensionPerPage = Record<string, Record<string, unknown>>;
|
|
10
|
+
|
|
11
|
+
export type KcContext = ExtendKcContext<KcContextExtension, KcContextExtensionPerPage>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createGetKcContextMock } from 'keycloakify/account/KcContext';
|
|
2
|
+
import { kcEnvDefaults, themeNames } from '../kc.gen';
|
|
3
|
+
import type { KcContextExtension, KcContextExtensionPerPage } from './KcContext';
|
|
4
|
+
|
|
5
|
+
const kcContextExtension: KcContextExtension = {
|
|
6
|
+
themeName: themeNames[0],
|
|
7
|
+
properties: {
|
|
8
|
+
...kcEnvDefaults
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
const kcContextExtensionPerPage: KcContextExtensionPerPage = {};
|
|
12
|
+
|
|
13
|
+
export const { getKcContextMock } = createGetKcContextMock({
|
|
14
|
+
kcContextExtension,
|
|
15
|
+
kcContextExtensionPerPage,
|
|
16
|
+
overrides: {},
|
|
17
|
+
overridesPerPage: {}
|
|
18
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { getDefaultPageComponent, type KcPage } from '@keycloakify/angular/account';
|
|
2
|
+
import { TemplateComponent } from '@keycloakify/angular/account/containers/template';
|
|
3
|
+
import type { ClassKey } from 'keycloakify/account';
|
|
4
|
+
import type { KcContext } from './KcContext';
|
|
5
|
+
|
|
6
|
+
const classes = {} satisfies { [key in ClassKey]?: string };
|
|
7
|
+
const doUseDefaultCss = true;
|
|
8
|
+
|
|
9
|
+
export async function getKcPage(pageId: KcContext['pageId']): Promise<KcPage> {
|
|
10
|
+
switch (pageId) {
|
|
11
|
+
default:
|
|
12
|
+
return {
|
|
13
|
+
PageComponent: await getDefaultPageComponent(pageId),
|
|
14
|
+
TemplateComponent,
|
|
15
|
+
doUseDefaultCss,
|
|
16
|
+
classes
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { i18nBuilder } from '@keycloakify/angular/account';
|
|
2
|
+
import { ThemeName } from '../kc.gen';
|
|
3
|
+
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5
|
+
const { getI18n, ofTypeI18n } = i18nBuilder
|
|
6
|
+
.withThemeName<ThemeName>()
|
|
7
|
+
.withExtraLanguages({}) // See: https://docs.keycloakify.dev/i18n/adding-support-for-extra-languages
|
|
8
|
+
.withCustomTranslations({}) // See: https://docs.keycloakify.dev/i18n/adding-new-translation-messages-or-changing-the-default-ones
|
|
9
|
+
.build();
|
|
10
|
+
type I18n = typeof ofTypeI18n;
|
|
11
|
+
export { getI18n, type I18n };
|