@keycloakify/angular 20.0.0 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +2 -2
  2. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
  3. package/fesm2022/keycloakify-angular-account-pages-account.mjs +3 -3
  4. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +3 -3
  5. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +3 -3
  6. package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
  7. package/fesm2022/keycloakify-angular-account-pages-password.mjs +10 -10
  8. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  9. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +3 -3
  10. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +3 -3
  11. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
  12. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  13. package/fesm2022/keycloakify-angular-account-template.mjs +8 -8
  14. package/fesm2022/keycloakify-angular-account-template.mjs.map +1 -1
  15. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +4 -4
  16. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs.map +1 -1
  17. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  18. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  19. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  20. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  21. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  22. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
  23. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +8 -8
  24. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  25. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +6 -6
  26. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
  27. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +6 -6
  28. package/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +1 -1
  29. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +8 -8
  30. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
  31. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +8 -8
  32. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +1 -1
  33. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +10 -10
  34. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
  35. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  36. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +5 -5
  37. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
  38. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +8 -8
  39. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +1 -1
  40. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +6 -6
  41. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +1 -1
  42. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +3 -3
  43. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
  44. package/fesm2022/keycloakify-angular-login-pages-code.mjs +6 -6
  45. package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
  46. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +6 -6
  47. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  48. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +6 -6
  49. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  50. package/fesm2022/keycloakify-angular-login-pages-error.mjs +6 -6
  51. package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
  52. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +6 -6
  53. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  54. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +10 -10
  55. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  56. package/fesm2022/keycloakify-angular-login-pages-info.mjs +6 -6
  57. package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
  58. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +8 -8
  59. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  60. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +7 -7
  61. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  62. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +7 -7
  63. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  64. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +6 -6
  65. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
  66. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +6 -6
  67. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  68. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +6 -6
  69. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  70. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +6 -6
  71. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  72. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +6 -6
  73. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
  74. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +6 -6
  75. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  76. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +7 -7
  77. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  78. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +7 -7
  79. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  80. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +6 -6
  81. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  82. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +6 -6
  83. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  84. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +6 -6
  85. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  86. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +8 -8
  87. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  88. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +8 -8
  89. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  90. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +9 -9
  91. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  92. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +6 -6
  93. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
  94. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +6 -6
  95. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  96. package/fesm2022/keycloakify-angular-login-pages-login.mjs +8 -8
  97. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  98. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +6 -6
  99. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  100. package/fesm2022/keycloakify-angular-login-pages-register.mjs +11 -11
  101. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  102. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +8 -8
  103. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  104. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +6 -6
  105. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  106. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +6 -6
  107. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  108. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +8 -8
  109. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  110. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +6 -6
  111. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  112. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +7 -7
  113. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  114. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +6 -6
  115. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  116. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  117. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +11 -9
  118. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs.map +1 -1
  119. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
  120. package/fesm2022/keycloakify-angular-login-template.mjs +13 -13
  121. package/fesm2022/keycloakify-angular-login-template.mjs.map +1 -1
  122. package/package.json +10 -10
  123. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +2 -2
  124. package/src/login/pages/login-config-totp/login-config-totp.component.ts +1 -1
  125. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +1 -1
  126. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +1 -1
  127. package/src/login/pages/login-update-password/login-update-password.component.ts +1 -1
  128. package/src/login/pages/login-username/login-username.component.ts +1 -1
  129. package/src/login/pages/register/register.component.ts +2 -2
  130. package/src/login/pages/saml-post-form/saml-post-form.component.ts +1 -1
  131. package/src/login/pages/webauthn-error/webauthn-error.component.ts +1 -1
  132. package/src/login/services/login-resource-injector/login-resource-injector.service.ts +8 -6
  133. package/src/login/template/template.component.ts +1 -1
@@ -38,7 +38,7 @@ export class IdpReviewUserProfileComponent extends ComponentReference {
38
38
 
39
39
  displayRequiredFields = true;
40
40
  displayInfo = false;
41
- displayMessage = this.kcContext?.messagesPerField?.existsError('global');
41
+ displayMessage = !this.kcContext?.messagesPerField?.existsError('global');
42
42
 
43
43
  headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');
44
44
  infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');
@@ -48,6 +48,6 @@ export class IdpReviewUserProfileComponent extends ComponentReference {
48
48
  isFormSubmittable = toSignal(this.#userProfileFormService.formState$.pipe(map(s => s.isFormSubmittable)), { initialValue: false });
49
49
 
50
50
  onCallback() {
51
- (document.getElementById('kc-register-form') as HTMLFormElement).submit();
51
+ (document.getElementById('kc-register-form') as HTMLFormElement).requestSubmit();
52
52
  }
53
53
  }
@@ -34,7 +34,7 @@ export class LoginConfigTotpComponent extends ComponentReference {
34
34
 
35
35
  displayRequiredFields = false;
36
36
  displayInfo = false;
37
- displayMessage = this.kcContext.messagesPerField.existsError('totp', 'userLabel');
37
+ displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');
38
38
 
39
39
  headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');
40
40
  infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');
@@ -27,7 +27,7 @@ export class LoginIdpLinkConfirmComponent extends ComponentReference {
27
27
 
28
28
  displayRequiredFields = false;
29
29
  displayInfo = false;
30
- displayMessage = this.kcContext.messagesPerField.existsError('totp', 'userLabel');
30
+ displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');
31
31
 
32
32
  headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');
33
33
  infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');
@@ -27,7 +27,7 @@ export class LoginIdpLinkConfirmOverrideComponent extends ComponentReference {
27
27
 
28
28
  displayRequiredFields = false;
29
29
  displayInfo = false;
30
- displayMessage = this.kcContext.messagesPerField.existsError('totp', 'userLabel');
30
+ displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');
31
31
 
32
32
  headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');
33
33
  infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');
@@ -36,7 +36,7 @@ export class LoginUpdatePasswordComponent extends ComponentReference {
36
36
 
37
37
  displayRequiredFields = false;
38
38
  displayInfo = false;
39
- displayMessage = this.kcContext.messagesPerField.existsError('password', 'password-confirm');
39
+ displayMessage = !this.kcContext.messagesPerField.existsError('password', 'password-confirm');
40
40
 
41
41
  headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');
42
42
  infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');
@@ -34,7 +34,7 @@ export class LoginUsernameComponent extends ComponentReference {
34
34
 
35
35
  displayRequiredFields = false;
36
36
  displayInfo: boolean = !!this.kcContext?.realm?.password && !!this.kcContext?.realm?.registrationAllowed && !this.kcContext?.registrationDisabled;
37
- displayMessage: boolean = this.kcContext?.messagesPerField?.existsError('username');
37
+ displayMessage = !this.kcContext?.messagesPerField?.existsError('username');
38
38
 
39
39
  headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');
40
40
  infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');
@@ -40,7 +40,7 @@ export class RegisterComponent extends ComponentReference {
40
40
 
41
41
  displayRequiredFields = false;
42
42
  displayInfo = false;
43
- displayMessage: boolean = this.kcContext?.messagesPerField?.existsError('global');
43
+ displayMessage = !this.kcContext?.messagesPerField?.existsError('global');
44
44
 
45
45
  headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');
46
46
  infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');
@@ -51,6 +51,6 @@ export class RegisterComponent extends ComponentReference {
51
51
  userProfileFormFields = input<Type<UserProfileFormFieldsComponent>>();
52
52
 
53
53
  onCallback() {
54
- (document.getElementById('kc-register-form') as HTMLFormElement).submit();
54
+ (document.getElementById('kc-register-form') as HTMLFormElement).requestSubmit();
55
55
  }
56
56
  }
@@ -49,6 +49,6 @@ export class SamlPostFormComponent extends ComponentReference implements AfterVi
49
49
  return;
50
50
  }
51
51
 
52
- this.htmlFormElement()!.nativeElement.submit();
52
+ this.htmlFormElement()!.nativeElement.requestSubmit();
53
53
  }
54
54
  }
@@ -46,6 +46,6 @@ export class WebauthnErrorComponent extends ComponentReference {
46
46
  // @ts-expect-error: Trusted Keycloak's code
47
47
  document.getElementById('executionValue').value = '${execution}';
48
48
  // @ts-expect-error: Trusted Keycloak's code
49
- document.getElementById('kc-error-credential-form').submit();
49
+ document.getElementById('kc-error-credential-form').requestSubmit();
50
50
  }
51
51
  }
@@ -61,12 +61,14 @@ export class LoginResourceInjectorService {
61
61
  {
62
62
  type: 'module',
63
63
  id: 'authenticationSession',
64
- textContent: `
65
- import { checkCookiesAndSetTimer } from "${this.kcContext.url.resourcesPath}/js/authChecker.js";
66
-
67
- checkCookiesAndSetTimer(
68
- "${this.kcContext.url.ssoLoginInOtherTabsUrl}"
69
- );`
64
+ textContent: [
65
+ `import { startSessionPolling, checkAuthSession } from "${this.kcContext.url.resourcesPath}/js/authChecker.js";`,
66
+ ``,
67
+ `startSessionPolling("${this.kcContext.url.ssoLoginInOtherTabsUrl}");`,
68
+ this.kcContext.authenticationSession === undefined
69
+ ? ''
70
+ : `checkAuthSession("${this.kcContext.authenticationSession.authSessionIdHash}");`
71
+ ].join('\n')
70
72
  }
71
73
  ];
72
74
  this.insertAdditionalScripts(scripts);
@@ -110,7 +110,7 @@ export class TemplateComponent extends ComponentReference {
110
110
  }
111
111
 
112
112
  tryAnotherWay() {
113
- document.forms['kc-select-try-another-way-form' as never].submit();
113
+ document.forms['kc-select-try-another-way-form' as never].requestSubmit();
114
114
  }
115
115
 
116
116
  onComponentCreated(compRef: object) {