@keycloakify/angular 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/bin/197.index.js +13 -0
- package/bin/381.index.js +13 -0
- package/bin/504.index.js +13 -0
- package/bin/87.index.js +13 -0
- package/bin/main.js +178 -474
- package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-pages-account.mjs +4 -4
- package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-pages-applications.mjs +4 -4
- package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +4 -4
- package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-pages-log.mjs +4 -4
- package/fesm2022/keycloakify-angular-account-pages-log.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-pages-password.mjs +4 -4
- package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +4 -4
- package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-pages-totp.mjs +4 -4
- package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs +15 -20
- package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-services-i18n.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-account-template.mjs +4 -4
- package/fesm2022/keycloakify-angular-account-template.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-group-label.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-code.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-error.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-info.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-register.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-terms.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs +15 -20
- package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-i18n.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-template.mjs +4 -4
- package/fesm2022/keycloakify-angular-login-template.mjs.map +1 -1
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +1 -1
- package/package.json +2 -185
- package/src/account/pages/account/account.component.ts +0 -1
- package/src/account/pages/applications/applications.component.ts +0 -1
- package/src/account/pages/federatedIdentity/federatedIdentity.component.ts +0 -1
- package/src/account/pages/log/log.component.ts +0 -1
- package/src/account/pages/password/password.component.ts +0 -1
- package/src/account/pages/sessions/sessions.component.ts +0 -1
- package/src/account/pages/totp/totp.component.ts +0 -1
- package/src/account/providers/keycloakify-angular/keycloakify-angular.providers.ts +10 -8
- package/src/account/template/template.component.ts +0 -1
- package/src/bin/add-story.ts +2 -0
- package/src/bin/eject-page.ts +2 -0
- package/src/bin/initialize-account-theme/boilerplate/KcPageStory.ts +0 -1
- package/src/bin/tsconfig.json +3 -4
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +0 -1
- package/src/login/components/field-errors/field-errors.component.ts +0 -1
- package/src/login/components/group-label/group-label.component.ts +0 -1
- package/src/login/components/input-field-by-type/input-field-by-type.component.ts +0 -1
- package/src/login/components/input-tag/input-tag.component.ts +0 -1
- package/src/login/components/input-tag-selects/input-tag-selects.component.ts +0 -1
- package/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +0 -1
- package/src/login/components/password-wrapper/password-wrapper.component.ts +0 -1
- package/src/login/components/select-tag/select-tag.component.ts +0 -1
- package/src/login/components/textarea-tag/textarea-tag.component.ts +0 -1
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +0 -1
- package/src/login/pages/code/code.component.ts +0 -1
- package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +0 -1
- package/src/login/pages/delete-credential/delete-credential.component.ts +0 -1
- package/src/login/pages/error/error.component.ts +0 -1
- package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +0 -1
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +0 -1
- package/src/login/pages/info/info.component.ts +0 -1
- package/src/login/pages/login/login.component.ts +0 -1
- package/src/login/pages/login-config-totp/login-config-totp.component.ts +0 -1
- package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +0 -1
- package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +0 -1
- package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +0 -1
- package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +0 -1
- package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +0 -1
- package/src/login/pages/login-otp/login-otp.component.ts +0 -1
- package/src/login/pages/login-page-expired/login-page-expired.component.ts +0 -1
- package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +0 -1
- package/src/login/pages/login-password/login-password.component.ts +0 -1
- package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +0 -1
- package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +0 -1
- package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +0 -1
- package/src/login/pages/login-reset-password/login-reset-password.component.ts +0 -1
- package/src/login/pages/login-update-password/login-update-password.component.ts +0 -1
- package/src/login/pages/login-update-profile/login-update-profile.component.ts +0 -1
- package/src/login/pages/login-username/login-username.component.ts +0 -1
- package/src/login/pages/login-verify-email/login-verify-email.component.ts +0 -1
- package/src/login/pages/login-x509-info/login-x509-info.component.ts +0 -1
- package/src/login/pages/logout-confirm/logout-confirm.component.ts +0 -1
- package/src/login/pages/register/register.component.ts +0 -1
- package/src/login/pages/saml-post-form/saml-post-form.component.ts +0 -1
- package/src/login/pages/select-authenticator/select-authenticator.component.ts +0 -1
- package/src/login/pages/terms/terms.component.ts +0 -1
- package/src/login/pages/update-email/update-email.component.ts +0 -1
- package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +0 -1
- package/src/login/pages/webauthn-error/webauthn-error.component.ts +0 -1
- package/src/login/pages/webauthn-register/webauthn-register.component.ts +0 -1
- package/src/login/providers/keycloakify-angular/keycloakify-angular.providers.ts +10 -8
- package/src/login/template/template.component.ts +0 -1
- package/bin/108.index.js +0 -306
- package/bin/338.index.js +0 -510
- package/bin/398.index.js +0 -4982
- package/bin/693.index.js +0 -1304
- package/bin/758.index.js +0 -1095
- package/bin/84.index.js +0 -720
- package/esm2022/account/DefaultPage/DefaultPage.mjs +0 -34
- package/esm2022/account/DefaultPage/index.mjs +0 -2
- package/esm2022/account/DefaultPage/keycloakify-angular-account-DefaultPage.mjs +0 -5
- package/esm2022/account/KcContext/KcContext.mjs +0 -2
- package/esm2022/account/KcContext/index.mjs +0 -2
- package/esm2022/account/KcContext/keycloakify-angular-account-KcContext.mjs +0 -5
- package/esm2022/account/account.mjs +0 -3
- package/esm2022/account/classes/component-reference/component-reference.class.mjs +0 -3
- package/esm2022/account/classes/component-reference/index.mjs +0 -2
- package/esm2022/account/classes/component-reference/keycloakify-angular-account-classes-component-reference.mjs +0 -5
- package/esm2022/account/defaultPage.mjs +0 -26
- package/esm2022/account/directives/kc-class/index.mjs +0 -2
- package/esm2022/account/directives/kc-class/kc-class.directive.mjs +0 -141
- package/esm2022/account/directives/kc-class/keycloakify-angular-account-directives-kc-class.mjs +0 -5
- package/esm2022/account/i18n/i18n.mjs +0 -2
- package/esm2022/account/i18n/index.mjs +0 -2
- package/esm2022/account/i18n/keycloakify-angular-account-i18n.mjs +0 -5
- package/esm2022/account/index.mjs +0 -2
- package/esm2022/account/keycloakify-angular-account.mjs +0 -5
- package/esm2022/account/pages/account/account.component.mjs +0 -39
- package/esm2022/account/pages/account/index.mjs +0 -2
- package/esm2022/account/pages/account/keycloakify-angular-account-pages-account.mjs +0 -5
- package/esm2022/account/pages/applications/applications.component.mjs +0 -37
- package/esm2022/account/pages/applications/index.mjs +0 -2
- package/esm2022/account/pages/applications/keycloakify-angular-account-pages-applications.mjs +0 -5
- package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +0 -36
- package/esm2022/account/pages/federatedIdentity/index.mjs +0 -2
- package/esm2022/account/pages/federatedIdentity/keycloakify-angular-account-pages-federatedIdentity.mjs +0 -5
- package/esm2022/account/pages/log/index.mjs +0 -2
- package/esm2022/account/pages/log/keycloakify-angular-account-pages-log.mjs +0 -5
- package/esm2022/account/pages/log/log.component.mjs +0 -36
- package/esm2022/account/pages/password/index.mjs +0 -2
- package/esm2022/account/pages/password/keycloakify-angular-account-pages-password.mjs +0 -5
- package/esm2022/account/pages/password/password.component.mjs +0 -108
- package/esm2022/account/pages/sessions/index.mjs +0 -2
- package/esm2022/account/pages/sessions/keycloakify-angular-account-pages-sessions.mjs +0 -5
- package/esm2022/account/pages/sessions/sessions.component.mjs +0 -36
- package/esm2022/account/pages/totp/index.mjs +0 -2
- package/esm2022/account/pages/totp/keycloakify-angular-account-pages-totp.mjs +0 -5
- package/esm2022/account/pages/totp/totp.component.mjs +0 -37
- package/esm2022/account/providers/keycloakify-angular/index.mjs +0 -2
- package/esm2022/account/providers/keycloakify-angular/keycloakify-angular-account-providers-keycloakify-angular.mjs +0 -5
- package/esm2022/account/providers/keycloakify-angular/keycloakify-angular.providers.mjs +0 -47
- package/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +0 -37
- package/esm2022/account/services/account-resource-injector/index.mjs +0 -2
- package/esm2022/account/services/account-resource-injector/keycloakify-angular-account-services-account-resource-injector.mjs +0 -5
- package/esm2022/account/services/i18n/i18n.service.mjs +0 -12
- package/esm2022/account/services/i18n/index.mjs +0 -2
- package/esm2022/account/services/i18n/keycloakify-angular-account-services-i18n.mjs +0 -5
- package/esm2022/account/template/index.mjs +0 -2
- package/esm2022/account/template/keycloakify-angular-account-template.mjs +0 -5
- package/esm2022/account/template/template.component.mjs +0 -83
- package/esm2022/account/tokens/classes/classes.token.mjs +0 -3
- package/esm2022/account/tokens/classes/index.mjs +0 -2
- package/esm2022/account/tokens/classes/keycloakify-angular-account-tokens-classes.mjs +0 -5
- package/esm2022/account/tokens/i18n/i18n.token.mjs +0 -3
- package/esm2022/account/tokens/i18n/index.mjs +0 -2
- package/esm2022/account/tokens/i18n/keycloakify-angular-account-tokens-i18n.mjs +0 -5
- package/esm2022/account/tokens/kc-context/index.mjs +0 -2
- package/esm2022/account/tokens/kc-context/kc-context.token.mjs +0 -3
- package/esm2022/account/tokens/kc-context/keycloakify-angular-account-tokens-kc-context.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/keycloakify-angular.mjs +0 -5
- package/esm2022/lib/directives/attributes/attributes.directive.mjs +0 -26
- package/esm2022/lib/directives/attributes/index.mjs +0 -2
- package/esm2022/lib/directives/attributes/keycloakify-angular-lib-directives-attributes.mjs +0 -5
- package/esm2022/lib/index.mjs +0 -2
- package/esm2022/lib/keycloakify-angular-lib.mjs +0 -5
- package/esm2022/lib/models/script/index.mjs +0 -2
- package/esm2022/lib/models/script/keycloakify-angular-lib-models-script.mjs +0 -5
- package/esm2022/lib/models/script/script.model.mjs +0 -2
- package/esm2022/lib/pipes/input-type/index.mjs +0 -2
- package/esm2022/lib/pipes/input-type/input-type.pipe.mjs +0 -20
- package/esm2022/lib/pipes/input-type/keycloakify-angular-lib-pipes-input-type.mjs +0 -5
- package/esm2022/lib/pipes/is-array-with-empty-object/index.mjs +0 -2
- package/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +0 -20
- package/esm2022/lib/pipes/is-array-with-empty-object/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +0 -5
- package/esm2022/lib/pipes/kc-sanitize/index.mjs +0 -2
- package/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +0 -29
- package/esm2022/lib/pipes/kc-sanitize/keycloakify-angular-lib-pipes-kc-sanitize.mjs +0 -5
- package/esm2022/lib/pipes/to-array/index.mjs +0 -2
- package/esm2022/lib/pipes/to-array/keycloakify-angular-lib-pipes-to-array.mjs +0 -5
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +0 -21
- package/esm2022/lib/pipes/to-number/index.mjs +0 -2
- package/esm2022/lib/pipes/to-number/keycloakify-angular-lib-pipes-to-number.mjs +0 -5
- package/esm2022/lib/pipes/to-number/to-number.pipe.mjs +0 -20
- package/esm2022/lib/services/resource-injector/index.mjs +0 -2
- package/esm2022/lib/services/resource-injector/keycloakify-angular-lib-services-resource-injector.mjs +0 -5
- package/esm2022/lib/services/resource-injector/resource-injector.service.mjs +0 -55
- package/esm2022/lib/tokens/use-default-css/index.mjs +0 -2
- package/esm2022/lib/tokens/use-default-css/keycloakify-angular-lib-tokens-use-default-css.mjs +0 -5
- package/esm2022/lib/tokens/use-default-css/use-default-css.token.mjs +0 -3
- package/esm2022/login/KcContext/KcContext.mjs +0 -2
- package/esm2022/login/KcContext/index.mjs +0 -2
- package/esm2022/login/KcContext/keycloakify-angular-login-KcContext.mjs +0 -5
- package/esm2022/login/classes/component-reference/component-reference.class.mjs +0 -3
- package/esm2022/login/classes/component-reference/index.mjs +0 -2
- package/esm2022/login/classes/component-reference/keycloakify-angular-login-classes-component-reference.mjs +0 -5
- package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +0 -60
- package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/index.mjs +0 -2
- package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +0 -5
- package/esm2022/login/components/field-errors/field-errors.component.mjs +0 -33
- package/esm2022/login/components/field-errors/index.mjs +0 -2
- package/esm2022/login/components/field-errors/keycloakify-angular-login-components-field-errors.mjs +0 -5
- package/esm2022/login/components/group-label/group-label.component.mjs +0 -43
- package/esm2022/login/components/group-label/index.mjs +0 -2
- package/esm2022/login/components/group-label/keycloakify-angular-login-components-group-label.mjs +0 -5
- package/esm2022/login/components/input-field-by-type/index.mjs +0 -2
- package/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +0 -46
- package/esm2022/login/components/input-field-by-type/keycloakify-angular-login-components-input-field-by-type.mjs +0 -5
- package/esm2022/login/components/input-tag/index.mjs +0 -2
- package/esm2022/login/components/input-tag/input-tag.component.mjs +0 -90
- package/esm2022/login/components/input-tag/keycloakify-angular-login-components-input-tag.mjs +0 -5
- package/esm2022/login/components/input-tag-selects/index.mjs +0 -2
- package/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +0 -117
- package/esm2022/login/components/input-tag-selects/keycloakify-angular-login-components-input-tag-selects.mjs +0 -5
- package/esm2022/login/components/logout-other-sessions/index.mjs +0 -2
- package/esm2022/login/components/logout-other-sessions/keycloakify-angular-login-components-logout-other-sessions.mjs +0 -5
- package/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +0 -32
- package/esm2022/login/components/password-wrapper/index.mjs +0 -2
- package/esm2022/login/components/password-wrapper/keycloakify-angular-login-components-password-wrapper.mjs +0 -5
- package/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +0 -46
- package/esm2022/login/components/select-tag/index.mjs +0 -2
- package/esm2022/login/components/select-tag/keycloakify-angular-login-components-select-tag.mjs +0 -5
- package/esm2022/login/components/select-tag/select-tag.component.mjs +0 -82
- package/esm2022/login/components/textarea-tag/index.mjs +0 -2
- package/esm2022/login/components/textarea-tag/keycloakify-angular-login-components-textarea-tag.mjs +0 -5
- package/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +0 -49
- package/esm2022/login/components/user-profile-form-fields/index.mjs +0 -2
- package/esm2022/login/components/user-profile-form-fields/keycloakify-angular-login-components-user-profile-form-fields.mjs +0 -5
- package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +0 -55
- package/esm2022/login/defaultPage.mjs +0 -77
- package/esm2022/login/directives/kc-class/index.mjs +0 -2
- package/esm2022/login/directives/kc-class/kc-class.directive.mjs +0 -138
- package/esm2022/login/directives/kc-class/keycloakify-angular-login-directives-kc-class.mjs +0 -5
- package/esm2022/login/i18n/i18n.mjs +0 -2
- package/esm2022/login/i18n/index.mjs +0 -2
- package/esm2022/login/i18n/keycloakify-angular-login-i18n.mjs +0 -5
- package/esm2022/login/index.mjs +0 -2
- package/esm2022/login/keycloakify-angular-login.mjs +0 -5
- package/esm2022/login/login.mjs +0 -3
- package/esm2022/login/pages/code/code.component.mjs +0 -40
- package/esm2022/login/pages/code/index.mjs +0 -2
- package/esm2022/login/pages/code/keycloakify-angular-login-pages-code.mjs +0 -5
- package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +0 -40
- package/esm2022/login/pages/delete-account-confirm/index.mjs +0 -2
- package/esm2022/login/pages/delete-account-confirm/keycloakify-angular-login-pages-delete-account-confirm.mjs +0 -5
- package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +0 -40
- package/esm2022/login/pages/delete-credential/index.mjs +0 -2
- package/esm2022/login/pages/delete-credential/keycloakify-angular-login-pages-delete-credential.mjs +0 -5
- package/esm2022/login/pages/error/error.component.mjs +0 -40
- package/esm2022/login/pages/error/index.mjs +0 -2
- package/esm2022/login/pages/error/keycloakify-angular-login-pages-error.mjs +0 -5
- package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +0 -46
- package/esm2022/login/pages/frontchannel-logout/index.mjs +0 -2
- package/esm2022/login/pages/frontchannel-logout/keycloakify-angular-login-pages-frontchannel-logout.mjs +0 -5
- package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +0 -51
- package/esm2022/login/pages/idp-review-user-profile/index.mjs +0 -2
- package/esm2022/login/pages/idp-review-user-profile/keycloakify-angular-login-pages-idp-review-user-profile.mjs +0 -5
- package/esm2022/login/pages/info/index.mjs +0 -2
- package/esm2022/login/pages/info/info.component.mjs +0 -49
- package/esm2022/login/pages/info/keycloakify-angular-login-pages-info.mjs +0 -5
- package/esm2022/login/pages/login/index.mjs +0 -2
- package/esm2022/login/pages/login/keycloakify-angular-login-pages-login.mjs +0 -5
- package/esm2022/login/pages/login/login.component.mjs +0 -44
- package/esm2022/login/pages/login-config-totp/index.mjs +0 -2
- package/esm2022/login/pages/login-config-totp/keycloakify-angular-login-pages-login-config-totp.mjs +0 -5
- package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +0 -42
- package/esm2022/login/pages/login-idp-link-confirm/index.mjs +0 -2
- package/esm2022/login/pages/login-idp-link-confirm/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +0 -5
- package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +0 -36
- package/esm2022/login/pages/login-idp-link-confirm-override/index.mjs +0 -2
- package/esm2022/login/pages/login-idp-link-confirm-override/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +0 -5
- package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +0 -36
- package/esm2022/login/pages/login-idp-link-email/index.mjs +0 -2
- package/esm2022/login/pages/login-idp-link-email/keycloakify-angular-login-pages-login-idp-link-email.mjs +0 -5
- package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +0 -36
- package/esm2022/login/pages/login-oauth-grant/index.mjs +0 -2
- package/esm2022/login/pages/login-oauth-grant/keycloakify-angular-login-pages-login-oauth-grant.mjs +0 -5
- package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +0 -37
- package/esm2022/login/pages/login-oauth2-device-verify-user-code/index.mjs +0 -2
- package/esm2022/login/pages/login-oauth2-device-verify-user-code/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +0 -5
- package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +0 -40
- package/esm2022/login/pages/login-otp/index.mjs +0 -2
- package/esm2022/login/pages/login-otp/keycloakify-angular-login-pages-login-otp.mjs +0 -5
- package/esm2022/login/pages/login-otp/login-otp.component.mjs +0 -41
- package/esm2022/login/pages/login-page-expired/index.mjs +0 -2
- package/esm2022/login/pages/login-page-expired/keycloakify-angular-login-pages-login-page-expired.mjs +0 -5
- package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +0 -39
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/index.mjs +0 -2
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +0 -5
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +0 -88
- package/esm2022/login/pages/login-password/index.mjs +0 -2
- package/esm2022/login/pages/login-password/keycloakify-angular-login-pages-login-password.mjs +0 -5
- package/esm2022/login/pages/login-password/login-password.component.mjs +0 -44
- package/esm2022/login/pages/login-recovery-authn-code-config/index.mjs +0 -2
- package/esm2022/login/pages/login-recovery-authn-code-config/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +0 -5
- package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +0 -164
- package/esm2022/login/pages/login-recovery-authn-code-input/index.mjs +0 -2
- package/esm2022/login/pages/login-recovery-authn-code-input/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +0 -5
- package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +0 -41
- package/esm2022/login/pages/login-reset-otp/index.mjs +0 -2
- package/esm2022/login/pages/login-reset-otp/keycloakify-angular-login-pages-login-reset-otp.mjs +0 -5
- package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +0 -40
- package/esm2022/login/pages/login-reset-password/index.mjs +0 -2
- package/esm2022/login/pages/login-reset-password/keycloakify-angular-login-pages-login-reset-password.mjs +0 -5
- package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +0 -41
- package/esm2022/login/pages/login-update-password/index.mjs +0 -2
- package/esm2022/login/pages/login-update-password/keycloakify-angular-login-pages-login-update-password.mjs +0 -5
- package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +0 -43
- package/esm2022/login/pages/login-update-profile/index.mjs +0 -2
- package/esm2022/login/pages/login-update-profile/keycloakify-angular-login-pages-login-update-profile.mjs +0 -5
- package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +0 -48
- package/esm2022/login/pages/login-username/index.mjs +0 -2
- package/esm2022/login/pages/login-username/keycloakify-angular-login-pages-login-username.mjs +0 -5
- package/esm2022/login/pages/login-username/login-username.component.mjs +0 -43
- package/esm2022/login/pages/login-verify-email/index.mjs +0 -2
- package/esm2022/login/pages/login-verify-email/keycloakify-angular-login-pages-login-verify-email.mjs +0 -5
- package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +0 -40
- package/esm2022/login/pages/login-x509-info/index.mjs +0 -2
- package/esm2022/login/pages/login-x509-info/keycloakify-angular-login-pages-login-x509-info.mjs +0 -5
- package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +0 -40
- package/esm2022/login/pages/logout-confirm/index.mjs +0 -2
- package/esm2022/login/pages/logout-confirm/keycloakify-angular-login-pages-logout-confirm.mjs +0 -5
- package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +0 -36
- package/esm2022/login/pages/register/index.mjs +0 -2
- package/esm2022/login/pages/register/keycloakify-angular-login-pages-register.mjs +0 -5
- package/esm2022/login/pages/register/register.component.mjs +0 -53
- package/esm2022/login/pages/saml-post-form/index.mjs +0 -2
- package/esm2022/login/pages/saml-post-form/keycloakify-angular-login-pages-saml-post-form.mjs +0 -5
- package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +0 -50
- package/esm2022/login/pages/select-authenticator/index.mjs +0 -2
- package/esm2022/login/pages/select-authenticator/keycloakify-angular-login-pages-select-authenticator.mjs +0 -5
- package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +0 -41
- package/esm2022/login/pages/terms/index.mjs +0 -2
- package/esm2022/login/pages/terms/keycloakify-angular-login-pages-terms.mjs +0 -5
- package/esm2022/login/pages/terms/terms.component.mjs +0 -40
- package/esm2022/login/pages/update-email/index.mjs +0 -2
- package/esm2022/login/pages/update-email/keycloakify-angular-login-pages-update-email.mjs +0 -5
- package/esm2022/login/pages/update-email/update-email.component.mjs +0 -45
- package/esm2022/login/pages/webauthn-authenticate/index.mjs +0 -2
- package/esm2022/login/pages/webauthn-authenticate/keycloakify-angular-login-pages-webauthn-authenticate.mjs +0 -5
- package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +0 -80
- package/esm2022/login/pages/webauthn-error/index.mjs +0 -2
- package/esm2022/login/pages/webauthn-error/keycloakify-angular-login-pages-webauthn-error.mjs +0 -5
- package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +0 -49
- package/esm2022/login/pages/webauthn-register/index.mjs +0 -2
- package/esm2022/login/pages/webauthn-register/keycloakify-angular-login-pages-webauthn-register.mjs +0 -5
- package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +0 -76
- package/esm2022/login/providers/keycloakify-angular/index.mjs +0 -2
- package/esm2022/login/providers/keycloakify-angular/keycloakify-angular-login-providers-keycloakify-angular.mjs +0 -5
- package/esm2022/login/providers/keycloakify-angular/keycloakify-angular.providers.mjs +0 -52
- package/esm2022/login/services/i18n/i18n.service.mjs +0 -12
- package/esm2022/login/services/i18n/index.mjs +0 -2
- package/esm2022/login/services/i18n/keycloakify-angular-login-services-i18n.mjs +0 -5
- package/esm2022/login/services/login-resource-injector/index.mjs +0 -2
- package/esm2022/login/services/login-resource-injector/keycloakify-angular-login-services-login-resource-injector.mjs +0 -5
- package/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +0 -69
- package/esm2022/login/services/user-profile-form/index.mjs +0 -2
- package/esm2022/login/services/user-profile-form/keycloakify-angular-login-services-user-profile-form.mjs +0 -5
- package/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +0 -71
- package/esm2022/login/template/index.mjs +0 -2
- package/esm2022/login/template/keycloakify-angular-login-template.mjs +0 -5
- package/esm2022/login/template/template.component.mjs +0 -123
- package/esm2022/login/tokens/classes/classes.token.mjs +0 -3
- package/esm2022/login/tokens/classes/index.mjs +0 -2
- package/esm2022/login/tokens/classes/keycloakify-angular-login-tokens-classes.mjs +0 -5
- package/esm2022/login/tokens/i18n/i18n.token.mjs +0 -3
- package/esm2022/login/tokens/i18n/index.mjs +0 -2
- package/esm2022/login/tokens/i18n/keycloakify-angular-login-tokens-i18n.mjs +0 -5
- package/esm2022/login/tokens/kc-context/index.mjs +0 -2
- package/esm2022/login/tokens/kc-context/kc-context.token.mjs +0 -3
- package/esm2022/login/tokens/kc-context/keycloakify-angular-login-tokens-kc-context.mjs +0 -5
- package/esm2022/login/tokens/make-user-confirm-password/index.mjs +0 -2
- package/esm2022/login/tokens/make-user-confirm-password/keycloakify-angular-login-tokens-make-user-confirm-password.mjs +0 -5
- package/esm2022/login/tokens/make-user-confirm-password/make-user-confirm-password.token.mjs +0 -3
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject, signal, viewChild } from '@angular/core';
|
|
2
|
-
import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
|
|
3
|
-
import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
|
|
4
|
-
import { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';
|
|
5
|
-
import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
|
|
6
|
-
import { LoginResourceInjectorService } from '@keycloakify/angular/login/services/login-resource-injector';
|
|
7
|
-
import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
|
|
8
|
-
import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
|
|
9
|
-
import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class LoginRecoveryAuthnCodeConfigComponent extends ComponentReference {
|
|
12
|
-
constructor() {
|
|
13
|
-
super();
|
|
14
|
-
this.kcContext = inject(KC_LOGIN_CONTEXT);
|
|
15
|
-
this.i18n = inject(LOGIN_I18N);
|
|
16
|
-
this.loginResourceInjectorService = inject(LoginResourceInjectorService);
|
|
17
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
18
|
-
this.classes = inject(LOGIN_CLASSES);
|
|
19
|
-
this.displayRequiredFields = false;
|
|
20
|
-
this.displayInfo = true;
|
|
21
|
-
this.displayMessage = this.kcContext.messagesPerField.existsError('password');
|
|
22
|
-
this.headerNode = viewChild('headerNode');
|
|
23
|
-
this.infoNode = viewChild('infoNode');
|
|
24
|
-
this.socialProvidersNode = viewChild('socialProvidersNode');
|
|
25
|
-
this.toggleRecoveryCodesConfirmation = signal(false);
|
|
26
|
-
this.olRecoveryCodesListId = 'kc-recovery-codes-list';
|
|
27
|
-
}
|
|
28
|
-
ngAfterViewInit() {
|
|
29
|
-
this.loginResourceInjectorService.insertAdditionalScripts([
|
|
30
|
-
{
|
|
31
|
-
type: 'text/javascript',
|
|
32
|
-
id: `${this.olRecoveryCodesListId}-script`,
|
|
33
|
-
textContent: `
|
|
34
|
-
/* copy recovery codes */
|
|
35
|
-
function copyRecoveryCodes() {
|
|
36
|
-
var tmpTextarea = document.createElement("textarea");
|
|
37
|
-
var codes = document.querySelectorAll("#${this.olRecoveryCodesListId} li");
|
|
38
|
-
for (i = 0; i < codes.length; i++) {
|
|
39
|
-
tmpTextarea.value = tmpTextarea.value + codes[i].innerText + "\\n";
|
|
40
|
-
}
|
|
41
|
-
document.body.appendChild(tmpTextarea);
|
|
42
|
-
tmpTextarea.select();
|
|
43
|
-
document.execCommand("copy");
|
|
44
|
-
document.body.removeChild(tmpTextarea);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
var copyButton = document.getElementById("copyRecoveryCodes");
|
|
48
|
-
copyButton && copyButton.addEventListener("click", function () {
|
|
49
|
-
copyRecoveryCodes();
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
/* download recovery codes */
|
|
53
|
-
function formatCurrentDateTime() {
|
|
54
|
-
var dt = new Date();
|
|
55
|
-
var options = {
|
|
56
|
-
month: 'long',
|
|
57
|
-
day: 'numeric',
|
|
58
|
-
year: 'numeric',
|
|
59
|
-
hour: 'numeric',
|
|
60
|
-
minute: 'numeric',
|
|
61
|
-
timeZoneName: 'short'
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
return dt.toLocaleString('en-US', options);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function parseRecoveryCodeList() {
|
|
68
|
-
var recoveryCodes = document.querySelectorAll("#${this.olRecoveryCodesListId} li");
|
|
69
|
-
var recoveryCodeList = "";
|
|
70
|
-
|
|
71
|
-
for (var i = 0; i < recoveryCodes.length; i++) {
|
|
72
|
-
var recoveryCodeLiElement = recoveryCodes[i].innerText;
|
|
73
|
-
recoveryCodeList += recoveryCodeLiElement + "\\r\\n";
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return recoveryCodeList;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function buildDownloadContent() {
|
|
80
|
-
var recoveryCodeList = parseRecoveryCodeList();
|
|
81
|
-
var dt = new Date();
|
|
82
|
-
var options = {
|
|
83
|
-
month: 'long',
|
|
84
|
-
day: 'numeric',
|
|
85
|
-
year: 'numeric',
|
|
86
|
-
hour: 'numeric',
|
|
87
|
-
minute: 'numeric',
|
|
88
|
-
timeZoneName: 'short'
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
return fileBodyContent =
|
|
92
|
-
${JSON.stringify(this.i18n.msgStr('recovery-codes-download-file-header'))} + "\\n\\n" +
|
|
93
|
-
recoveryCodeList + "\\n" +
|
|
94
|
-
${JSON.stringify(this.i18n.msgStr('recovery-codes-download-file-description'))} + "\\n\\n" +
|
|
95
|
-
${JSON.stringify(this.i18n.msgStr('recovery-codes-download-file-date'))} + " " + formatCurrentDateTime();
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
function setUpDownloadLinkAndDownload(filename, text) {
|
|
99
|
-
var el = document.createElement('a');
|
|
100
|
-
el.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
|
|
101
|
-
el.setAttribute('download', filename);
|
|
102
|
-
el.style.display = 'none';
|
|
103
|
-
document.body.appendChild(el);
|
|
104
|
-
el.click();
|
|
105
|
-
document.body.removeChild(el);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
function downloadRecoveryCodes() {
|
|
109
|
-
setUpDownloadLinkAndDownload('kc-download-recovery-codes.txt', buildDownloadContent());
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
var downloadButton = document.getElementById("downloadRecoveryCodes");
|
|
113
|
-
downloadButton && downloadButton.addEventListener("click", downloadRecoveryCodes);
|
|
114
|
-
|
|
115
|
-
/* print recovery codes */
|
|
116
|
-
function buildPrintContent() {
|
|
117
|
-
var recoveryCodeListHTML = document.getElementById('${this.olRecoveryCodesListId}').innerHTML;
|
|
118
|
-
var styles =
|
|
119
|
-
\`@page { size: auto; margin-top: 0; }
|
|
120
|
-
body { width: 480px; }
|
|
121
|
-
div { list-style-type: none; font-family: monospace }
|
|
122
|
-
p:first-of-type { margin-top: 48px }\`;
|
|
123
|
-
|
|
124
|
-
return printFileContent =
|
|
125
|
-
"<html><style>" + styles + "</style><body>" +
|
|
126
|
-
"<title>kc-download-recovery-codes</title>" +
|
|
127
|
-
"<p>" + ${JSON.stringify(this.i18n.msgStr('recovery-codes-download-file-header'))} + "</p>" +
|
|
128
|
-
"<div>" + recoveryCodeListHTML + "</div>" +
|
|
129
|
-
"<p>" + ${JSON.stringify(this.i18n.msgStr('recovery-codes-download-file-description'))} + "</p>" +
|
|
130
|
-
"<p>" + ${JSON.stringify(this.i18n.msgStr('recovery-codes-download-file-date'))} + " " + formatCurrentDateTime() + "</p>" +
|
|
131
|
-
"</body></html>";
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function printRecoveryCodes() {
|
|
135
|
-
var w = window.open();
|
|
136
|
-
w.document.write(buildPrintContent());
|
|
137
|
-
w.print();
|
|
138
|
-
w.close();
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
var printButton = document.getElementById("printRecoveryCodes");
|
|
142
|
-
printButton && printButton.addEventListener("click", printRecoveryCodes);
|
|
143
|
-
`
|
|
144
|
-
}
|
|
145
|
-
]);
|
|
146
|
-
}
|
|
147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginRecoveryAuthnCodeConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: LoginRecoveryAuthnCodeConfigComponent, isStandalone: true, selector: "kc-login-recovery-authn-code-config", providers: [
|
|
149
|
-
{
|
|
150
|
-
provide: ComponentReference,
|
|
151
|
-
useExisting: forwardRef(() => LoginRecoveryAuthnCodeConfigComponent)
|
|
152
|
-
}
|
|
153
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let recoveryAuthnCodesConfigBean = kcContext.recoveryAuthnCodesConfigBean;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('recovery-code-config-header') }}\n</ng-template>\n\n<div\n class=\"pf-c-alert pf-m-warning pf-m-inline\"\n aria-label=\"Warning alert\"\n [kcClass]=\"'kcRecoveryCodesWarning'\"\n>\n <div class=\"pf-c-alert__icon\">\n <i\n class=\"pficon-warning-triangle-o\"\n aria-hidden=\"true\"\n ></i>\n </div>\n <h4 class=\"pf-c-alert__title\">\n <span class=\"pf-screen-reader\">Warning alert:</span>\n {{ i18n.msgStr('recovery-code-config-warning-title') }}\n </h4>\n <div class=\"pf-c-alert__description\">\n <p>{{ i18n.msgStr('recovery-code-config-warning-message') }}</p>\n </div>\n</div>\n\n<ol\n [id]=\"olRecoveryCodesListId\"\n [kcClass]=\"'kcRecoveryCodesList'\"\n>\n @for (code of recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesList; track code; let i = $index) {\n <li>\n <span>{{ i + 1 }}:</span> {{ code.slice(0, 4) }}-{{ code.slice(4, 8) }}-{{ code.slice(8) }}\n </li>\n }\n</ol>\n\n<!-- actions -->\n<div [kcClass]=\"'kcRecoveryCodesActions'\">\n <button\n id=\"printRecoveryCodes\"\n class=\"pf-c-button pf-m-link\"\n type=\"button\"\n >\n <i\n class=\"pficon-print\"\n aria-hidden=\"true\"\n ></i>\n {{ i18n.msgStr('recovery-codes-print') }}\n </button>\n <button\n id=\"downloadRecoveryCodes\"\n class=\"pf-c-button pf-m-link\"\n type=\"button\"\n >\n <i\n class=\"pficon-save\"\n aria-hidden=\"true\"\n ></i>\n {{ i18n.msgStr('recovery-codes-download') }}\n </button>\n <button\n id=\"copyRecoveryCodes\"\n class=\"pf-c-button pf-m-link\"\n type=\"button\"\n >\n <i\n class=\"pficon-blueprint\"\n aria-hidden=\"true\"\n ></i>\n {{ i18n.msgStr('recovery-codes-copy') }}\n </button>\n</div>\n\n<!-- confirmation checkbox -->\n\n<div\n class=\"checkbox\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <label for=\"kcRecoveryCodesConfirmationCheck\">\n <input\n type=\"checkbox\"\n id=\"kcRecoveryCodesConfirmationCheck\"\n name=\"kcRecoveryCodesConfirmationCheck\"\n [kcClass]=\"'kcCheckInputClass'\"\n [checked]=\"toggleRecoveryCodesConfirmation()\"\n (change)=\"toggleRecoveryCodesConfirmation.set($any($event.target).checked)\"\n />\n {{ i18n.msgStr('recovery-codes-confirmation-message') }}\n </label>\n</div>\n\n<form\n id=\"kc-recovery-codes-settings-form\"\n method=\"post\"\n [action]=\"kcContext.url.loginAction\"\n [kcClass]=\"'kcFormGroupClass'\"\n>\n <input\n type=\"hidden\"\n name=\"generatedRecoveryAuthnCodes\"\n [value]=\"recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesAsString\"\n />\n <input\n type=\"hidden\"\n name=\"generatedAt\"\n [value]=\"recoveryAuthnCodesConfigBean.generatedAt\"\n />\n <input\n type=\"hidden\"\n id=\"userLabel\"\n name=\"userLabel\"\n [value]=\"i18n.msgStr('recovery-codes-label-default')\"\n />\n\n <kc-logout-other-sessions />\n\n @if (isAppInitiatedAction) {\n <input\n type=\"submit\"\n id=\"saveRecoveryAuthnCodesBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('recovery-codes-action-complete')\"\n [disabled]=\"!toggleRecoveryCodesConfirmation()\"\n />\n <button\n type=\"submit\"\n id=\"cancelRecoveryAuthnCodesBtn\"\n name=\"cancel-aia\"\n value=\"true\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('recovery-codes-action-cancel') }}\n </button>\n } @else {\n <input\n type=\"submit\"\n id=\"saveRecoveryAuthnCodesBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('recovery-codes-action-complete')\"\n [disabled]=\"!toggleRecoveryCodesConfirmation()\"\n />\n }\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: LogoutOtherSessionsComponent, selector: "kc-logout-other-sessions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
154
|
-
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginRecoveryAuthnCodeConfigComponent, decorators: [{
|
|
156
|
-
type: Component,
|
|
157
|
-
args: [{ standalone: true, imports: [KcClassDirective, LogoutOtherSessionsComponent], selector: 'kc-login-recovery-authn-code-config', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
158
|
-
{
|
|
159
|
-
provide: ComponentReference,
|
|
160
|
-
useExisting: forwardRef(() => LoginRecoveryAuthnCodeConfigComponent)
|
|
161
|
-
}
|
|
162
|
-
], template: "@let recoveryAuthnCodesConfigBean = kcContext.recoveryAuthnCodesConfigBean;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('recovery-code-config-header') }}\n</ng-template>\n\n<div\n class=\"pf-c-alert pf-m-warning pf-m-inline\"\n aria-label=\"Warning alert\"\n [kcClass]=\"'kcRecoveryCodesWarning'\"\n>\n <div class=\"pf-c-alert__icon\">\n <i\n class=\"pficon-warning-triangle-o\"\n aria-hidden=\"true\"\n ></i>\n </div>\n <h4 class=\"pf-c-alert__title\">\n <span class=\"pf-screen-reader\">Warning alert:</span>\n {{ i18n.msgStr('recovery-code-config-warning-title') }}\n </h4>\n <div class=\"pf-c-alert__description\">\n <p>{{ i18n.msgStr('recovery-code-config-warning-message') }}</p>\n </div>\n</div>\n\n<ol\n [id]=\"olRecoveryCodesListId\"\n [kcClass]=\"'kcRecoveryCodesList'\"\n>\n @for (code of recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesList; track code; let i = $index) {\n <li>\n <span>{{ i + 1 }}:</span> {{ code.slice(0, 4) }}-{{ code.slice(4, 8) }}-{{ code.slice(8) }}\n </li>\n }\n</ol>\n\n<!-- actions -->\n<div [kcClass]=\"'kcRecoveryCodesActions'\">\n <button\n id=\"printRecoveryCodes\"\n class=\"pf-c-button pf-m-link\"\n type=\"button\"\n >\n <i\n class=\"pficon-print\"\n aria-hidden=\"true\"\n ></i>\n {{ i18n.msgStr('recovery-codes-print') }}\n </button>\n <button\n id=\"downloadRecoveryCodes\"\n class=\"pf-c-button pf-m-link\"\n type=\"button\"\n >\n <i\n class=\"pficon-save\"\n aria-hidden=\"true\"\n ></i>\n {{ i18n.msgStr('recovery-codes-download') }}\n </button>\n <button\n id=\"copyRecoveryCodes\"\n class=\"pf-c-button pf-m-link\"\n type=\"button\"\n >\n <i\n class=\"pficon-blueprint\"\n aria-hidden=\"true\"\n ></i>\n {{ i18n.msgStr('recovery-codes-copy') }}\n </button>\n</div>\n\n<!-- confirmation checkbox -->\n\n<div\n class=\"checkbox\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <label for=\"kcRecoveryCodesConfirmationCheck\">\n <input\n type=\"checkbox\"\n id=\"kcRecoveryCodesConfirmationCheck\"\n name=\"kcRecoveryCodesConfirmationCheck\"\n [kcClass]=\"'kcCheckInputClass'\"\n [checked]=\"toggleRecoveryCodesConfirmation()\"\n (change)=\"toggleRecoveryCodesConfirmation.set($any($event.target).checked)\"\n />\n {{ i18n.msgStr('recovery-codes-confirmation-message') }}\n </label>\n</div>\n\n<form\n id=\"kc-recovery-codes-settings-form\"\n method=\"post\"\n [action]=\"kcContext.url.loginAction\"\n [kcClass]=\"'kcFormGroupClass'\"\n>\n <input\n type=\"hidden\"\n name=\"generatedRecoveryAuthnCodes\"\n [value]=\"recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesAsString\"\n />\n <input\n type=\"hidden\"\n name=\"generatedAt\"\n [value]=\"recoveryAuthnCodesConfigBean.generatedAt\"\n />\n <input\n type=\"hidden\"\n id=\"userLabel\"\n name=\"userLabel\"\n [value]=\"i18n.msgStr('recovery-codes-label-default')\"\n />\n\n <kc-logout-other-sessions />\n\n @if (isAppInitiatedAction) {\n <input\n type=\"submit\"\n id=\"saveRecoveryAuthnCodesBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('recovery-codes-action-complete')\"\n [disabled]=\"!toggleRecoveryCodesConfirmation()\"\n />\n <button\n type=\"submit\"\n id=\"cancelRecoveryAuthnCodesBtn\"\n name=\"cancel-aia\"\n value=\"true\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('recovery-codes-action-cancel') }}\n </button>\n } @else {\n <input\n type=\"submit\"\n id=\"saveRecoveryAuthnCodesBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('recovery-codes-action-complete')\"\n [disabled]=\"!toggleRecoveryCodesConfirmation()\"\n />\n }\n</form>\n" }]
|
|
163
|
-
}], ctorParameters: () => [] });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVjb3ZlcnktYXV0aG4tY29kZS1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtY29uZmlnL2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWNvbmZpZy9sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBb0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLGtCQUFrQjtJQXVCekU7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQXZCWixjQUFTLEdBQUcsTUFBTSxDQUF5RSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdHLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDaEMsaUNBQTRCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFFM0Qsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFLNUUsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekUsZUFBVSxHQUFHLFNBQVMsQ0FBMkIsWUFBWSxDQUFDLENBQUM7UUFDL0QsYUFBUSxHQUFHLFNBQVMsQ0FBMkIsVUFBVSxDQUFDLENBQUM7UUFDM0Qsd0JBQW1CLEdBQUcsU0FBUyxDQUEyQixxQkFBcUIsQ0FBQyxDQUFDO1FBRWpGLG9DQUErQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRCwwQkFBcUIsR0FBRyx3QkFBd0IsQ0FBQztJQUlqRCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyx1QkFBdUIsQ0FBQztZQUN0RDtnQkFDSSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMscUJBQXFCLFNBQVM7Z0JBQzFDLFdBQVcsRUFBRTs7OztrRUFJcUMsSUFBSSxDQUFDLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswRUErQmxCLElBQUksQ0FBQyxxQkFBcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkF3QnRFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQzs7OEJBRXZFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQzs4QkFDNUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhFQXNCckIsSUFBSSxDQUFDLHFCQUFxQjs7Ozs7Ozs7OztzQ0FVbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDOztzQ0FFdkUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO3NDQUM1RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7Ozs7Ozs7Ozs7Ozs7aUJBYTFGO2FBQ0o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDOytHQWpKUSxxQ0FBcUM7bUdBQXJDLHFDQUFxQyxrRkFQbkM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFDQUFxQyxDQUFDO2FBQ3ZFO1NBQ0osK1lDeEJMLDY1SUFrSkEsNENEbkljLGdCQUFnQiwrRkFBRSw0QkFBNEI7OzRGQVcvQyxxQ0FBcUM7a0JBYmpELFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsNEJBQTRCLENBQUMsWUFDL0MscUNBQXFDLG1CQUU5Qix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNDQUFzQyxDQUFDO3lCQUN2RTtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCwgc2lnbmFsLCB0eXBlIFRlbXBsYXRlUmVmLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBMb2dvdXRPdGhlclNlc3Npb25zQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9sb2dvdXQtb3RoZXItc2Vzc2lvbnMnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vaTE4bic7XG5pbXBvcnQgdHlwZSB7IEtjQ29udGV4dCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBMb2dpblJlc291cmNlSW5qZWN0b3JTZXJ2aWNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvbG9naW4tcmVzb3VyY2UtaW5qZWN0b3InO1xuaW1wb3J0IHsgTE9HSU5fQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9jbGFzc2VzJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyBLQ19MT0dJTl9DT05URVhUIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2tjLWNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBMb2dvdXRPdGhlclNlc3Npb25zQ29tcG9uZW50XSxcbiAgICBzZWxlY3RvcjogJ2tjLWxvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtY29uZmlnJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTG9naW5SZWNvdmVyeUF1dGhuQ29kZUNvbmZpZ0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5SZWNvdmVyeUF1dGhuQ29kZUNvbmZpZ0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxFeHRyYWN0PEtjQ29udGV4dCwgeyBwYWdlSWQ6ICdsb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWNvbmZpZy5mdGwnIH0+PihLQ19MT0dJTl9DT05URVhUKTtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuICAgIGxvZ2luUmVzb3VyY2VJbmplY3RvclNlcnZpY2UgPSBpbmplY3QoTG9naW5SZXNvdXJjZUluamVjdG9yU2VydmljZSk7XG5cbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oTE9HSU5fQ0xBU1NFUyk7XG5cbiAgICBkb2N1bWVudFRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgYm9keUNsYXNzTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgZGlzcGxheVJlcXVpcmVkRmllbGRzID0gZmFsc2U7XG4gICAgZGlzcGxheUluZm8gPSB0cnVlO1xuICAgIGRpc3BsYXlNZXNzYWdlID0gdGhpcy5rY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigncGFzc3dvcmQnKTtcblxuICAgIGhlYWRlck5vZGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaGVhZGVyTm9kZScpO1xuICAgIGluZm9Ob2RlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ2luZm9Ob2RlJyk7XG4gICAgc29jaWFsUHJvdmlkZXJzTm9kZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdzb2NpYWxQcm92aWRlcnNOb2RlJyk7XG5cbiAgICB0b2dnbGVSZWNvdmVyeUNvZGVzQ29uZmlybWF0aW9uID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIG9sUmVjb3ZlcnlDb2Rlc0xpc3RJZCA9ICdrYy1yZWNvdmVyeS1jb2Rlcy1saXN0JztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5sb2dpblJlc291cmNlSW5qZWN0b3JTZXJ2aWNlLmluc2VydEFkZGl0aW9uYWxTY3JpcHRzKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dC9qYXZhc2NyaXB0JyxcbiAgICAgICAgICAgICAgICBpZDogYCR7dGhpcy5vbFJlY292ZXJ5Q29kZXNMaXN0SWR9LXNjcmlwdGAsXG4gICAgICAgICAgICAgICAgdGV4dENvbnRlbnQ6IGBcbiAgICAgICAgICAgICAgICAgICAgLyogY29weSByZWNvdmVyeSBjb2RlcyAgKi9cbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY29weVJlY292ZXJ5Q29kZXMoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdG1wVGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGV4dGFyZWFcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29kZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiIyR7dGhpcy5vbFJlY292ZXJ5Q29kZXNMaXN0SWR9IGxpXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wVGV4dGFyZWEudmFsdWUgPSB0bXBUZXh0YXJlYS52YWx1ZSArIGNvZGVzW2ldLmlubmVyVGV4dCArIFwiXFxcXG5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodG1wVGV4dGFyZWEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wVGV4dGFyZWEuc2VsZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZChcImNvcHlcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRtcFRleHRhcmVhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb3B5UmVjb3ZlcnlDb2Rlc1wiKTtcbiAgICAgICAgICAgICAgICAgICAgY29weUJ1dHRvbiAmJiBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3B5UmVjb3ZlcnlDb2RlcygpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvKiBkb3dubG9hZCByZWNvdmVyeSBjb2RlcyAgKi9cbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZm9ybWF0Q3VycmVudERhdGVUaW1lKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGR0ID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lWm9uZU5hbWU6ICdzaG9ydCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkdC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHBhcnNlUmVjb3ZlcnlDb2RlTGlzdCgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWNvdmVyeUNvZGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIiMke3RoaXMub2xSZWNvdmVyeUNvZGVzTGlzdElkfSBsaVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWNvdmVyeUNvZGVMaXN0ID0gXCJcIjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvdmVyeUNvZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlY292ZXJ5Q29kZUxpRWxlbWVudCA9IHJlY292ZXJ5Q29kZXNbaV0uaW5uZXJUZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5Q29kZUxpc3QgKz0gcmVjb3ZlcnlDb2RlTGlFbGVtZW50ICsgXCJcXFxcclxcXFxuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWNvdmVyeUNvZGVMaXN0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYnVpbGREb3dubG9hZENvbnRlbnQoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVjb3ZlcnlDb2RlTGlzdCA9IHBhcnNlUmVjb3ZlcnlDb2RlTGlzdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGR0ID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lWm9uZU5hbWU6ICdzaG9ydCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWxlQm9keUNvbnRlbnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7SlNPTi5zdHJpbmdpZnkodGhpcy5pMThuLm1zZ1N0cigncmVjb3ZlcnktY29kZXMtZG93bmxvYWQtZmlsZS1oZWFkZXInKSl9ICsgXCJcXFxcblxcXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5Q29kZUxpc3QgKyBcIlxcXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7SlNPTi5zdHJpbmdpZnkodGhpcy5pMThuLm1zZ1N0cigncmVjb3ZlcnktY29kZXMtZG93bmxvYWQtZmlsZS1kZXNjcmlwdGlvbicpKX0gKyBcIlxcXFxuXFxcXG5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmkxOG4ubXNnU3RyKCdyZWNvdmVyeS1jb2Rlcy1kb3dubG9hZC1maWxlLWRhdGUnKSl9ICsgXCIgXCIgKyBmb3JtYXRDdXJyZW50RGF0ZVRpbWUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNldFVwRG93bmxvYWRMaW5rQW5kRG93bmxvYWQoZmlsZW5hbWUsIHRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnaHJlZicsICdkYXRhOnRleHQvcGxhaW47Y2hhcnNldD11dGYtOCwnICsgZW5jb2RlVVJJQ29tcG9uZW50KHRleHQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlbmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbC5jbGljaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkb3dubG9hZFJlY292ZXJ5Q29kZXMoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRVcERvd25sb2FkTGlua0FuZERvd25sb2FkKCdrYy1kb3dubG9hZC1yZWNvdmVyeS1jb2Rlcy50eHQnLCBidWlsZERvd25sb2FkQ29udGVudCgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHZhciBkb3dubG9hZEJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZG93bmxvYWRSZWNvdmVyeUNvZGVzXCIpO1xuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZEJ1dHRvbiAmJiBkb3dubG9hZEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgZG93bmxvYWRSZWNvdmVyeUNvZGVzKTtcblxuICAgICAgICAgICAgICAgICAgICAvKiBwcmludCByZWNvdmVyeSBjb2RlcyAqL1xuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBidWlsZFByaW50Q29udGVudCgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWNvdmVyeUNvZGVMaXN0SFRNTCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcke3RoaXMub2xSZWNvdmVyeUNvZGVzTGlzdElkfScpLmlubmVySFRNTDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdHlsZXMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcYEBwYWdlIHsgc2l6ZTogYXV0bzsgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5IHsgd2lkdGg6IDQ4MHB4OyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2IHsgbGlzdC1zdHlsZS10eXBlOiBub25lOyBmb250LWZhbWlseTogbW9ub3NwYWNlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwOmZpcnN0LW9mLXR5cGUgeyBtYXJnaW4tdG9wOiA0OHB4IH1cXGA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmludEZpbGVDb250ZW50ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjxodG1sPjxzdHlsZT5cIiArIHN0eWxlcyArIFwiPC9zdHlsZT48Ym9keT5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCI8dGl0bGU+a2MtZG93bmxvYWQtcmVjb3ZlcnktY29kZXM8L3RpdGxlPlwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjxwPlwiICsgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmkxOG4ubXNnU3RyKCdyZWNvdmVyeS1jb2Rlcy1kb3dubG9hZC1maWxlLWhlYWRlcicpKX0gKyBcIjwvcD5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCI8ZGl2PlwiICsgcmVjb3ZlcnlDb2RlTGlzdEhUTUwgKyBcIjwvZGl2PlwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjxwPlwiICsgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmkxOG4ubXNnU3RyKCdyZWNvdmVyeS1jb2Rlcy1kb3dubG9hZC1maWxlLWRlc2NyaXB0aW9uJykpfSArIFwiPC9wPlwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjxwPlwiICsgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmkxOG4ubXNnU3RyKCdyZWNvdmVyeS1jb2Rlcy1kb3dubG9hZC1maWxlLWRhdGUnKSl9ICsgXCIgXCIgKyBmb3JtYXRDdXJyZW50RGF0ZVRpbWUoKSArIFwiPC9wPlwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjwvYm9keT48L2h0bWw+XCI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBwcmludFJlY292ZXJ5Q29kZXMoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdyA9IHdpbmRvdy5vcGVuKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LmRvY3VtZW50LndyaXRlKGJ1aWxkUHJpbnRDb250ZW50KCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdy5wcmludCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdmFyIHByaW50QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJwcmludFJlY292ZXJ5Q29kZXNcIik7XG4gICAgICAgICAgICAgICAgICAgIHByaW50QnV0dG9uICYmIHByaW50QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBwcmludFJlY292ZXJ5Q29kZXMpO1xuICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSk7XG4gICAgfVxufVxuIiwiQGxldCByZWNvdmVyeUF1dGhuQ29kZXNDb25maWdCZWFuID0ga2NDb250ZXh0LnJlY292ZXJ5QXV0aG5Db2Rlc0NvbmZpZ0JlYW47XG5AbGV0IGlzQXBwSW5pdGlhdGVkQWN0aW9uID0ga2NDb250ZXh0LmlzQXBwSW5pdGlhdGVkQWN0aW9uO1xuXG48bmctdGVtcGxhdGUgI2hlYWRlck5vZGU+XG4gICAge3sgaTE4bi5tc2dTdHIoJ3JlY292ZXJ5LWNvZGUtY29uZmlnLWhlYWRlcicpIH19XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2XG4gICAgY2xhc3M9XCJwZi1jLWFsZXJ0IHBmLW0td2FybmluZyBwZi1tLWlubGluZVwiXG4gICAgYXJpYS1sYWJlbD1cIldhcm5pbmcgYWxlcnRcIlxuICAgIFtrY0NsYXNzXT1cIidrY1JlY292ZXJ5Q29kZXNXYXJuaW5nJ1wiXG4+XG4gICAgPGRpdiBjbGFzcz1cInBmLWMtYWxlcnRfX2ljb25cIj5cbiAgICAgICAgPGlcbiAgICAgICAgICAgIGNsYXNzPVwicGZpY29uLXdhcm5pbmctdHJpYW5nbGUtb1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9pPlxuICAgIDwvZGl2PlxuICAgIDxoNCBjbGFzcz1cInBmLWMtYWxlcnRfX3RpdGxlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGYtc2NyZWVuLXJlYWRlclwiPldhcm5pbmcgYWxlcnQ6PC9zcGFuPlxuICAgICAgICB7eyBpMThuLm1zZ1N0cigncmVjb3ZlcnktY29kZS1jb25maWctd2FybmluZy10aXRsZScpIH19XG4gICAgPC9oND5cbiAgICA8ZGl2IGNsYXNzPVwicGYtYy1hbGVydF9fZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPHA+e3sgaTE4bi5tc2dTdHIoJ3JlY292ZXJ5LWNvZGUtY29uZmlnLXdhcm5pbmctbWVzc2FnZScpIH19PC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxvbFxuICAgIFtpZF09XCJvbFJlY292ZXJ5Q29kZXNMaXN0SWRcIlxuICAgIFtrY0NsYXNzXT1cIidrY1JlY292ZXJ5Q29kZXNMaXN0J1wiXG4+XG4gICAgQGZvciAoY29kZSBvZiByZWNvdmVyeUF1dGhuQ29kZXNDb25maWdCZWFuLmdlbmVyYXRlZFJlY292ZXJ5QXV0aG5Db2Rlc0xpc3Q7IHRyYWNrIGNvZGU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxzcGFuPnt7IGkgKyAxIH19Ojwvc3Bhbj4ge3sgY29kZS5zbGljZSgwLCA0KSB9fS17eyBjb2RlLnNsaWNlKDQsIDgpIH19LXt7IGNvZGUuc2xpY2UoOCkgfX1cbiAgICAgICAgPC9saT5cbiAgICB9XG48L29sPlxuXG48IS0tIGFjdGlvbnMgLS0+XG48ZGl2IFtrY0NsYXNzXT1cIidrY1JlY292ZXJ5Q29kZXNBY3Rpb25zJ1wiPlxuICAgIDxidXR0b25cbiAgICAgICAgaWQ9XCJwcmludFJlY292ZXJ5Q29kZXNcIlxuICAgICAgICBjbGFzcz1cInBmLWMtYnV0dG9uIHBmLW0tbGlua1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgICAgPGlcbiAgICAgICAgICAgIGNsYXNzPVwicGZpY29uLXByaW50XCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L2k+XG4gICAgICAgIHt7IGkxOG4ubXNnU3RyKCdyZWNvdmVyeS1jb2Rlcy1wcmludCcpIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICBpZD1cImRvd25sb2FkUmVjb3ZlcnlDb2Rlc1wiXG4gICAgICAgIGNsYXNzPVwicGYtYy1idXR0b24gcGYtbS1saW5rXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgICA8aVxuICAgICAgICAgICAgY2xhc3M9XCJwZmljb24tc2F2ZVwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9pPlxuICAgICAgICB7eyBpMThuLm1zZ1N0cigncmVjb3ZlcnktY29kZXMtZG93bmxvYWQnKSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgaWQ9XCJjb3B5UmVjb3ZlcnlDb2Rlc1wiXG4gICAgICAgIGNsYXNzPVwicGYtYy1idXR0b24gcGYtbS1saW5rXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgICA8aVxuICAgICAgICAgICAgY2xhc3M9XCJwZmljb24tYmx1ZXByaW50XCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L2k+XG4gICAgICAgIHt7IGkxOG4ubXNnU3RyKCdyZWNvdmVyeS1jb2Rlcy1jb3B5JykgfX1cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48IS0tIGNvbmZpcm1hdGlvbiBjaGVja2JveCAtLT5cblxuPGRpdlxuICAgIGNsYXNzPVwiY2hlY2tib3hcIlxuICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zQ2xhc3MnXCJcbj5cbiAgICA8bGFiZWwgZm9yPVwia2NSZWNvdmVyeUNvZGVzQ29uZmlybWF0aW9uQ2hlY2tcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgaWQ9XCJrY1JlY292ZXJ5Q29kZXNDb25maXJtYXRpb25DaGVja1wiXG4gICAgICAgICAgICBuYW1lPVwia2NSZWNvdmVyeUNvZGVzQ29uZmlybWF0aW9uQ2hlY2tcIlxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjQ2hlY2tJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJ0b2dnbGVSZWNvdmVyeUNvZGVzQ29uZmlybWF0aW9uKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVSZWNvdmVyeUNvZGVzQ29uZmlybWF0aW9uLnNldCgkYW55KCRldmVudC50YXJnZXQpLmNoZWNrZWQpXCJcbiAgICAgICAgLz5cbiAgICAgICAge3sgaTE4bi5tc2dTdHIoJ3JlY292ZXJ5LWNvZGVzLWNvbmZpcm1hdGlvbi1tZXNzYWdlJykgfX1cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG5cbjxmb3JtXG4gICAgaWQ9XCJrYy1yZWNvdmVyeS1jb2Rlcy1zZXR0aW5ncy1mb3JtXCJcbiAgICBtZXRob2Q9XCJwb3N0XCJcbiAgICBbYWN0aW9uXT1cImtjQ29udGV4dC51cmwubG9naW5BY3Rpb25cIlxuICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiXG4+XG4gICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICBuYW1lPVwiZ2VuZXJhdGVkUmVjb3ZlcnlBdXRobkNvZGVzXCJcbiAgICAgICAgW3ZhbHVlXT1cInJlY292ZXJ5QXV0aG5Db2Rlc0NvbmZpZ0JlYW4uZ2VuZXJhdGVkUmVjb3ZlcnlBdXRobkNvZGVzQXNTdHJpbmdcIlxuICAgIC8+XG4gICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICBuYW1lPVwiZ2VuZXJhdGVkQXRcIlxuICAgICAgICBbdmFsdWVdPVwicmVjb3ZlcnlBdXRobkNvZGVzQ29uZmlnQmVhbi5nZW5lcmF0ZWRBdFwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgIGlkPVwidXNlckxhYmVsXCJcbiAgICAgICAgbmFtZT1cInVzZXJMYWJlbFwiXG4gICAgICAgIFt2YWx1ZV09XCJpMThuLm1zZ1N0cigncmVjb3ZlcnktY29kZXMtbGFiZWwtZGVmYXVsdCcpXCJcbiAgICAvPlxuXG4gICAgPGtjLWxvZ291dC1vdGhlci1zZXNzaW9ucyAvPlxuXG4gICAgQGlmIChpc0FwcEluaXRpYXRlZEFjdGlvbikge1xuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgaWQ9XCJzYXZlUmVjb3ZlcnlBdXRobkNvZGVzQnRuXCJcbiAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkxhcmdlQ2xhc3MnXVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaTE4bi5tc2dTdHIoJ3JlY292ZXJ5LWNvZGVzLWFjdGlvbi1jb21wbGV0ZScpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhdG9nZ2xlUmVjb3ZlcnlDb2Rlc0NvbmZpcm1hdGlvbigpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBpZD1cImNhbmNlbFJlY292ZXJ5QXV0aG5Db2Rlc0J0blwiXG4gICAgICAgICAgICBuYW1lPVwiY2FuY2VsLWFpYVwiXG4gICAgICAgICAgICB2YWx1ZT1cInRydWVcIlxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiWydrY0J1dHRvbkNsYXNzJywgJ2tjQnV0dG9uRGVmYXVsdENsYXNzJywgJ2tjQnV0dG9uTGFyZ2VDbGFzcyddXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ3JlY292ZXJ5LWNvZGVzLWFjdGlvbi1jYW5jZWwnKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIGlkPVwic2F2ZVJlY292ZXJ5QXV0aG5Db2Rlc0J0blwiXG4gICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25CbG9ja0NsYXNzJywgJ2tjQnV0dG9uTGFyZ2VDbGFzcyddXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpMThuLm1zZ1N0cigncmVjb3ZlcnktY29kZXMtYWN0aW9uLWNvbXBsZXRlJylcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiF0b2dnbGVSZWNvdmVyeUNvZGVzQ29uZmlybWF0aW9uKClcIlxuICAgICAgICAvPlxuICAgIH1cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './login-recovery-authn-code-input.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vcGFnZXMvbG9naW4tcmVjb3ZlcnktYXV0aG4tY29kZS1pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0LmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWtpZnktYW5ndWxhci1sb2dpbi1wYWdlcy1sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtaW5wdXQva2V5Y2xvYWtpZnktYW5ndWxhci1sb2dpbi1wYWdlcy1sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject, viewChild } from '@angular/core';
|
|
2
|
-
import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
|
|
3
|
-
import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
|
|
4
|
-
import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
|
|
5
|
-
import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
|
|
6
|
-
import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
|
|
7
|
-
import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
|
|
8
|
-
import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class LoginRecoveryAuthnCodeInputComponent extends ComponentReference {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.kcContext = inject(KC_LOGIN_CONTEXT);
|
|
14
|
-
this.i18n = inject(LOGIN_I18N);
|
|
15
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
16
|
-
this.classes = inject(LOGIN_CLASSES);
|
|
17
|
-
this.displayRequiredFields = false;
|
|
18
|
-
this.displayInfo = true;
|
|
19
|
-
this.displayMessage = this.kcContext.messagesPerField.existsError('recoveryCodeInput');
|
|
20
|
-
this.headerNode = viewChild('headerNode');
|
|
21
|
-
this.infoNode = viewChild('infoNode');
|
|
22
|
-
this.socialProvidersNode = viewChild('socialProvidersNode');
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginRecoveryAuthnCodeInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: LoginRecoveryAuthnCodeInputComponent, isStandalone: true, selector: "kc-login-recovery-authn-code-input", providers: [
|
|
26
|
-
{
|
|
27
|
-
provide: ComponentReference,
|
|
28
|
-
useExisting: forwardRef(() => LoginRecoveryAuthnCodeInputComponent)
|
|
29
|
-
}
|
|
30
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let recoveryAuthnCodesInputBean = kcContext.recoveryAuthnCodesInputBean;\n@let messagesPerField = kcContext.messagesPerField;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('auth-recovery-code-header') }}\n</ng-template>\n\n<form\n id=\"kc-recovery-code-login-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"recoveryCodeInput\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('auth-recovery-code-prompt', recoveryAuthnCodesInputBean.codeNumber.toString()) }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n tabIndex=\"1\"\n id=\"recoveryCodeInput\"\n name=\"recoveryCodeInput\"\n autoComplete=\"off\"\n type=\"text\"\n autoFocus\n [attr.aria-invalid]=\"messagesPerField.existsError('recoveryCodeInput')\"\n [kcClass]=\"'kcInputClass'\"\n />\n @if (messagesPerField.existsError('recoveryCodeInput')) {\n <span\n id=\"input-error\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('recoveryCodeInput') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsWrapperClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doLogIn')\"\n />\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginRecoveryAuthnCodeInputComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ standalone: true, imports: [KcClassDirective, KcSanitizePipe], selector: 'kc-login-recovery-authn-code-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
35
|
-
{
|
|
36
|
-
provide: ComponentReference,
|
|
37
|
-
useExisting: forwardRef(() => LoginRecoveryAuthnCodeInputComponent)
|
|
38
|
-
}
|
|
39
|
-
], template: "@let url = kcContext.url;\n@let recoveryAuthnCodesInputBean = kcContext.recoveryAuthnCodesInputBean;\n@let messagesPerField = kcContext.messagesPerField;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('auth-recovery-code-header') }}\n</ng-template>\n\n<form\n id=\"kc-recovery-code-login-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"recoveryCodeInput\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('auth-recovery-code-prompt', recoveryAuthnCodesInputBean.codeNumber.toString()) }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n tabIndex=\"1\"\n id=\"recoveryCodeInput\"\n name=\"recoveryCodeInput\"\n autoComplete=\"off\"\n type=\"text\"\n autoFocus\n [attr.aria-invalid]=\"messagesPerField.existsError('recoveryCodeInput')\"\n [kcClass]=\"'kcInputClass'\"\n />\n @if (messagesPerField.existsError('recoveryCodeInput')) {\n <span\n id=\"input-error\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('recoveryCodeInput') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsWrapperClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doLogIn')\"\n />\n </div>\n </div>\n</form>\n" }]
|
|
40
|
-
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVjb3ZlcnktYXV0aG4tY29kZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vcGFnZXMvbG9naW4tcmVjb3ZlcnktYXV0aG4tY29kZS1pbnB1dC9sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0L2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFvQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLG9DQUFxQyxTQUFRLGtCQUFrQjtJQWI1RTs7UUFjSSxjQUFTLEdBQUcsTUFBTSxDQUF3RSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVHLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFLNUUsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG1CQUFjLEdBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUUzRixlQUFVLEdBQUcsU0FBUyxDQUEyQixZQUFZLENBQUMsQ0FBQztRQUMvRCxhQUFRLEdBQUcsU0FBUyxDQUEyQixVQUFVLENBQUMsQ0FBQztRQUMzRCx3QkFBbUIsR0FBRyxTQUFTLENBQTJCLHFCQUFxQixDQUFDLENBQUM7S0FDcEY7K0dBakJZLG9DQUFvQzttR0FBcEMsb0NBQW9DLGlGQVBsQztZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0NBQW9DLENBQUM7YUFDdEU7U0FDSiwrWUN2QkwsaXdFQWtFQSw0Q0RwRGMsZ0JBQWdCLDBGQUFFLGNBQWM7OzRGQVdqQyxvQ0FBb0M7a0JBYmhELFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLFlBQ2pDLG9DQUFvQyxtQkFFN0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQ0FBcUMsQ0FBQzt5QkFDdEU7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIHR5cGUgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2NTYW5pdGl6ZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMva2Mtc2FuaXRpemUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzJztcbmltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBLY0NvbnRleHQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgTE9HSU5fQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9jbGFzc2VzJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyBLQ19MT0dJTl9DT05URVhUIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2tjLWNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBLY1Nhbml0aXplUGlwZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2dpblJlY292ZXJ5QXV0aG5Db2RlSW5wdXRDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luUmVjb3ZlcnlBdXRobkNvZGVJbnB1dENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAga2NDb250ZXh0ID0gaW5qZWN0PEV4dHJhY3Q8S2NDb250ZXh0LCB7IHBhZ2VJZDogJ2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtaW5wdXQuZnRsJyB9Pj4oS0NfTE9HSU5fQ09OVEVYVCk7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcblxuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGRvY3VtZW50VGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBib2R5Q2xhc3NOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBkaXNwbGF5UmVxdWlyZWRGaWVsZHMgPSBmYWxzZTtcbiAgICBkaXNwbGF5SW5mbyA9IHRydWU7XG4gICAgZGlzcGxheU1lc3NhZ2U6IGJvb2xlYW4gPSB0aGlzLmtjQ29udGV4dC5tZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdyZWNvdmVyeUNvZGVJbnB1dCcpO1xuXG4gICAgaGVhZGVyTm9kZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdoZWFkZXJOb2RlJyk7XG4gICAgaW5mb05vZGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaW5mb05vZGUnKTtcbiAgICBzb2NpYWxQcm92aWRlcnNOb2RlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ3NvY2lhbFByb3ZpZGVyc05vZGUnKTtcbn1cbiIsIkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgcmVjb3ZlcnlBdXRobkNvZGVzSW5wdXRCZWFuID0ga2NDb250ZXh0LnJlY292ZXJ5QXV0aG5Db2Rlc0lucHV0QmVhbjtcbkBsZXQgbWVzc2FnZXNQZXJGaWVsZCA9IGtjQ29udGV4dC5tZXNzYWdlc1BlckZpZWxkO1xuXG48bmctdGVtcGxhdGUgI2hlYWRlck5vZGU+XG4gICAge3sgaTE4bi5tc2dTdHIoJ2F1dGgtcmVjb3ZlcnktY29kZS1oZWFkZXInKSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPGZvcm1cbiAgICBpZD1cImtjLXJlY292ZXJ5LWNvZGUtbG9naW4tZm9ybVwiXG4gICAgbWV0aG9kPVwicG9zdFwiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiXG4gICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuPlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCI+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJyZWNvdmVyeUNvZGVJbnB1dFwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdhdXRoLXJlY292ZXJ5LWNvZGUtcHJvbXB0JywgcmVjb3ZlcnlBdXRobkNvZGVzSW5wdXRCZWFuLmNvZGVOdW1iZXIudG9TdHJpbmcoKSkgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0lucHV0V3JhcHBlckNsYXNzJ1wiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdGFiSW5kZXg9XCIxXCJcbiAgICAgICAgICAgICAgICBpZD1cInJlY292ZXJ5Q29kZUlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwicmVjb3ZlcnlDb2RlSW5wdXRcIlxuICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdyZWNvdmVyeUNvZGVJbnB1dCcpXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgQGlmIChtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdyZWNvdmVyeUNvZGVJbnB1dCcpKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJpbnB1dC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0RXJyb3JNZXNzYWdlQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJtZXNzYWdlc1BlckZpZWxkLmdldCgncmVjb3ZlcnlDb2RlSW5wdXQnKSB8IGtjU2FuaXRpemU6ICdodG1sJ1wiXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBpZD1cImtjLWZvcm0tb3B0aW9uc1wiXG4gICAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtT3B0aW9uc1dyYXBwZXJDbGFzcydcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zV3JhcHBlckNsYXNzJ1wiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJrYy1mb3JtLWJ1dHRvbnNcIlxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBuYW1lPVwibG9naW5cIlxuICAgICAgICAgICAgICAgIGlkPVwia2MtbG9naW5cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkJsb2NrQ2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpMThuLm1zZ1N0cignZG9Mb2dJbicpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './login-reset-otp.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vcGFnZXMvbG9naW4tcmVzZXQtb3RwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xvZ2luLXJlc2V0LW90cC5jb21wb25lbnQnO1xuIl19
|
package/esm2022/login/pages/login-reset-otp/keycloakify-angular-login-pages-login-reset-otp.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWtpZnktYW5ndWxhci1sb2dpbi1wYWdlcy1sb2dpbi1yZXNldC1vdHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vcGFnZXMvbG9naW4tcmVzZXQtb3RwL2tleWNsb2FraWZ5LWFuZ3VsYXItbG9naW4tcGFnZXMtbG9naW4tcmVzZXQtb3RwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject, viewChild } from '@angular/core';
|
|
2
|
-
import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
|
|
3
|
-
import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
|
|
4
|
-
import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
|
|
5
|
-
import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
|
|
6
|
-
import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
|
|
7
|
-
import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class LoginResetOtpComponent extends ComponentReference {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.kcContext = inject(KC_LOGIN_CONTEXT);
|
|
13
|
-
this.i18n = inject(LOGIN_I18N);
|
|
14
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
15
|
-
this.classes = inject(LOGIN_CLASSES);
|
|
16
|
-
this.displayRequiredFields = false;
|
|
17
|
-
this.displayInfo = true;
|
|
18
|
-
this.displayMessage = this.kcContext.messagesPerField.existsError('totp');
|
|
19
|
-
this.headerNode = viewChild('headerNode');
|
|
20
|
-
this.infoNode = viewChild('infoNode');
|
|
21
|
-
this.socialProvidersNode = viewChild('socialProvidersNode');
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginResetOtpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: LoginResetOtpComponent, isStandalone: true, selector: "kc-login-reset-otp", providers: [
|
|
25
|
-
{
|
|
26
|
-
provide: ComponentReference,
|
|
27
|
-
useExisting: forwardRef(() => LoginResetOtpComponent)
|
|
28
|
-
}
|
|
29
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let configuredOtpCredentials = kcContext.configuredOtpCredentials;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n\n<form\n id=\"kc-otp-reset-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <div [kcClass]=\"'kcInfoAreaWrapperClass'\">\n <p id=\"kc-otp-reset-form-description\">\n {{ i18n.msgStr('otp-reset-description') }}\n </p>\n @for (otpCredential of configuredOtpCredentials.userOtpCredentials; track otpCredential; let i = $index) {\n <input\n type=\"radio\"\n name=\"selectedCredentialId\"\n [id]=\"'kc-otp-credential-' + i\"\n [kcClass]=\"'kcLoginOTPListInputClass'\"\n [value]=\"otpCredential.id\"\n [defaultChecked]=\"otpCredential.id === configuredOtpCredentials.selectedCredentialId\"\n />\n <label\n for=\"kc-otp-credential-0\"\n [kcClass]=\"'kcLoginOTPListClass'\"\n [tabIndex]=\"i\"\n >\n <span [kcClass]=\"'kcLoginOTPListItemHeaderClass'\">\n <span [kcClass]=\"'kcLoginOTPListItemIconBodyClass'\">\n <i\n aria-hidden=\"true\"\n [kcClass]=\"'kcLoginOTPListItemIconClass'\"\n ></i>\n </span>\n <span [kcClass]=\"'kcLoginOTPListItemTitleClass'\">{{ otpCredential.userLabel }}</span>\n </span>\n </label>\n }\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n id=\"kc-otp-reset-form-submit\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n </div>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginResetOtpComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ standalone: true, imports: [KcClassDirective], selector: 'kc-login-reset-otp', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
34
|
-
{
|
|
35
|
-
provide: ComponentReference,
|
|
36
|
-
useExisting: forwardRef(() => LoginResetOtpComponent)
|
|
37
|
-
}
|
|
38
|
-
], template: "@let url = kcContext.url;\n@let configuredOtpCredentials = kcContext.configuredOtpCredentials;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n\n<form\n id=\"kc-otp-reset-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <div [kcClass]=\"'kcInfoAreaWrapperClass'\">\n <p id=\"kc-otp-reset-form-description\">\n {{ i18n.msgStr('otp-reset-description') }}\n </p>\n @for (otpCredential of configuredOtpCredentials.userOtpCredentials; track otpCredential; let i = $index) {\n <input\n type=\"radio\"\n name=\"selectedCredentialId\"\n [id]=\"'kc-otp-credential-' + i\"\n [kcClass]=\"'kcLoginOTPListInputClass'\"\n [value]=\"otpCredential.id\"\n [defaultChecked]=\"otpCredential.id === configuredOtpCredentials.selectedCredentialId\"\n />\n <label\n for=\"kc-otp-credential-0\"\n [kcClass]=\"'kcLoginOTPListClass'\"\n [tabIndex]=\"i\"\n >\n <span [kcClass]=\"'kcLoginOTPListItemHeaderClass'\">\n <span [kcClass]=\"'kcLoginOTPListItemIconBodyClass'\">\n <i\n aria-hidden=\"true\"\n [kcClass]=\"'kcLoginOTPListItemIconClass'\"\n ></i>\n </span>\n <span [kcClass]=\"'kcLoginOTPListItemTitleClass'\">{{ otpCredential.userLabel }}</span>\n </span>\n </label>\n }\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n id=\"kc-otp-reset-form-submit\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n </div>\n </div>\n </div>\n </div>\n</form>\n" }]
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVzZXQtb3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZXNldC1vdHAvbG9naW4tcmVzZXQtb3RwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZXNldC1vdHAvbG9naW4tcmVzZXQtb3RwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBb0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWI5RDs7UUFjSSxjQUFTLEdBQUcsTUFBTSxDQUF3RCxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVGLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFLNUUsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG1CQUFjLEdBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUUsZUFBVSxHQUFHLFNBQVMsQ0FBMkIsWUFBWSxDQUFDLENBQUM7UUFDL0QsYUFBUSxHQUFHLFNBQVMsQ0FBMkIsVUFBVSxDQUFDLENBQUM7UUFDM0Qsd0JBQW1CLEdBQUcsU0FBUyxDQUEyQixxQkFBcUIsQ0FBQyxDQUFDO0tBQ3BGOytHQWpCWSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpRUFQcEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ3hEO1NBQ0osK1lDdEJMLGc0RUEyREEsNENEOUNjLGdCQUFnQjs7NEZBV2pCLHNCQUFzQjtrQkFibEMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNqQixvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzt5QkFDeEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIHR5cGUgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzJztcbmltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBLY0NvbnRleHQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgTE9HSU5fQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9jbGFzc2VzJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyBLQ19MT0dJTl9DT05URVhUIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2tjLWNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlXSxcbiAgICBzZWxlY3RvcjogJ2tjLWxvZ2luLXJlc2V0LW90cCcsXG4gICAgdGVtcGxhdGVVcmw6ICdsb2dpbi1yZXNldC1vdHAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2dpblJlc2V0T3RwQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpblJlc2V0T3RwQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBrY0NvbnRleHQgPSBpbmplY3Q8RXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAnbG9naW4tcmVzZXQtb3RwLmZ0bCcgfT4+KEtDX0xPR0lOX0NPTlRFWFQpO1xuICAgIGkxOG4gPSBpbmplY3Q8STE4bj4oTE9HSU5fSTE4Tik7XG5cbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oTE9HSU5fQ0xBU1NFUyk7XG5cbiAgICBkb2N1bWVudFRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgYm9keUNsYXNzTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgZGlzcGxheVJlcXVpcmVkRmllbGRzID0gZmFsc2U7XG4gICAgZGlzcGxheUluZm8gPSB0cnVlO1xuICAgIGRpc3BsYXlNZXNzYWdlOiBib29sZWFuID0gdGhpcy5rY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigndG90cCcpO1xuXG4gICAgaGVhZGVyTm9kZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdoZWFkZXJOb2RlJyk7XG4gICAgaW5mb05vZGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaW5mb05vZGUnKTtcbiAgICBzb2NpYWxQcm92aWRlcnNOb2RlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ3NvY2lhbFByb3ZpZGVyc05vZGUnKTtcbn1cbiIsIkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgY29uZmlndXJlZE90cENyZWRlbnRpYWxzID0ga2NDb250ZXh0LmNvbmZpZ3VyZWRPdHBDcmVkZW50aWFscztcblxuPG5nLXRlbXBsYXRlICNoZWFkZXJOb2RlPlxuICAgIHt7IGkxOG4ubXNnU3RyKCdkb0xvZ0luJykgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxmb3JtXG4gICAgaWQ9XCJrYy1vdHAtcmVzZXQtZm9ybVwiXG4gICAgbWV0aG9kPVwicG9zdFwiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiXG4gICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuPlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5mb0FyZWFXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8cCBpZD1cImtjLW90cC1yZXNldC1mb3JtLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ290cC1yZXNldC1kZXNjcmlwdGlvbicpIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICBAZm9yIChvdHBDcmVkZW50aWFsIG9mIGNvbmZpZ3VyZWRPdHBDcmVkZW50aWFscy51c2VyT3RwQ3JlZGVudGlhbHM7IHRyYWNrIG90cENyZWRlbnRpYWw7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzZWxlY3RlZENyZWRlbnRpYWxJZFwiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCIna2Mtb3RwLWNyZWRlbnRpYWwtJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NMb2dpbk9UUExpc3RJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvdHBDcmVkZW50aWFsLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDaGVja2VkXT1cIm90cENyZWRlbnRpYWwuaWQgPT09IGNvbmZpZ3VyZWRPdHBDcmVkZW50aWFscy5zZWxlY3RlZENyZWRlbnRpYWxJZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwia2Mtb3RwLWNyZWRlbnRpYWwtMFwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdEl0ZW1IZWFkZXJDbGFzcydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdEl0ZW1JY29uQm9keUNsYXNzJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdEl0ZW1JY29uQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2tjQ2xhc3NdPVwiJ2tjTG9naW5PVFBMaXN0SXRlbVRpdGxlQ2xhc3MnXCI+e3sgb3RwQ3JlZGVudGlhbC51c2VyTGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGlkPVwia2MtZm9ybS1idXR0b25zXCJcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cImtjLW90cC1yZXNldC1mb3JtLXN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkJsb2NrQ2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImkxOG4ubXNnU3RyKCdkb1N1Ym1pdCcpXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './login-reset-password.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vcGFnZXMvbG9naW4tcmVzZXQtcGFzc3dvcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9naW4tcmVzZXQtcGFzc3dvcmQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWtpZnktYW5ndWxhci1sb2dpbi1wYWdlcy1sb2dpbi1yZXNldC1wYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZXNldC1wYXNzd29yZC9rZXljbG9ha2lmeS1hbmd1bGFyLWxvZ2luLXBhZ2VzLWxvZ2luLXJlc2V0LXBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject, viewChild } from '@angular/core';
|
|
2
|
-
import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
|
|
3
|
-
import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
|
|
4
|
-
import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
|
|
5
|
-
import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
|
|
6
|
-
import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
|
|
7
|
-
import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
|
|
8
|
-
import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class LoginResetPasswordComponent extends ComponentReference {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.kcContext = inject(KC_LOGIN_CONTEXT);
|
|
14
|
-
this.i18n = inject(LOGIN_I18N);
|
|
15
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
16
|
-
this.classes = inject(LOGIN_CLASSES);
|
|
17
|
-
this.displayRequiredFields = false;
|
|
18
|
-
this.displayInfo = false;
|
|
19
|
-
this.displayMessage = this.kcContext.messagesPerField.existsError('username');
|
|
20
|
-
this.headerNode = viewChild('headerNode');
|
|
21
|
-
this.infoNode = viewChild('infoNode');
|
|
22
|
-
this.socialProvidersNode = viewChild('socialProvidersNode');
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginResetPasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: LoginResetPasswordComponent, isStandalone: true, selector: "kc-login-reset-password", providers: [
|
|
26
|
-
{
|
|
27
|
-
provide: ComponentReference,
|
|
28
|
-
useExisting: forwardRef(() => LoginResetPasswordComponent)
|
|
29
|
-
}
|
|
30
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let realm = kcContext.realm;\n@let auth = kcContext.auth;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('emailForgotTitle') }}\n</ng-template>\n<ng-template #infoNode>\n @let realm = kcContext.realm;\n @if (realm.duplicateEmailsAllowed) {\n {{ i18n.msgStr('emailInstructionUsername') }}\n } @else {\n {{ i18n.msgStr('emailInstruction') }}\n }\n</ng-template>\n\n<form\n id=\"kc-passwd-update-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"password-new\"\n [kcClass]=\"'kcLabelClass'\"\n >\n @if (!realm.loginWithEmailAllowed) {\n {{ i18n.msgStr('username') }}\n } @else if (!realm.registrationEmailAsUsername) {\n {{ i18n.msgStr('usernameOrEmail') }}\n } @else {\n {{ i18n.msgStr('email') }}\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n type=\"text\"\n id=\"username\"\n name=\"username\"\n autoFocus\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('username')\"\n [defaultValue]=\"auth.attemptedUsername ?? ''\"\n />\n\n @if (messagesPerField.existsError('username')) {\n <span\n id=\"input-error-username\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHtml]=\"messagesPerField.get('username') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n\n <div [kcClass]=\"['kcFormGroupClass', 'kcFormSettingClass']\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <span>\n <a\n [href]=\"url.loginUrl\"\n [innerHTML]=\"i18n.msgStr('backToLogin') | kcSanitize: 'html'\"\n ></a>\n </span>\n </div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginResetPasswordComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ standalone: true, imports: [KcClassDirective, KcSanitizePipe], selector: 'kc-login-reset-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
35
|
-
{
|
|
36
|
-
provide: ComponentReference,
|
|
37
|
-
useExisting: forwardRef(() => LoginResetPasswordComponent)
|
|
38
|
-
}
|
|
39
|
-
], template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let realm = kcContext.realm;\n@let auth = kcContext.auth;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('emailForgotTitle') }}\n</ng-template>\n<ng-template #infoNode>\n @let realm = kcContext.realm;\n @if (realm.duplicateEmailsAllowed) {\n {{ i18n.msgStr('emailInstructionUsername') }}\n } @else {\n {{ i18n.msgStr('emailInstruction') }}\n }\n</ng-template>\n\n<form\n id=\"kc-passwd-update-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"password-new\"\n [kcClass]=\"'kcLabelClass'\"\n >\n @if (!realm.loginWithEmailAllowed) {\n {{ i18n.msgStr('username') }}\n } @else if (!realm.registrationEmailAsUsername) {\n {{ i18n.msgStr('usernameOrEmail') }}\n } @else {\n {{ i18n.msgStr('email') }}\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n type=\"text\"\n id=\"username\"\n name=\"username\"\n autoFocus\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('username')\"\n [defaultValue]=\"auth.attemptedUsername ?? ''\"\n />\n\n @if (messagesPerField.existsError('username')) {\n <span\n id=\"input-error-username\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHtml]=\"messagesPerField.get('username') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n\n <div [kcClass]=\"['kcFormGroupClass', 'kcFormSettingClass']\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <span>\n <a\n [href]=\"url.loginUrl\"\n [innerHTML]=\"i18n.msgStr('backToLogin') | kcSanitize: 'html'\"\n ></a>\n </span>\n </div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n </div>\n </div>\n</form>\n" }]
|
|
40
|
-
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVzZXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLXJlc2V0LXBhc3N3b3JkL2xvZ2luLXJlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZXNldC1wYXNzd29yZC9sb2dpbi1yZXNldC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQW9CLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBZ0JoRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsa0JBQWtCO0lBYm5FOztRQWNJLGNBQVMsR0FBRyxNQUFNLENBQTZELGdCQUFnQixDQUFDLENBQUM7UUFDakcsU0FBSSxHQUFHLE1BQU0sQ0FBTyxVQUFVLENBQUMsQ0FBQztRQUV2QixvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUs1RSwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBWSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRixlQUFVLEdBQUcsU0FBUyxDQUEyQixZQUFZLENBQUMsQ0FBQztRQUMvRCxhQUFRLEdBQUcsU0FBUyxDQUEyQixVQUFVLENBQUMsQ0FBQztRQUMzRCx3QkFBbUIsR0FBRyxTQUFTLENBQTJCLHFCQUFxQixDQUFDLENBQUM7S0FDcEY7K0dBakJZLDJCQUEyQjttR0FBM0IsMkJBQTJCLHNFQVB6QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7YUFDN0Q7U0FDSiwrWUN2QkwseTBGQXVGQSw0Q0R6RWMsZ0JBQWdCLDBGQUFFLGNBQWM7OzRGQVdqQywyQkFBMkI7a0JBYnZDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLFlBQ2pDLHlCQUF5QixtQkFFbEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQzt5QkFDN0Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIHR5cGUgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2NTYW5pdGl6ZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMva2Mtc2FuaXRpemUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzJztcbmltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBLY0NvbnRleHQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgTE9HSU5fQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9jbGFzc2VzJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyBLQ19MT0dJTl9DT05URVhUIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2tjLWNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBLY1Nhbml0aXplUGlwZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1sb2dpbi1yZXNldC1wYXNzd29yZCcsXG4gICAgdGVtcGxhdGVVcmw6ICdsb2dpbi1yZXNldC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ2luUmVzZXRQYXNzd29yZENvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5SZXNldFBhc3N3b3JkQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBrY0NvbnRleHQgPSBpbmplY3Q8RXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAnbG9naW4tcmVzZXQtcGFzc3dvcmQuZnRsJyB9Pj4oS0NfTE9HSU5fQ09OVEVYVCk7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcblxuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGRvY3VtZW50VGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBib2R5Q2xhc3NOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBkaXNwbGF5UmVxdWlyZWRGaWVsZHMgPSBmYWxzZTtcbiAgICBkaXNwbGF5SW5mbyA9IGZhbHNlO1xuICAgIGRpc3BsYXlNZXNzYWdlOiBib29sZWFuID0gdGhpcy5rY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigndXNlcm5hbWUnKTtcblxuICAgIGhlYWRlck5vZGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaGVhZGVyTm9kZScpO1xuICAgIGluZm9Ob2RlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ2luZm9Ob2RlJyk7XG4gICAgc29jaWFsUHJvdmlkZXJzTm9kZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdzb2NpYWxQcm92aWRlcnNOb2RlJyk7XG59XG4iLCJAbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG5AbGV0IG1lc3NhZ2VzUGVyRmllbGQgPSBrY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZDtcbkBsZXQgcmVhbG0gPSBrY0NvbnRleHQucmVhbG07XG5AbGV0IGF1dGggPSBrY0NvbnRleHQuYXV0aDtcblxuPG5nLXRlbXBsYXRlICNoZWFkZXJOb2RlPlxuICAgIHt7IGkxOG4ubXNnU3RyKCdlbWFpbEZvcmdvdFRpdGxlJykgfX1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2luZm9Ob2RlPlxuICAgIEBsZXQgcmVhbG0gPSBrY0NvbnRleHQucmVhbG07XG4gICAgQGlmIChyZWFsbS5kdXBsaWNhdGVFbWFpbHNBbGxvd2VkKSB7XG4gICAgICAgIHt7IGkxOG4ubXNnU3RyKCdlbWFpbEluc3RydWN0aW9uVXNlcm5hbWUnKSB9fVxuICAgIH0gQGVsc2Uge1xuICAgICAgICB7eyBpMThuLm1zZ1N0cignZW1haWxJbnN0cnVjdGlvbicpIH19XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPGZvcm1cbiAgICBpZD1cImtjLXBhc3N3ZC11cGRhdGUtZm9ybVwiXG4gICAgbWV0aG9kPVwicG9zdFwiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiXG4gICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuPlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCI+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJwYXNzd29yZC1uZXdcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKCFyZWFsbS5sb2dpbldpdGhFbWFpbEFsbG93ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ3VzZXJuYW1lJykgfX1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICghcmVhbG0ucmVnaXN0cmF0aW9uRW1haWxBc1VzZXJuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCd1c2VybmFtZU9yRW1haWwnKSB9fVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLm1zZ1N0cignZW1haWwnKSB9fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3VzZXJuYW1lJylcIlxuICAgICAgICAgICAgICAgIFtkZWZhdWx0VmFsdWVdPVwiYXV0aC5hdHRlbXB0ZWRVc2VybmFtZSA/PyAnJ1wiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICBAaWYgKG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3VzZXJuYW1lJykpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBpZD1cImlucHV0LWVycm9yLXVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRFcnJvck1lc3NhZ2VDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIm1lc3NhZ2VzUGVyRmllbGQuZ2V0KCd1c2VybmFtZScpIHwga2NTYW5pdGl6ZTogJ2h0bWwnXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiWydrY0Zvcm1Hcm91cENsYXNzJywgJ2tjRm9ybVNldHRpbmdDbGFzcyddXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGlkPVwia2MtZm9ybS1vcHRpb25zXCJcbiAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zQ2xhc3MnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtT3B0aW9uc1dyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cInVybC5sb2dpblVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImkxOG4ubXNnU3RyKCdiYWNrVG9Mb2dpbicpIHwga2NTYW5pdGl6ZTogJ2h0bWwnXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGlkPVwia2MtZm9ybS1idXR0b25zXCJcbiAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1CdXR0b25zQ2xhc3MnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiWydrY0J1dHRvbkNsYXNzJywgJ2tjQnV0dG9uUHJpbWFyeUNsYXNzJywgJ2tjQnV0dG9uQmxvY2tDbGFzcycsICdrY0J1dHRvbkxhcmdlQ2xhc3MnXVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImkxOG4ubXNnU3RyKCdkb1N1Ym1pdCcpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './login-update-password.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vcGFnZXMvbG9naW4tdXBkYXRlLXBhc3N3b3JkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xvZ2luLXVwZGF0ZS1wYXNzd29yZC5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWtpZnktYW5ndWxhci1sb2dpbi1wYWdlcy1sb2dpbi11cGRhdGUtcGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vcGFnZXMvbG9naW4tdXBkYXRlLXBhc3N3b3JkL2tleWNsb2FraWZ5LWFuZ3VsYXItbG9naW4tcGFnZXMtbG9naW4tdXBkYXRlLXBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject, viewChild } from '@angular/core';
|
|
2
|
-
import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
|
|
3
|
-
import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
|
|
4
|
-
import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
|
|
5
|
-
import { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';
|
|
6
|
-
import { PasswordWrapperComponent } from '@keycloakify/angular/login/components/password-wrapper';
|
|
7
|
-
import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
|
|
8
|
-
import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
|
|
9
|
-
import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
|
|
10
|
-
import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class LoginUpdatePasswordComponent extends ComponentReference {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this.kcContext = inject(KC_LOGIN_CONTEXT);
|
|
16
|
-
this.i18n = inject(LOGIN_I18N);
|
|
17
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
18
|
-
this.classes = inject(LOGIN_CLASSES);
|
|
19
|
-
this.displayRequiredFields = false;
|
|
20
|
-
this.displayInfo = false;
|
|
21
|
-
this.displayMessage = !this.kcContext.messagesPerField.existsError('password', 'password-confirm');
|
|
22
|
-
this.headerNode = viewChild('headerNode');
|
|
23
|
-
this.infoNode = viewChild('infoNode');
|
|
24
|
-
this.socialProvidersNode = viewChild('socialProvidersNode');
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginUpdatePasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: LoginUpdatePasswordComponent, isStandalone: true, selector: "kc-login-update-password", providers: [
|
|
28
|
-
{
|
|
29
|
-
provide: ComponentReference,
|
|
30
|
-
useExisting: forwardRef(() => LoginUpdatePasswordComponent)
|
|
31
|
-
}
|
|
32
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('updatePasswordTitle') }}\n</ng-template>\n<form\n id=\"kc-passwd-update-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"password-new\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('passwordNew') }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <kc-password-wrapper passwordInputId=\"password-new\">\n <input\n type=\"password\"\n id=\"password-new\"\n name=\"password-new\"\n autoFocus\n autoComplete=\"new-password\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('password', 'password-confirm')\"\n />\n </kc-password-wrapper>\n\n @if (messagesPerField.existsError('password')) {\n <span\n id=\"input-error-password\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHtml]=\"messagesPerField.get('password') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"password-confirm\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('passwordConfirm') }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <kc-password-wrapper passwordInputId=\"password-confirm\">\n <input\n type=\"password\"\n id=\"password-confirm\"\n name=\"password-confirm\"\n autoFocus\n autoComplete=\"new-password\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('password', 'password-confirm')\"\n />\n </kc-password-wrapper>\n @if (messagesPerField.existsError('password-confirm')) {\n <span\n id=\"input-error-password-confirm\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHtml]=\"messagesPerField.get('password-confirm') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <kc-logout-other-sessions />\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [kcClass]=\"{\n kcButtonClass: true,\n kcButtonPrimaryClass: true,\n kcButtonBlockClass: !isAppInitiatedAction,\n kcButtonLargeClass: true\n }\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n @if (isAppInitiatedAction) {\n <button\n type=\"submit\"\n name=\"cancel-aia\"\n value=\"true\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n }\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: PasswordWrapperComponent, selector: "kc-password-wrapper", inputs: ["passwordInputId"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }, { kind: "component", type: LogoutOtherSessionsComponent, selector: "kc-logout-other-sessions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LoginUpdatePasswordComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ standalone: true, imports: [KcClassDirective, PasswordWrapperComponent, KcSanitizePipe, LogoutOtherSessionsComponent], selector: 'kc-login-update-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
37
|
-
{
|
|
38
|
-
provide: ComponentReference,
|
|
39
|
-
useExisting: forwardRef(() => LoginUpdatePasswordComponent)
|
|
40
|
-
}
|
|
41
|
-
], template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('updatePasswordTitle') }}\n</ng-template>\n<form\n id=\"kc-passwd-update-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"password-new\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('passwordNew') }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <kc-password-wrapper passwordInputId=\"password-new\">\n <input\n type=\"password\"\n id=\"password-new\"\n name=\"password-new\"\n autoFocus\n autoComplete=\"new-password\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('password', 'password-confirm')\"\n />\n </kc-password-wrapper>\n\n @if (messagesPerField.existsError('password')) {\n <span\n id=\"input-error-password\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHtml]=\"messagesPerField.get('password') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"password-confirm\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('passwordConfirm') }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <kc-password-wrapper passwordInputId=\"password-confirm\">\n <input\n type=\"password\"\n id=\"password-confirm\"\n name=\"password-confirm\"\n autoFocus\n autoComplete=\"new-password\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('password', 'password-confirm')\"\n />\n </kc-password-wrapper>\n @if (messagesPerField.existsError('password-confirm')) {\n <span\n id=\"input-error-password-confirm\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHtml]=\"messagesPerField.get('password-confirm') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <kc-logout-other-sessions />\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [kcClass]=\"{\n kcButtonClass: true,\n kcButtonPrimaryClass: true,\n kcButtonBlockClass: !isAppInitiatedAction,\n kcButtonLargeClass: true\n }\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n @if (isAppInitiatedAction) {\n <button\n type=\"submit\"\n name=\"cancel-aia\"\n value=\"true\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n }\n </div>\n </div>\n</form>\n" }]
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tdXBkYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi11cGRhdGUtcGFzc3dvcmQvbG9naW4tdXBkYXRlLXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi11cGRhdGUtcGFzc3dvcmQvbG9naW4tdXBkYXRlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBb0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDM0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFHbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFnQmhGLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxrQkFBa0I7SUFicEU7O1FBY0ksY0FBUyxHQUFHLE1BQU0sQ0FBOEQsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRyxTQUFJLEdBQUcsTUFBTSxDQUFPLFVBQVUsQ0FBQyxDQUFDO1FBRXZCLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGFBQWEsQ0FBQyxDQUFDO1FBSzVFLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixtQkFBYyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFOUYsZUFBVSxHQUFHLFNBQVMsQ0FBMkIsWUFBWSxDQUFDLENBQUM7UUFDL0QsYUFBUSxHQUFHLFNBQVMsQ0FBMkIsVUFBVSxDQUFDLENBQUM7UUFDM0Qsd0JBQW1CLEdBQUcsU0FBUyxDQUEyQixxQkFBcUIsQ0FBQyxDQUFDO0tBQ3BGOytHQWpCWSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix1RUFQMUI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2FBQzlEO1NBQ0osK1lDekJMLHkxSEEwR0EsNENEMUZjLGdCQUFnQiwrRkFBRSx3QkFBd0Isd0ZBQUUsY0FBYyxtREFBRSw0QkFBNEI7OzRGQVd6Riw0QkFBNEI7a0JBYnhDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLDRCQUE0QixDQUFDLFlBQ3pGLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzt5QkFDOUQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIHR5cGUgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2NTYW5pdGl6ZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMva2Mtc2FuaXRpemUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IExvZ291dE90aGVyU2Vzc2lvbnNDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2xvZ291dC1vdGhlci1zZXNzaW9ucyc7XG5pbXBvcnQgeyBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXInO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vaTE4bic7XG5pbXBvcnQgdHlwZSB7IEtjQ29udGV4dCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgTE9HSU5fSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9pMThuJztcbmltcG9ydCB7IEtDX0xPR0lOX0NPTlRFWFQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMva2MtY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudCwgS2NTYW5pdGl6ZVBpcGUsIExvZ291dE90aGVyU2Vzc2lvbnNDb21wb25lbnRdLFxuICAgIHNlbGVjdG9yOiAna2MtbG9naW4tdXBkYXRlLXBhc3N3b3JkJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2xvZ2luLXVwZGF0ZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ2luVXBkYXRlUGFzc3dvcmRDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luVXBkYXRlUGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxFeHRyYWN0PEtjQ29udGV4dCwgeyBwYWdlSWQ6ICdsb2dpbi11cGRhdGUtcGFzc3dvcmQuZnRsJyB9Pj4oS0NfTE9HSU5fQ09OVEVYVCk7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcblxuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGRvY3VtZW50VGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBib2R5Q2xhc3NOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBkaXNwbGF5UmVxdWlyZWRGaWVsZHMgPSBmYWxzZTtcbiAgICBkaXNwbGF5SW5mbyA9IGZhbHNlO1xuICAgIGRpc3BsYXlNZXNzYWdlID0gIXRoaXMua2NDb250ZXh0Lm1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3Bhc3N3b3JkJywgJ3Bhc3N3b3JkLWNvbmZpcm0nKTtcblxuICAgIGhlYWRlck5vZGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaGVhZGVyTm9kZScpO1xuICAgIGluZm9Ob2RlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ2luZm9Ob2RlJyk7XG4gICAgc29jaWFsUHJvdmlkZXJzTm9kZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdzb2NpYWxQcm92aWRlcnNOb2RlJyk7XG59XG4iLCJAbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG5AbGV0IG1lc3NhZ2VzUGVyRmllbGQgPSBrY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZDtcbkBsZXQgaXNBcHBJbml0aWF0ZWRBY3Rpb24gPSBrY0NvbnRleHQuaXNBcHBJbml0aWF0ZWRBY3Rpb247XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyTm9kZT5cbiAgICB7eyBpMThuLm1zZ1N0cigndXBkYXRlUGFzc3dvcmRUaXRsZScpIH19XG48L25nLXRlbXBsYXRlPlxuPGZvcm1cbiAgICBpZD1cImtjLXBhc3N3ZC11cGRhdGUtZm9ybVwiXG4gICAgbWV0aG9kPVwicG9zdFwiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiXG4gICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuPlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCI+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJwYXNzd29yZC1uZXdcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpMThuLm1zZ1N0cigncGFzc3dvcmROZXcnKSB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8a2MtcGFzc3dvcmQtd3JhcHBlciBwYXNzd29yZElucHV0SWQ9XCJwYXNzd29yZC1uZXdcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJwYXNzd29yZC1uZXdcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwicGFzc3dvcmQtbmV3XCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0Q2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3Bhc3N3b3JkJywgJ3Bhc3N3b3JkLWNvbmZpcm0nKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwva2MtcGFzc3dvcmQtd3JhcHBlcj5cblxuICAgICAgICAgICAgQGlmIChtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdwYXNzd29yZCcpKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJpbnB1dC1lcnJvci1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0RXJyb3JNZXNzYWdlQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySHRtbF09XCJtZXNzYWdlc1BlckZpZWxkLmdldCgncGFzc3dvcmQnKSB8IGtjU2FuaXRpemU6ICdodG1sJ1wiXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0xhYmVsV3JhcHBlckNsYXNzJ1wiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgZm9yPVwicGFzc3dvcmQtY29uZmlybVwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdwYXNzd29yZENvbmZpcm0nKSB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8a2MtcGFzc3dvcmQtd3JhcHBlciBwYXNzd29yZElucHV0SWQ9XCJwYXNzd29yZC1jb25maXJtXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwicGFzc3dvcmQtY29uZmlybVwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJwYXNzd29yZC1jb25maXJtXCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0Q2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3Bhc3N3b3JkJywgJ3Bhc3N3b3JkLWNvbmZpcm0nKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwva2MtcGFzc3dvcmQtd3JhcHBlcj5cbiAgICAgICAgICAgIEBpZiAobWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigncGFzc3dvcmQtY29uZmlybScpKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJpbnB1dC1lcnJvci1wYXNzd29yZC1jb25maXJtXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRFcnJvck1lc3NhZ2VDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIm1lc3NhZ2VzUGVyRmllbGQuZ2V0KCdwYXNzd29yZC1jb25maXJtJykgfCBrY1Nhbml0aXplOiAnaHRtbCdcIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCI+XG4gICAgICAgIDxrYy1sb2dvdXQtb3RoZXItc2Vzc2lvbnMgLz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJrYy1mb3JtLWJ1dHRvbnNcIlxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgIGtjQnV0dG9uQ2xhc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGtjQnV0dG9uUHJpbWFyeUNsYXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBrY0J1dHRvbkJsb2NrQ2xhc3M6ICFpc0FwcEluaXRpYXRlZEFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAga2NCdXR0b25MYXJnZUNsYXNzOiB0cnVlXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImkxOG4ubXNnU3RyKCdkb1N1Ym1pdCcpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICBAaWYgKGlzQXBwSW5pdGlhdGVkQWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImNhbmNlbC1haWFcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25EZWZhdWx0Q2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2RvQ2FuY2VsJykgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|