@keycloakify/angular 20.1.8 → 20.1.10

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 (145) hide show
  1. package/README.md +4 -4
  2. package/bin/187.index.js +2 -2
  3. package/bin/{559.index.js → 247.index.js} +161 -34
  4. package/bin/index.js +1 -1
  5. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
  6. package/fesm2022/keycloakify-angular-account-pages-account.mjs +8 -8
  7. package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
  8. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +7 -7
  9. package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -1
  10. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +6 -8
  11. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -1
  12. package/fesm2022/keycloakify-angular-account-pages-log.mjs +7 -7
  13. package/fesm2022/keycloakify-angular-account-pages-log.mjs.map +1 -1
  14. package/fesm2022/keycloakify-angular-account-pages-password.mjs +6 -7
  15. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  16. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +6 -7
  17. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -1
  18. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +6 -7
  19. package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -1
  20. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +1 -1
  21. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
  22. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  23. package/fesm2022/keycloakify-angular-account-template.mjs +6 -7
  24. package/fesm2022/keycloakify-angular-account-template.mjs.map +1 -1
  25. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +3 -3
  26. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  27. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  28. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  29. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  30. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  31. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
  32. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +4 -4
  33. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  34. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +3 -3
  35. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
  36. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +3 -3
  37. package/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +1 -1
  38. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +3 -3
  39. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
  40. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +3 -3
  41. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +1 -1
  42. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +3 -3
  43. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
  44. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  45. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +4 -5
  46. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
  47. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +3 -3
  48. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +1 -1
  49. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +3 -3
  50. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +1 -1
  51. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +3 -3
  52. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
  53. package/fesm2022/keycloakify-angular-login-pages-code.mjs +3 -3
  54. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +3 -3
  55. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +3 -3
  56. package/fesm2022/keycloakify-angular-login-pages-error.mjs +3 -3
  57. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +3 -3
  58. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +3 -3
  59. package/fesm2022/keycloakify-angular-login-pages-info.mjs +3 -3
  60. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +3 -3
  61. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +3 -3
  62. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +3 -3
  63. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +4 -5
  64. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
  65. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +3 -3
  66. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +3 -3
  67. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +3 -3
  68. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +4 -4
  69. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
  70. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +3 -3
  71. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  72. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +3 -3
  73. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +3 -3
  74. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +3 -3
  75. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +3 -3
  76. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +3 -3
  77. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +3 -3
  78. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +3 -3
  79. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +5 -6
  80. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  81. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +4 -5
  82. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
  83. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +3 -3
  84. package/fesm2022/keycloakify-angular-login-pages-login.mjs +7 -6
  85. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  86. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +7 -6
  87. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  88. package/fesm2022/keycloakify-angular-login-pages-register.mjs +3 -3
  89. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +4 -4
  90. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  91. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +4 -5
  92. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  93. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +3 -3
  94. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +3 -3
  95. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +4 -5
  96. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  97. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +4 -5
  98. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  99. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +3 -3
  100. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  101. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +1 -1
  102. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  103. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
  104. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs.map +1 -1
  105. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
  106. package/fesm2022/keycloakify-angular-login-template.mjs +3 -3
  107. package/package.json +13 -13
  108. package/src/account/i18n.ts +1 -1
  109. package/src/account/pages/account/account.component.html +9 -5
  110. package/src/account/pages/account/account.component.ts +4 -3
  111. package/src/account/pages/applications/applications.component.ts +4 -3
  112. package/src/account/pages/federatedIdentity/federatedIdentity.component.ts +2 -4
  113. package/src/account/pages/log/log.component.ts +4 -3
  114. package/src/account/pages/password/password.component.ts +3 -3
  115. package/src/account/pages/sessions/sessions.component.ts +3 -3
  116. package/src/account/pages/totp/totp.component.ts +3 -3
  117. package/src/account/providers/keycloakify-angular/keycloakify-angular.providers.ts +2 -2
  118. package/src/account/template/template.component.html +8 -8
  119. package/src/account/template/template.component.ts +1 -2
  120. package/src/bin/initialize-account-theme/boilerplate/KcPageStory.ts +2 -1
  121. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +1 -2
  122. package/src/login/components/field-errors/field-errors.component.ts +2 -2
  123. package/src/login/components/group-label/group-label.component.ts +1 -1
  124. package/src/login/components/input-field-by-type/input-field-by-type.component.ts +1 -1
  125. package/src/login/components/input-tag/input-tag.component.ts +1 -1
  126. package/src/login/components/input-tag-selects/input-tag-selects.component.ts +2 -2
  127. package/src/login/components/password-wrapper/password-wrapper.component.ts +1 -2
  128. package/src/login/components/select-tag/select-tag.component.ts +2 -2
  129. package/src/login/components/textarea-tag/textarea-tag.component.ts +2 -2
  130. package/src/login/i18n.ts +1 -1
  131. package/src/login/pages/login/login.component.ts +2 -2
  132. package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +0 -2
  133. package/src/login/pages/login-page-expired/login-page-expired.component.ts +0 -1
  134. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +1 -1
  135. package/src/login/pages/login-username/login-username.component.ts +1 -2
  136. package/src/login/pages/login-verify-email/login-verify-email.component.ts +0 -2
  137. package/src/login/pages/logout-confirm/logout-confirm.component.html +5 -1
  138. package/src/login/pages/logout-confirm/logout-confirm.component.ts +2 -1
  139. package/src/login/pages/saml-post-form/saml-post-form.component.ts +0 -1
  140. package/src/login/pages/select-authenticator/select-authenticator.component.ts +1 -2
  141. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +2 -3
  142. package/src/login/pages/webauthn-error/webauthn-error.component.ts +1 -2
  143. package/src/login/pages/webauthn-register/webauthn-register.component.ts +1 -1
  144. package/src/login/providers/keycloakify-angular/keycloakify-angular.providers.ts +1 -1
  145. package/src/login/services/login-resource-injector/login-resource-injector.service.ts +1 -1
@@ -66,35 +66,35 @@
66
66
  <div class="container">
67
67
  <div class="bs-sidebar col-sm-3">
68
68
  <ul>
69
- <li [ngClass]="{ active: active === 'account' }">
69
+ <li [class.active]="active === 'account'">
70
70
  <a [href]="url.accountUrl">{{ i18n.msgStr('account') }}</a>
71
71
  </li>
72
72
  @if (features.passwordUpdateSupported) {
73
- <li [ngClass]="{ active: active === 'password' }">
73
+ <li [class.active]="active === 'password'">
74
74
  <a [href]="url.passwordUrl">{{ i18n.msgStr('password') }}</a>
75
75
  </li>
76
76
  }
77
- <li [ngClass]="{ active: active === 'totp' }">
77
+ <li [class.active]="active === 'totp'">
78
78
  <a [href]="url.totpUrl">{{ i18n.msgStr('authenticator') }}</a>
79
79
  </li>
80
80
  @if (features.identityFederation) {
81
- <li [ngClass]="{ active: active === 'social' }">
81
+ <li [class.active]="active === 'social'">
82
82
  <a [href]="url.socialUrl">{{ i18n.msgStr('federatedIdentity') }}</a>
83
83
  </li>
84
84
  }
85
- <li [ngClass]="{ active: active === 'sessions' }">
85
+ <li [class.active]="active === 'sessions'">
86
86
  <a [href]="url.sessionsUrl">{{ i18n.msgStr('sessions') }}</a>
87
87
  </li>
88
- <li [ngClass]="{ active: active === 'applications' }">
88
+ <li [class.active]="active === 'applications'">
89
89
  <a [href]="url.applicationsUrl">{{ i18n.msgStr('applications') }}</a>
90
90
  </li>
91
91
  @if (features.log) {
92
- <li [ngClass]="{ active: active === 'log' }">
92
+ <li [class.active]="active === 'log'">
93
93
  <a [href]="url.logUrl">{{ i18n.msgStr('log') }}</a>
94
94
  </li>
95
95
  }
96
96
  @if (realm.userManagedAccessAllowed && features.authorization) {
97
- <li [ngClass]="{ active: active === 'authorization' }">
97
+ <li [class.active]="active === 'authorization'">
98
98
  <a [href]="url.resourceUrl">{{ i18n.msgStr('myResources') }}</a>
99
99
  </li>
100
100
  }
@@ -15,7 +15,6 @@ import {
15
15
  } from '@angular/core';
16
16
  import { Meta, Title } from '@angular/platform-browser';
17
17
  import { ComponentReference } from '@keycloakify/angular/account/classes/component-reference';
18
- import { KcClassDirective } from '@keycloakify/angular/account/directives/kc-class';
19
18
  import type { I18n } from '@keycloakify/angular/account/i18n';
20
19
  import type { KcContext } from '@keycloakify/angular/account/KcContext';
21
20
  import { AccountResourceInjectorService } from '@keycloakify/angular/account/services/account-resource-injector';
@@ -32,7 +31,7 @@ type ActiveType = 'account' | 'password' | 'totp' | 'social' | 'sessions' | 'app
32
31
  @Component({
33
32
  selector: 'kc-root',
34
33
  templateUrl: 'template.component.html',
35
- imports: [AsyncPipe, KcSanitizePipe, KcClassDirective, NgClass],
34
+ imports: [AsyncPipe, KcSanitizePipe, NgClass],
36
35
  changeDetection: ChangeDetectionStrategy.OnPush,
37
36
  providers: [
38
37
  {
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable @angular-eslint/component-class-suffix */
2
2
  import { Component, inject, OnInit, Type } from '@angular/core';
3
+ import type { KcContext } from '@keycloakify/angular/account/KcContext';
3
4
  import { provideKeycloakifyAngular } from '@keycloakify/angular/account/providers/keycloakify-angular';
4
5
  import { TemplateComponent } from '@keycloakify/angular/account/template';
5
6
  import { getKcPage } from './KcPage';
@@ -54,7 +55,7 @@ export const decorators = (_: unknown, context: StoryContextLike) => ({
54
55
  })
55
56
  export class KcPageStory implements OnInit {
56
57
  pageComponent: Type<unknown> | undefined;
57
- kcContext = inject(KC_ACCOUNT_CONTEXT);
58
+ kcContext = inject<KcContext>(KC_ACCOUNT_CONTEXT);
58
59
  ngOnInit() {
59
60
  getKcPage(this.kcContext.pageId).then(kcPage => {
60
61
  this.pageComponent = kcPage.PageComponent;
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';
2
2
  import { getButtonToDisplayForMultivaluedAttributeField, type FormAction } from '@keycloakify/angular/login/services/user-profile-form';
3
3
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
4
- import { type Attribute } from 'keycloakify/login/KcContext';
4
+ import type { Attribute } from 'keycloakify/login/KcContext';
5
5
  import type { I18n } from '@keycloakify/angular/login/i18n';
6
6
 
7
7
  @Component({
@@ -12,7 +12,6 @@ import type { I18n } from '@keycloakify/angular/login/i18n';
12
12
  }
13
13
  `
14
14
  ],
15
- imports: [],
16
15
  selector: 'kc-add-remove-buttons-multi-valued-attribute',
17
16
  templateUrl: 'add-remove-buttons-multi-valued-attribute.component.html',
18
17
  changeDetection: ChangeDetectionStrategy.OnPush
@@ -2,9 +2,9 @@ import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@
2
2
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
3
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
4
4
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
5
- import { type FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
5
+ import type { FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
6
6
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
7
- import { type Attribute } from 'keycloakify/login/KcContext';
7
+ import type { Attribute } from 'keycloakify/login/KcContext';
8
8
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
9
9
 
10
10
  @Component({
@@ -5,7 +5,7 @@ import { AttributesDirective } from '@keycloakify/angular/lib/directives/attribu
5
5
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
6
6
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
7
7
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
8
- import { type Attribute } from 'keycloakify/login/KcContext';
8
+ import type { Attribute } from 'keycloakify/login/KcContext';
9
9
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
10
10
  import type { I18n } from '@keycloakify/angular/login/i18n';
11
11
 
@@ -9,7 +9,7 @@ import { SelectTagComponent } from '@keycloakify/angular/login/components/select
9
9
  import { TextareaTagComponent } from '@keycloakify/angular/login/components/textarea-tag';
10
10
  import { FormAction, FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
11
11
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
12
- import { type Attribute } from 'keycloakify/login/KcContext';
12
+ import type { Attribute } from 'keycloakify/login/KcContext';
13
13
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
14
14
 
15
15
  @Component({
@@ -12,7 +12,7 @@ import type { I18n } from '@keycloakify/angular/login/i18n';
12
12
  import { FormAction, FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
13
13
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
14
14
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
15
- import { type Attribute } from 'keycloakify/login/KcContext';
15
+ import type { Attribute } from 'keycloakify/login/KcContext';
16
16
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
17
17
 
18
18
  @Component({
@@ -2,10 +2,10 @@ import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input
2
2
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
3
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
4
4
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
5
- import { type FormAction, type FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
5
+ import type { FormAction, FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
6
6
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
7
7
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
8
- import { type Attribute } from 'keycloakify/login/KcContext';
8
+ import type { Attribute } from 'keycloakify/login/KcContext';
9
9
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
10
10
  import type { I18n } from '@keycloakify/angular/login/i18n';
11
11
 
@@ -1,4 +1,3 @@
1
- import { AsyncPipe } from '@angular/common';
2
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, input, Renderer2, signal, WritableSignal } from '@angular/core';
3
2
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
@@ -18,7 +17,7 @@ import type { I18n } from '@keycloakify/angular/login/i18n';
18
17
  `
19
18
  ],
20
19
  changeDetection: ChangeDetectionStrategy.OnPush,
21
- imports: [KcClassDirective, AsyncPipe],
20
+ imports: [KcClassDirective],
22
21
  templateUrl: 'password-wrapper.component.html',
23
22
  providers: [
24
23
  {
@@ -3,10 +3,10 @@ import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css
3
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
4
4
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
5
5
  import { ToNumberPipe } from '@keycloakify/angular/lib/pipes/to-number';
6
- import { type FormAction, type FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
6
+ import type { FormAction, FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
7
7
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
8
8
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
9
- import { type Attribute } from 'keycloakify/login/KcContext';
9
+ import type { Attribute } from 'keycloakify/login/KcContext';
10
10
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
11
11
  import type { I18n } from '@keycloakify/angular/login/i18n';
12
12
 
@@ -3,9 +3,9 @@ import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css
3
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
4
4
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
5
5
  import { ToNumberPipe } from '@keycloakify/angular/lib/pipes/to-number';
6
- import { type FormAction, type FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
6
+ import type { FormAction, FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';
7
7
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
8
- import { type Attribute } from 'keycloakify/login/KcContext';
8
+ import type { Attribute } from 'keycloakify/login/KcContext';
9
9
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
10
10
 
11
11
  @Component({
package/src/login/i18n.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import type { GenericI18n_noJsx } from 'keycloakify/login/i18n/noJsx/GenericI18n_noJsx';
2
- import { type MessageKey as MessageKey_defaultSet } from 'keycloakify/login/i18n/messages_defaultSet/types';
2
+ import type { MessageKey as MessageKey_defaultSet } from 'keycloakify/login/i18n/messages_defaultSet/types';
3
3
  /** INTERNAL: DO NOT IMPORT THIS */
4
4
  export type I18n = GenericI18n_noJsx<MessageKey_defaultSet, string>;
@@ -1,4 +1,4 @@
1
- import { AsyncPipe, CommonModule, NgClass } from '@angular/common';
1
+ import { CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, forwardRef, inject, signal, type TemplateRef, viewChild } from '@angular/core';
3
3
  import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
4
4
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
@@ -16,7 +16,7 @@ import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
16
16
  selector: 'kc-login',
17
17
  templateUrl: 'login.component.html',
18
18
  changeDetection: ChangeDetectionStrategy.OnPush,
19
- imports: [KcClassDirective, AsyncPipe, KcSanitizePipe, PasswordWrapperComponent, NgClass, CommonModule],
19
+ imports: [KcClassDirective, KcSanitizePipe, PasswordWrapperComponent, CommonModule],
20
20
  providers: [
21
21
  {
22
22
  provide: ComponentReference,
@@ -1,13 +1,11 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';
2
2
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
3
- import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
4
3
  import type { I18n } from '@keycloakify/angular/login/i18n';
5
4
  import type { KcContext } from '@keycloakify/angular/login/KcContext';
6
5
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
7
6
  import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
8
7
 
9
8
  @Component({
10
- imports: [KcClassDirective],
11
9
  selector: 'kc-login-idp-link-email',
12
10
  templateUrl: 'login-idp-link-email.component.html',
13
11
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -9,7 +9,6 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
9
9
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
10
10
 
11
11
  @Component({
12
- imports: [],
13
12
  selector: 'kc-login-page-expired',
14
13
  templateUrl: 'login-page-expired.component.html',
15
14
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';
2
- import { type Script } from '@keycloakify/angular/lib/models/script';
2
+ import type { Script } from '@keycloakify/angular/lib/models/script';
3
3
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
4
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
5
5
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
@@ -1,4 +1,3 @@
1
- import { AsyncPipe, NgClass } from '@angular/common';
2
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, signal, type TemplateRef, viewChild } from '@angular/core';
3
2
  import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
4
3
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
@@ -15,7 +14,7 @@ import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
15
14
  selector: 'kc-login-username',
16
15
  templateUrl: 'login-username.component.html',
17
16
  changeDetection: ChangeDetectionStrategy.OnPush,
18
- imports: [KcClassDirective, AsyncPipe, KcSanitizePipe, NgClass],
17
+ imports: [KcClassDirective, KcSanitizePipe],
19
18
  providers: [
20
19
  {
21
20
  provide: ComponentReference,
@@ -1,7 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';
2
2
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
3
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
4
- import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
5
4
  import type { I18n } from '@keycloakify/angular/login/i18n';
6
5
  import type { KcContext } from '@keycloakify/angular/login/KcContext';
7
6
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
@@ -10,7 +9,6 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
10
9
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
11
10
 
12
11
  @Component({
13
- imports: [KcClassDirective],
14
12
  selector: 'kc-login-verify-email',
15
13
  templateUrl: 'login-verify-email.component.html',
16
14
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -42,7 +42,11 @@
42
42
  <div id="kc-info-message">
43
43
  @if (!logoutConfirm.skipLink && client.baseUrl) {
44
44
  <p>
45
- <a [href]="client.baseUrl">{{ i18n.msgStr('backToApplication') }}</a>
45
+ <a
46
+ [href]="client.baseUrl"
47
+ [innerHTML]="i18n.msgStr('backToApplication') | kcSanitize: 'html'"
48
+ >
49
+ </a>
46
50
  </p>
47
51
  }
48
52
  </div>
@@ -1,4 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';
2
+ import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
2
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
3
4
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
4
5
  import type { I18n } from '@keycloakify/angular/login/i18n';
@@ -7,7 +8,7 @@ import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
7
8
  import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
8
9
 
9
10
  @Component({
10
- imports: [KcClassDirective],
11
+ imports: [KcSanitizePipe, KcClassDirective],
11
12
  selector: 'kc-logout-confirm',
12
13
  templateUrl: 'logout-confirm.component.html',
13
14
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -9,7 +9,6 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
9
9
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
10
10
 
11
11
  @Component({
12
- imports: [],
13
12
  selector: 'kc-saml-post-form',
14
13
  templateUrl: 'saml-post-form.component.html',
15
14
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1,4 +1,3 @@
1
- import { NgClass } from '@angular/common';
2
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';
3
2
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
@@ -11,7 +10,7 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
11
10
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
12
11
 
13
12
  @Component({
14
- imports: [KcClassDirective, NgClass],
13
+ imports: [KcClassDirective],
15
14
  selector: 'kc-select-authenticator',
16
15
  templateUrl: 'select-authenticator.component.html',
17
16
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1,8 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';
2
- import { type Script } from '@keycloakify/angular/lib/models/script';
2
+ import type { Script } from '@keycloakify/angular/lib/models/script';
3
3
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
4
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
5
- import { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';
6
5
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
7
6
  import type { I18n } from '@keycloakify/angular/login/i18n';
8
7
  import type { KcContext } from '@keycloakify/angular/login/KcContext';
@@ -13,7 +12,7 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
13
12
  import { type ClassKey, getKcClsx } from 'keycloakify/login/lib/kcClsx';
14
13
 
15
14
  @Component({
16
- imports: [KcClassDirective, LogoutOtherSessionsComponent],
15
+ imports: [KcClassDirective],
17
16
  selector: 'kc-webauthn-authenticate',
18
17
  templateUrl: 'webauthn-authenticate.component.html',
19
18
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1,7 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';
2
2
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
3
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
4
- import { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';
5
4
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
6
5
  import type { I18n } from '@keycloakify/angular/login/i18n';
7
6
  import type { KcContext } from '@keycloakify/angular/login/KcContext';
@@ -11,7 +10,7 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
11
10
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
12
11
 
13
12
  @Component({
14
- imports: [KcClassDirective, LogoutOtherSessionsComponent],
13
+ imports: [KcClassDirective],
15
14
  selector: 'kc-webauthn-error',
16
15
  templateUrl: 'webauthn-error.component.html',
17
16
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';
2
- import { type Script } from '@keycloakify/angular/lib/models/script';
2
+ import type { Script } from '@keycloakify/angular/lib/models/script';
3
3
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
4
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
5
5
  import { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';
@@ -12,7 +12,7 @@ import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
12
12
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
13
13
  import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
14
14
  import { DO_MAKE_USER_CONFIRM_PASSWORD } from '@keycloakify/angular/login/tokens/make-user-confirm-password';
15
- import { type KcContextLike } from 'keycloakify/login/i18n/noJsx';
15
+ import type { KcContextLike } from 'keycloakify/login/i18n/noJsx';
16
16
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
17
17
 
18
18
  export type KeycloakifyAngularLoginConfig = {
@@ -3,7 +3,7 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
3
3
  import { ResourceInjectorService } from '@keycloakify/angular/lib/services/resource-injector';
4
4
  import type { KcContext } from '@keycloakify/angular/login/KcContext';
5
5
  import { catchError, forkJoin, of, switchMap } from 'rxjs';
6
- import { type Script } from '@keycloakify/angular/lib/models/script';
6
+ import type { Script } from '@keycloakify/angular/lib/models/script';
7
7
 
8
8
  @Injectable({
9
9
  providedIn: 'root'