@keycloakify/angular 0.0.4 → 0.0.5
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/account/DefaultPage/DefaultPage.d.ts +2 -30
- package/esm2022/account/containers/template/template.component.mjs +6 -6
- package/esm2022/account/directives/kc-class/kc-class.directive.mjs +3 -3
- package/esm2022/account/pages/account/account.component.mjs +3 -3
- package/esm2022/account/pages/applications/applications.component.mjs +3 -3
- package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +3 -3
- package/esm2022/account/pages/log/log.component.mjs +3 -3
- package/esm2022/account/pages/password/password.component.mjs +3 -3
- package/esm2022/account/pages/sessions/sessions.component.mjs +3 -3
- package/esm2022/account/pages/totp/totp.component.mjs +3 -3
- package/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +3 -3
- package/esm2022/account/services/i18n/i18n.service.mjs +3 -3
- package/esm2022/lib/directives/attributes/attributes.directive.mjs +3 -3
- package/esm2022/lib/pipes/input-type/input-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +3 -3
- package/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +3 -3
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
- package/esm2022/lib/pipes/to-number/to-number.pipe.mjs +3 -3
- package/esm2022/lib/services/resource-injector/resource-injector.service.mjs +3 -3
- package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +7 -53
- package/esm2022/login/components/field-errors/field-errors.component.mjs +3 -3
- package/esm2022/login/components/group-label/group-label.component.mjs +3 -3
- package/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +3 -3
- package/esm2022/login/components/input-tag/input-tag.component.mjs +3 -3
- package/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +3 -3
- package/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +3 -3
- package/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +3 -3
- package/esm2022/login/components/select-tag/select-tag.component.mjs +3 -3
- package/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +3 -3
- package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +15 -22
- package/esm2022/login/containers/template/template.component.mjs +6 -6
- package/esm2022/login/directives/kc-class/kc-class.directive.mjs +3 -3
- package/esm2022/login/pages/code/code.component.mjs +3 -3
- package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +3 -3
- package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +3 -3
- package/esm2022/login/pages/error/error.component.mjs +3 -3
- package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +3 -3
- package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +13 -15
- package/esm2022/login/pages/info/info.component.mjs +3 -3
- package/esm2022/login/pages/login/login.component.mjs +3 -3
- package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +3 -3
- package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +3 -3
- package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +3 -3
- package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +3 -3
- package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +3 -3
- package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +3 -3
- package/esm2022/login/pages/login-otp/login-otp.component.mjs +3 -3
- package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +3 -3
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +3 -3
- package/esm2022/login/pages/login-password/login-password.component.mjs +3 -3
- package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +3 -3
- package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +3 -3
- package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +3 -3
- package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +3 -3
- package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +3 -3
- package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +13 -15
- package/esm2022/login/pages/login-username/login-username.component.mjs +3 -3
- package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +3 -3
- package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +3 -3
- package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +3 -3
- package/esm2022/login/pages/register/register.component.mjs +14 -16
- package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +3 -3
- package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +3 -3
- package/esm2022/login/pages/terms/terms.component.mjs +3 -3
- package/esm2022/login/pages/update-email/update-email.component.mjs +13 -15
- package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +3 -3
- package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +3 -3
- package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +3 -3
- package/esm2022/login/services/i18n/i18n.service.mjs +3 -3
- package/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +3 -3
- package/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +56 -1004
- package/fesm2022/keycloakify-angular-account-containers-template.mjs +6 -6
- package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-account.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-applications.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-password.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-totp.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +6 -52
- 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 +3 -3
- package/fesm2022/keycloakify-angular-login-components-group-label.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +14 -21
- package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-containers-template.mjs +6 -6
- package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-code.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-error.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +12 -14
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-info.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +12 -14
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-register.mjs +13 -15
- package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-terms.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +12 -14
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +55 -1003
- package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs.map +1 -1
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +0 -1
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +3 -13
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +1 -2
- package/login/pages/login-update-profile/login-update-profile.component.d.ts +1 -2
- package/login/pages/register/register.component.d.ts +1 -2
- package/login/pages/update-email/update-email.component.d.ts +1 -2
- package/login/services/user-profile-form/user-profile-form.service.d.ts +20 -41
- package/package.json +2 -8
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +3 -69
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +71 -68
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +6 -21
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +6 -13
- package/src/login/pages/login-update-profile/login-update-profile.component.ts +6 -12
- package/src/login/pages/register/register.component.html +1 -4
- package/src/login/pages/register/register.component.ts +5 -10
- package/src/login/pages/update-email/update-email.component.ts +6 -12
- package/src/login/services/user-profile-form/user-profile-form.service.ts +103 -1433
- package/esm2022/login/services/submit/keycloakify-angular-login-services-submit.mjs +0 -5
- package/esm2022/login/services/submit/public-api.mjs +0 -2
- package/esm2022/login/services/submit/submit.service.mjs +0 -20
- package/fesm2022/keycloakify-angular-login-services-submit.mjs +0 -27
- package/fesm2022/keycloakify-angular-login-services-submit.mjs.map +0 -1
- package/login/services/submit/index.d.ts +0 -5
- package/login/services/submit/public-api.d.ts +0 -1
- package/login/services/submit/submit.service.d.ts +0 -9
- package/src/login/services/submit/index.ts +0 -1
- package/src/login/services/submit/submit.service.ts +0 -12
|
@@ -31,15 +31,15 @@ class SamlPostFormComponent extends ComponentReference {
|
|
|
31
31
|
}
|
|
32
32
|
this.htmlFormElement().submit();
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SamlPostFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SamlPostFormComponent, isStandalone: true, selector: "kc-saml-post-form", providers: [
|
|
36
36
|
{
|
|
37
37
|
provide: ComponentReference,
|
|
38
38
|
useExisting: forwardRef(() => SamlPostFormComponent)
|
|
39
39
|
}
|
|
40
40
|
], 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 }, { propertyName: "htmlFormElement", first: true, predicate: ["setHtmlFormElement"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let samlPost = kcContext.samlPost;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('saml.post-form.title') }}\n</ng-template>\n<p>{{ i18n.msgStr('saml.post-form.message') }}</p>\n<form\n #setHtmlFormElement\n name=\"saml-post-binding\"\n method=\"post\"\n [action]=\"samlPost.url\"\n>\n @if (!!samlPost.SAMLRequest) {\n <input\n type=\"hidden\"\n name=\"SAMLRequest\"\n [value]=\"samlPost.SAMLRequest\"\n />\n }\n @if (!!samlPost.SAMLResponse) {\n <input\n type=\"hidden\"\n name=\"SAMLResponse\"\n [value]=\"samlPost.SAMLResponse\"\n />\n }\n @if (!!samlPost.relayState) {\n <input\n type=\"hidden\"\n name=\"RelayState\"\n [value]=\"samlPost.relayState\"\n />\n }\n <noscript>\n <p>{{ i18n.msgStr('saml.post-form.js-disabled') }}</p>\n <input\n type=\"submit\"\n [value]=\"i18n.msgStr('doContinue')\"\n />\n </noscript>\n</form>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SamlPostFormComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ standalone: true, imports: [], selector: 'kc-saml-post-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
45
45
|
{
|
|
@@ -22,15 +22,15 @@ class SelectAuthenticatorComponent extends ComponentReference {
|
|
|
22
22
|
this.infoNode = viewChild('infoNode');
|
|
23
23
|
this.socialProvidersNode = viewChild('socialProvidersNode');
|
|
24
24
|
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SelectAuthenticatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SelectAuthenticatorComponent, isStandalone: true, selector: "kc-select-authenticator", providers: [
|
|
27
27
|
{
|
|
28
28
|
provide: ComponentReference,
|
|
29
29
|
useExisting: forwardRef(() => SelectAuthenticatorComponent)
|
|
30
30
|
}
|
|
31
31
|
], 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 auth = kcContext.auth;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('loginChooseAuthenticator') }}\n</ng-template>\n\n<form\n id=\"kc-select-credential-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcSelectAuthListClass'\">\n @for (authenticationSelection of auth.authenticationSelections; track authenticationSelection; let i = $index) {\n <button\n type=\"submit\"\n name=\"authenticationExecution\"\n [kcClass]=\"'kcSelectAuthListItemClass'\"\n [value]=\"authenticationSelection.authExecId\"\n >\n <div [kcClass]=\"'kcSelectAuthListItemIconClass'\">\n <i [kcClass]=\"['kcSelectAuthListItemIconPropertyClass', $any(authenticationSelection.iconCssClass)]\"></i>\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemBodyClass'\">\n <div [kcClass]=\"'kcSelectAuthListItemHeadingClass'\">\n {{ i18n.advancedMsgStr(authenticationSelection.displayName) }}\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\">\n {{ i18n.advancedMsgStr(authenticationSelection.helpText) }}\n </div>\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemFillClass'\"></div>\n <div [kcClass]=\"'kcSelectAuthListItemArrowClass'\">\n <i [kcClass]=\"'kcSelectAuthListItemArrowIconClass'\"></i>\n </div>\n </button>\n }\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
32
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SelectAuthenticatorComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ standalone: true, imports: [KcClassDirective, NgClass], selector: 'kc-select-authenticator', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
36
36
|
{
|
|
@@ -21,15 +21,15 @@ class TermsComponent extends ComponentReference {
|
|
|
21
21
|
this.infoNode = viewChild('infoNode');
|
|
22
22
|
this.socialProvidersNode = viewChild('socialProvidersNode');
|
|
23
23
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TermsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.8", type: TermsComponent, isStandalone: true, selector: "kc-terms", providers: [
|
|
26
26
|
{
|
|
27
27
|
provide: ComponentReference,
|
|
28
28
|
useExisting: forwardRef(() => TermsComponent)
|
|
29
29
|
}
|
|
30
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\n<ng-template #headerNode>\n {{ i18n.msgStr('termsTitle') }}\n</ng-template>\n<div id=\"kc-terms-text\">{{ i18n.msgStr('termsText') }}</div>\n<form\n class=\"form-actions\"\n method=\"POST\"\n [action]=\"url.loginAction\"\n>\n <input\n name=\"accept\"\n id=\"kc-accept\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonClass', 'kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doAccept')\"\n />\n <input\n name=\"cancel\"\n id=\"kc-decline\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doDecline')\"\n />\n</form>\n<div class=\"clearfix\"></div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TermsComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ standalone: true, imports: [KcClassDirective], selector: 'kc-terms', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
35
35
|
{
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { NgComponentOutlet } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { inject, viewChild, input,
|
|
4
|
-
import {
|
|
3
|
+
import { inject, viewChild, input, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
|
|
4
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
|
|
6
6
|
import { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';
|
|
7
7
|
import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
|
|
8
|
-
import {
|
|
8
|
+
import { UserProfileFormService } from '@keycloakify/angular/login/services/user-profile-form';
|
|
9
9
|
import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
|
|
10
10
|
import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
|
|
11
|
+
import { map } from 'rxjs';
|
|
11
12
|
|
|
12
13
|
class UpdateEmailComponent extends ComponentReference {
|
|
13
|
-
#submitService;
|
|
14
14
|
constructor() {
|
|
15
|
-
super();
|
|
16
|
-
this.#
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.#userProfileFormService = inject(UserProfileFormService);
|
|
17
17
|
this.kcContext = inject(KC_LOGIN_CONTEXT);
|
|
18
18
|
this.i18n = inject(LOGIN_I18N);
|
|
19
19
|
this.displayRequiredFields = true;
|
|
@@ -23,20 +23,18 @@ class UpdateEmailComponent extends ComponentReference {
|
|
|
23
23
|
this.infoNode = viewChild('infoNode');
|
|
24
24
|
this.socialProvidersNode = viewChild('socialProvidersNode');
|
|
25
25
|
this.userProfileFormFields = input();
|
|
26
|
-
this.isFormSubmittable =
|
|
27
|
-
this.#submitService.isSubmittable.pipe(takeUntilDestroyed()).subscribe(submittable => {
|
|
28
|
-
this.isFormSubmittable.set(submittable);
|
|
29
|
-
});
|
|
26
|
+
this.isFormSubmittable = toSignal(this.#userProfileFormService.formState$.pipe(map(s => s.isFormSubmittable)), { initialValue: false });
|
|
30
27
|
}
|
|
31
|
-
|
|
32
|
-
static { this.ɵ
|
|
28
|
+
#userProfileFormService;
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UpdateEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: UpdateEmailComponent, isStandalone: true, selector: "kc-update-email", inputs: { userProfileFormFields: { classPropertyName: "userProfileFormFields", publicName: "userProfileFormFields", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
33
31
|
{
|
|
34
32
|
provide: ComponentReference,
|
|
35
33
|
useExisting: forwardRef(() => UpdateEmailComponent)
|
|
36
34
|
}
|
|
37
35
|
], 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 isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('updateEmailTitle') }}\n</ng-template>\n<form\n id=\"kc-update-email-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <ng-container [ngComponentOutlet]=\"userProfileFormFields() ?? null\" />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <kc-logout-other-sessions />\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [disabled]=\"!isFormSubmittable()\"\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: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: LogoutOtherSessionsComponent, selector: "kc-logout-other-sessions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
36
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UpdateEmailComponent, decorators: [{
|
|
40
38
|
type: Component,
|
|
41
39
|
args: [{ standalone: true, imports: [KcClassDirective, NgComponentOutlet, LogoutOtherSessionsComponent], selector: 'kc-update-email', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
42
40
|
{
|
|
@@ -44,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
44
42
|
useExisting: forwardRef(() => UpdateEmailComponent)
|
|
45
43
|
}
|
|
46
44
|
], template: "@let url = kcContext.url;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('updateEmailTitle') }}\n</ng-template>\n<form\n id=\"kc-update-email-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <ng-container [ngComponentOutlet]=\"userProfileFormFields() ?? null\" />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <kc-logout-other-sessions />\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [disabled]=\"!isFormSubmittable()\"\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" }]
|
|
47
|
-
}]
|
|
45
|
+
}] });
|
|
48
46
|
|
|
49
47
|
/**
|
|
50
48
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keycloakify-angular-login-pages-update-email.mjs","sources":["../../src/login/pages/update-email/update-email.component.ts","../../src/login/pages/update-email/update-email.component.html","../../src/login/pages/update-email/keycloakify-angular-login-pages-update-email.ts"],"sourcesContent":["import { NgComponentOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject, input,
|
|
1
|
+
{"version":3,"file":"keycloakify-angular-login-pages-update-email.mjs","sources":["../../src/login/pages/update-email/update-email.component.ts","../../src/login/pages/update-email/update-email.component.html","../../src/login/pages/update-email/keycloakify-angular-login-pages-update-email.ts"],"sourcesContent":["import { NgComponentOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject, input, type TemplateRef, Type, viewChild } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';\nimport { UserProfileFormFieldsComponent } from '@keycloakify/angular/login/components/user-profile-form-fields';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\nimport { UserProfileFormService } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport { map } from 'rxjs';\n\n@Component({\n standalone: true,\n imports: [KcClassDirective, NgComponentOutlet, LogoutOtherSessionsComponent],\n selector: 'kc-update-email',\n templateUrl: 'update-email.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => UpdateEmailComponent)\n }\n ]\n})\nexport class UpdateEmailComponent extends ComponentReference {\n #userProfileFormService = inject(UserProfileFormService);\n kcContext = inject<Extract<KcContext, { pageId: 'update-email.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = true;\n displayInfo = false;\n displayMessage = this.kcContext.messagesPerField.exists('global');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n\n userProfileFormFields = input<Type<UserProfileFormFieldsComponent>>();\n isFormSubmittable = toSignal(this.#userProfileFormService.formState$.pipe(map(s => s.isFormSubmittable)), { initialValue: false });\n}\n","@let url = kcContext.url;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('updateEmailTitle') }}\n</ng-template>\n<form\n id=\"kc-update-email-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <ng-container [ngComponentOutlet]=\"userProfileFormFields() ?? null\" />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <kc-logout-other-sessions />\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [disabled]=\"!isFormSubmittable()\"\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -61,15 +61,15 @@ class WebauthnAuthenticateComponent extends ComponentReference {
|
|
|
61
61
|
}
|
|
62
62
|
return className;
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: WebauthnAuthenticateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: WebauthnAuthenticateComponent, isStandalone: true, selector: "kc-webauthn-authenticate", providers: [
|
|
66
66
|
{
|
|
67
67
|
provide: ComponentReference,
|
|
68
68
|
useExisting: forwardRef(() => WebauthnAuthenticateComponent)
|
|
69
69
|
}
|
|
70
70
|
], 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 authenticators = kcContext.authenticators;\n@let shouldDisplayAuthenticators = kcContext.shouldDisplayAuthenticators;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('webauthn-login-title') }}\n</ng-template>\n<ng-template #infoNode>\n @let url = kcContext.url;\n <div id=\"kc-registration\">\n <span>\n {{ i18n.msgStr('noAccount') }}\n <a\n tabIndex=\"6\"\n [href]=\"url.registrationUrl\"\n >\n {{ i18n.msgStr('doRegister') }}\n </a>\n </span>\n </div>\n</ng-template>\n<div\n id=\"kc-form-webauthn\"\n [kcClass]=\"'kcFormClass'\"\n>\n <form\n id=\"webauth\"\n method=\"post\"\n [action]=\"url.loginAction\"\n >\n <input\n type=\"hidden\"\n id=\"clientDataJSON\"\n name=\"clientDataJSON\"\n />\n <input\n type=\"hidden\"\n id=\"authenticatorData\"\n name=\"authenticatorData\"\n />\n <input\n type=\"hidden\"\n id=\"signature\"\n name=\"signature\"\n />\n <input\n type=\"hidden\"\n id=\"credentialId\"\n name=\"credentialId\"\n />\n <input\n type=\"hidden\"\n id=\"userHandle\"\n name=\"userHandle\"\n />\n <input\n type=\"hidden\"\n id=\"error\"\n name=\"error\"\n />\n </form>\n\n <div\n class=\"no-bottom-margin\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n @if (authenticators) {\n <form\n id=\"authn_select\"\n [kcClass]=\"'kcFormClass'\"\n >\n @for (authenticator of authenticators.authenticators; track authenticator.credentialId) {\n <input\n type=\"hidden\"\n name=\"authn_use_chk\"\n [value]=\"authenticator.credentialId\"\n />\n }\n @if (shouldDisplayAuthenticators) {\n @if (authenticators.authenticators.length > 1) {\n <p [kcClass]=\"'kcSelectAuthListItemTitle'\">\n {{ i18n.msgStr('webauthn-available-authenticators') }}\n </p>\n }\n <div [kcClass]=\"'kcFormOptionsClass'\">\n @for (authenticator of authenticators.authenticators; track authenticator.credentialId; let i = $index) {\n <div\n [id]=\"'kc-webauthn-authenticator-item-' + i\"\n [kcClass]=\"'kcSelectAuthListItemClass'\"\n >\n <div [kcClass]=\"'kcSelectAuthListItemIconClass'\">\n <i\n [ngClass]=\"selectAuthListItemIconClass(authenticator.transports.iconClass)\"\n [kcClass]=\"'kcSelectAuthListItemIconPropertyClass'\"\n ></i>\n <div [kcClass]=\"'kcSelectAuthListItemArrowIconClass'\">\n <div\n [id]=\"'kc-webauthn-authenticator-label-' + i\"\n [kcClass]=\"'kcSelectAuthListItemHeadingClass'\"\n >\n {{ i18n.advancedMsgStr(authenticator.label) }}\n </div>\n @if (authenticator.transports.displayNameProperties?.length) {\n <div\n [id]=\"'kc-webauthn-authenticator-transport-' + i\"\n [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\"\n >\n @for (\n displayNameProperty of authenticator.transports.displayNameProperties;\n track displayNameProperty;\n let last = $last\n ) {\n {{ i18n.advancedMsgStr(displayNameProperty) }}\n @if (!last) {\n <span>, </span>\n }\n }\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\">\n <span [id]=\"'kc-webauthn-authenticator-createdlabel-' + i\">\n {{ i18n.msgStr('webauthn-createdAt-label') }}\n </span>\n <span [id]=\"'kc-webauthn-authenticator-created-' + i\">{{ authenticator.createdAt }}</span>\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemFillClass'\"></div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n }\n </form>\n }\n\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"button\"\n autofocus\n name=\"cancel-aia\"\n [id]=\"authButtonId\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('webauthn-doAuthenticate')\"\n />\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: WebauthnAuthenticateComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{ standalone: true, imports: [KcClassDirective, LogoutOtherSessionsComponent], selector: 'kc-webauthn-authenticate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
75
75
|
{
|
|
@@ -30,15 +30,15 @@ class WebauthnErrorComponent extends ComponentReference {
|
|
|
30
30
|
// @ts-expect-error: Trusted Keycloak's code
|
|
31
31
|
document.getElementById('kc-error-credential-form').submit();
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: WebauthnErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: WebauthnErrorComponent, isStandalone: true, selector: "kc-webauthn-error", providers: [
|
|
35
35
|
{
|
|
36
36
|
provide: ComponentReference,
|
|
37
37
|
useExisting: forwardRef(() => WebauthnErrorComponent)
|
|
38
38
|
}
|
|
39
39
|
], 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 isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('webauthn-error-title') }}\n</ng-template>\n<form\n id=\"kc-error-credential-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <input\n type=\"hidden\"\n id=\"executionValue\"\n name=\"authenticationExecution\"\n />\n <input\n type=\"hidden\"\n id=\"isSetRetry\"\n name=\"isSetRetry\"\n />\n</form>\n<input\n tabIndex=\"4\"\n type=\"button\"\n name=\"try-again\"\n id=\"kc-try-again\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doTryAgain')\"\n (click)=\"onClick()\"\n/>\n@if (isAppInitiatedAction) {\n <form\n id=\"kc-webauthn-settings-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n [kcClass]=\"'kcFormClass'\"\n >\n <button\n type=\"submit\"\n id=\"cancelWebAuthnAIA\"\n name=\"cancel-aia\"\n value=\"true\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n </form>\n}\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: WebauthnErrorComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{ standalone: true, imports: [KcClassDirective, LogoutOtherSessionsComponent], selector: 'kc-webauthn-error', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
44
44
|
{
|
|
@@ -57,15 +57,15 @@ class WebauthnRegisterComponent extends ComponentReference {
|
|
|
57
57
|
];
|
|
58
58
|
this.loginResourceInjectorService.insertAdditionalScripts(scripts);
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: WebauthnRegisterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: WebauthnRegisterComponent, isStandalone: true, selector: "kc-webauthn-register", providers: [
|
|
62
62
|
{
|
|
63
63
|
provide: ComponentReference,
|
|
64
64
|
useExisting: forwardRef(() => WebauthnRegisterComponent)
|
|
65
65
|
}
|
|
66
66
|
], 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 isSetRetry = kcContext.isSetRetry;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n <span [kcClass]=\"'kcWebAuthnKeyIcon'\"></span>\n {{ i18n.msgStr('webauthn-registration-title') }}\n</ng-template>\n<form\n id=\"register\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <input\n type=\"hidden\"\n id=\"clientDataJSON\"\n name=\"clientDataJSON\"\n />\n <input\n type=\"hidden\"\n id=\"attestationObject\"\n name=\"attestationObject\"\n />\n <input\n type=\"hidden\"\n id=\"publicKeyCredentialId\"\n name=\"publicKeyCredentialId\"\n />\n <input\n type=\"hidden\"\n id=\"authenticatorLabel\"\n name=\"authenticatorLabel\"\n />\n <input\n type=\"hidden\"\n id=\"transports\"\n name=\"transports\"\n />\n <input\n type=\"hidden\"\n id=\"error\"\n name=\"error\"\n />\n <kc-logout-other-sessions />\n </div>\n</form>\n<input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [id]=\"authButtonId\"\n [value]=\"i18n.msgStr('doRegisterSecurityKey')\"\n/>\n@if (!isSetRetry && isAppInitiatedAction) {\n <form\n id=\"kc-webauthn-settings-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n [kcClass]=\"'kcFormClass'\"\n >\n <button\n type=\"submit\"\n id=\"cancelWebAuthnAIA\"\n name=\"cancel-aia\"\n value=\"true\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n </form>\n}\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 }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: WebauthnRegisterComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
70
70
|
args: [{ standalone: true, imports: [KcClassDirective, LogoutOtherSessionsComponent], selector: 'kc-webauthn-register', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
71
71
|
{
|
|
@@ -3,10 +3,10 @@ import { Injectable } from '@angular/core';
|
|
|
3
3
|
|
|
4
4
|
/** INTERNAL: DO NOT IMPORT THIS */
|
|
5
5
|
class I18nService {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
7
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, providedIn: 'root' }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, decorators: [{
|
|
10
10
|
type: Injectable,
|
|
11
11
|
args: [{ providedIn: 'root' }]
|
|
12
12
|
}] });
|
|
@@ -58,10 +58,10 @@ class LoginResourceInjectorService {
|
|
|
58
58
|
];
|
|
59
59
|
this.insertAdditionalScripts(scripts);
|
|
60
60
|
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
62
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LoginResourceInjectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
62
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LoginResourceInjectorService, providedIn: 'root' }); }
|
|
63
63
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LoginResourceInjectorService, decorators: [{
|
|
65
65
|
type: Injectable,
|
|
66
66
|
args: [{
|
|
67
67
|
providedIn: 'root'
|