@keycloakify/angular 0.0.1-rc.17 → 0.0.1-rc.18

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 (247) hide show
  1. package/esm2022/account/containers/template/template.component.mjs +6 -6
  2. package/esm2022/account/directives/kc-class/kc-class.directive.mjs +3 -3
  3. package/esm2022/account/pages/account/account.component.mjs +6 -6
  4. package/esm2022/account/pages/applications/applications.component.mjs +6 -6
  5. package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +6 -6
  6. package/esm2022/account/pages/log/log.component.mjs +3 -3
  7. package/esm2022/account/pages/password/password.component.mjs +7 -6
  8. package/esm2022/account/pages/sessions/sessions.component.mjs +6 -6
  9. package/esm2022/account/pages/totp/totp.component.mjs +6 -6
  10. package/esm2022/account/providers/keycloakify-angular/keycloakify-angular.providers.mjs +2 -1
  11. package/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +3 -3
  12. package/esm2022/account/services/i18n/i18n.service.mjs +3 -3
  13. package/esm2022/lib/directives/attributes/attributes.directive.mjs +3 -3
  14. package/esm2022/lib/pipes/input-type/input-type.pipe.mjs +3 -3
  15. package/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +3 -3
  16. package/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +3 -3
  17. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
  18. package/esm2022/lib/pipes/to-number/to-number.pipe.mjs +3 -3
  19. package/esm2022/lib/services/resource-injector/resource-injector.service.mjs +3 -3
  20. package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +5 -5
  21. package/esm2022/login/components/field-errors/field-errors.component.mjs +6 -6
  22. package/esm2022/login/components/group-label/group-label.component.mjs +3 -3
  23. package/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +6 -6
  24. package/esm2022/login/components/input-tag/input-tag.component.mjs +6 -6
  25. package/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +3 -3
  26. package/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +3 -3
  27. package/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +6 -6
  28. package/esm2022/login/components/select-tag/select-tag.component.mjs +3 -3
  29. package/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +3 -3
  30. package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +6 -6
  31. package/esm2022/login/containers/template/template.component.mjs +6 -6
  32. package/esm2022/login/directives/kc-class/kc-class.directive.mjs +5 -5
  33. package/esm2022/login/pages/code/code.component.mjs +3 -3
  34. package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +6 -6
  35. package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +6 -6
  36. package/esm2022/login/pages/error/error.component.mjs +3 -3
  37. package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +6 -6
  38. package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +6 -6
  39. package/esm2022/login/pages/info/info.component.mjs +3 -3
  40. package/esm2022/login/pages/login/login.component.mjs +6 -6
  41. package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +6 -6
  42. package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +6 -6
  43. package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +6 -6
  44. package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +3 -3
  45. package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +6 -6
  46. package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +6 -6
  47. package/esm2022/login/pages/login-otp/login-otp.component.mjs +6 -6
  48. package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +3 -3
  49. package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +6 -6
  50. package/esm2022/login/pages/login-password/login-password.component.mjs +6 -6
  51. package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +6 -6
  52. package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +6 -6
  53. package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +6 -6
  54. package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +6 -6
  55. package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +6 -6
  56. package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +6 -6
  57. package/esm2022/login/pages/login-username/login-username.component.mjs +6 -6
  58. package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +3 -3
  59. package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +6 -6
  60. package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +6 -6
  61. package/esm2022/login/pages/register/register.component.mjs +6 -6
  62. package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +6 -6
  63. package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +6 -6
  64. package/esm2022/login/pages/terms/terms.component.mjs +6 -6
  65. package/esm2022/login/pages/update-email/update-email.component.mjs +6 -6
  66. package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +6 -6
  67. package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +6 -6
  68. package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +6 -6
  69. package/esm2022/login/providers/keycloakify-angular/keycloakify-angular.providers.mjs +2 -1
  70. package/esm2022/login/services/i18n/i18n.service.mjs +3 -3
  71. package/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +3 -3
  72. package/esm2022/login/services/submit/submit.service.mjs +4 -4
  73. package/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +3 -3
  74. package/fesm2022/keycloakify-angular-account-containers-template.mjs +5 -5
  75. package/fesm2022/keycloakify-angular-account-containers-template.mjs.map +1 -1
  76. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
  77. package/fesm2022/keycloakify-angular-account-pages-account.mjs +5 -5
  78. package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
  79. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +5 -5
  80. package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -1
  81. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +5 -5
  82. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -1
  83. package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
  84. package/fesm2022/keycloakify-angular-account-pages-password.mjs +6 -5
  85. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  86. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +5 -5
  87. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -1
  88. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +5 -5
  89. package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -1
  90. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs +1 -0
  91. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +1 -1
  92. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
  93. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  94. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +3 -3
  95. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  96. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  97. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  98. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  99. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  100. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
  101. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +4 -4
  102. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  103. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +5 -5
  104. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
  105. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +3 -3
  106. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +5 -5
  107. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
  108. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +3 -3
  109. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +5 -5
  110. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
  111. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  112. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +5 -5
  113. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
  114. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +3 -3
  115. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +3 -3
  116. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +5 -5
  117. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -1
  118. package/fesm2022/keycloakify-angular-login-containers-template.mjs +5 -5
  119. package/fesm2022/keycloakify-angular-login-containers-template.mjs.map +1 -1
  120. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +4 -4
  121. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs.map +1 -1
  122. package/fesm2022/keycloakify-angular-login-pages-code.mjs +3 -3
  123. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +5 -5
  124. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  125. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +5 -5
  126. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  127. package/fesm2022/keycloakify-angular-login-pages-error.mjs +3 -3
  128. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +5 -5
  129. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  130. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +5 -5
  131. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  132. package/fesm2022/keycloakify-angular-login-pages-info.mjs +3 -3
  133. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +5 -5
  134. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  135. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +5 -5
  136. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  137. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +5 -5
  138. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  139. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +3 -3
  140. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +5 -5
  141. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  142. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +5 -5
  143. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  144. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +5 -5
  145. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  146. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +3 -3
  147. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +5 -5
  148. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  149. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +5 -5
  150. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  151. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +5 -5
  152. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  153. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +5 -5
  154. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  155. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +5 -5
  156. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  157. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +5 -5
  158. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  159. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +5 -5
  160. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  161. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +5 -5
  162. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  163. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +5 -5
  164. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  165. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +3 -3
  166. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +5 -5
  167. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  168. package/fesm2022/keycloakify-angular-login-pages-login.mjs +5 -5
  169. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  170. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +5 -5
  171. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  172. package/fesm2022/keycloakify-angular-login-pages-register.mjs +5 -5
  173. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  174. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +5 -5
  175. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  176. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +5 -5
  177. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  178. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +5 -5
  179. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  180. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +5 -5
  181. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  182. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +5 -5
  183. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  184. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +5 -5
  185. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  186. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +5 -5
  187. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  188. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs +1 -0
  189. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +1 -1
  190. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  191. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
  192. package/fesm2022/keycloakify-angular-login-services-submit.mjs +3 -3
  193. package/fesm2022/keycloakify-angular-login-services-submit.mjs.map +1 -1
  194. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
  195. package/login/directives/kc-class/kc-class.directive.d.ts +1 -1
  196. package/package.json +1 -1
  197. package/src/account/containers/template/template.component.html +2 -2
  198. package/src/account/pages/account/account.component.html +3 -3
  199. package/src/account/pages/applications/applications.component.html +2 -2
  200. package/src/account/pages/federatedIdentity/federatedIdentity.component.html +5 -5
  201. package/src/account/pages/password/password.component.html +4 -4
  202. package/src/account/pages/password/password.component.ts +1 -0
  203. package/src/account/pages/sessions/sessions.component.html +1 -1
  204. package/src/account/pages/totp/totp.component.html +11 -11
  205. package/src/account/providers/keycloakify-angular/keycloakify-angular.providers.ts +1 -0
  206. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html +2 -2
  207. package/src/login/components/field-errors/field-errors.component.html +1 -1
  208. package/src/login/components/input-field-by-type/input-field-by-type.component.html +6 -6
  209. package/src/login/components/input-tag/input-tag.component.html +2 -2
  210. package/src/login/components/password-wrapper/password-wrapper.component.html +2 -2
  211. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +7 -11
  212. package/src/login/containers/template/template.component.html +11 -11
  213. package/src/login/directives/kc-class/kc-class.directive.ts +1 -2
  214. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.html +3 -3
  215. package/src/login/pages/delete-credential/delete-credential.component.html +4 -4
  216. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.html +1 -1
  217. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +3 -3
  218. package/src/login/pages/login/login.component.html +9 -9
  219. package/src/login/pages/login-config-totp/login-config-totp.component.html +10 -10
  220. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +3 -3
  221. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +2 -2
  222. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.html +5 -5
  223. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +3 -3
  224. package/src/login/pages/login-otp/login-otp.component.html +7 -7
  225. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +9 -9
  226. package/src/login/pages/login-password/login-password.component.html +5 -5
  227. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +9 -9
  228. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +5 -5
  229. package/src/login/pages/login-reset-otp/login-reset-otp.component.html +5 -5
  230. package/src/login/pages/login-reset-password/login-reset-password.component.html +4 -4
  231. package/src/login/pages/login-update-password/login-update-password.component.html +8 -8
  232. package/src/login/pages/login-update-profile/login-update-profile.component.html +4 -4
  233. package/src/login/pages/login-username/login-username.component.html +7 -7
  234. package/src/login/pages/login-x509-info/login-x509-info.component.html +3 -3
  235. package/src/login/pages/logout-confirm/logout-confirm.component.html +2 -2
  236. package/src/login/pages/register/register.component.html +7 -7
  237. package/src/login/pages/saml-post-form/saml-post-form.component.html +1 -1
  238. package/src/login/pages/select-authenticator/select-authenticator.component.html +2 -2
  239. package/src/login/pages/terms/terms.component.html +3 -3
  240. package/src/login/pages/update-email/update-email.component.html +5 -5
  241. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +4 -5
  242. package/src/login/pages/webauthn-error/webauthn-error.component.html +6 -6
  243. package/src/login/pages/webauthn-register/webauthn-register.component.html +4 -4
  244. package/src/login/providers/keycloakify-angular/keycloakify-angular.providers.ts +1 -0
  245. package/src/login/services/submit/submit.service.ts +1 -1
  246. package/src/tsconfig.lib.json +0 -12
  247. package/src/tsconfig.lib.prod.json +0 -10
@@ -53,22 +53,22 @@ class TemplateComponent extends ComponentReference {
53
53
  tryAnotherWay() {
54
54
  document.forms['kc-select-try-another-way-form'].submit();
55
55
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: TemplateComponent, isStandalone: true, selector: "kc-login-template", inputs: { displayInfo: { classPropertyName: "displayInfo", publicName: "displayInfo", isSignal: true, isRequired: false, transformFunction: null }, displayMessage: { classPropertyName: "displayMessage", publicName: "displayMessage", isSignal: true, isRequired: false, transformFunction: null }, displayRequiredFields: { classPropertyName: "displayRequiredFields", publicName: "displayRequiredFields", isSignal: true, isRequired: false, transformFunction: null }, documentTitle: { classPropertyName: "documentTitle", publicName: "documentTitle", isSignal: true, isRequired: false, transformFunction: null }, bodyClassName: { classPropertyName: "bodyClassName", publicName: "bodyClassName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: TemplateComponent, isStandalone: true, selector: "kc-login-template", inputs: { displayInfo: { classPropertyName: "displayInfo", publicName: "displayInfo", isSignal: true, isRequired: false, transformFunction: null }, displayMessage: { classPropertyName: "displayMessage", publicName: "displayMessage", isSignal: true, isRequired: false, transformFunction: null }, displayRequiredFields: { classPropertyName: "displayRequiredFields", publicName: "displayRequiredFields", isSignal: true, isRequired: false, transformFunction: null }, documentTitle: { classPropertyName: "documentTitle", publicName: "documentTitle", isSignal: true, isRequired: false, transformFunction: null }, bodyClassName: { classPropertyName: "bodyClassName", publicName: "bodyClassName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
58
58
  {
59
59
  provide: ComponentReference,
60
60
  useExisting: forwardRef(() => TemplateComponent)
61
61
  }
62
- ], usesInheritance: true, ngImport: i0, template: "@let realm = kcContext.realm;\n@let message = kcContext.message;\n@let auth = kcContext.auth;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n@let url = kcContext.url;\n@let isReadyToRender = isReadyToRender$ | async;\n\n@if (isReadyToRender) {\n <div [kcClass]=\"'kcLoginClass'\">\n <div\n id=\"kc-header\"\n [kcClass]=\"'kcHeaderClass'\"\n >\n <div\n id=\"kc-header-wrapper\"\n [kcClass]=\"'kcHeaderWrapperClass'\"\n >\n <div [innerHTML]=\"realm?.displayNameHtml ?? '' | kcSanitize: 'html'\"></div>\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormCardClass'\">\n <header [kcClass]=\"'kcFormHeaderClass'\">\n <!-- Locale switcher -->\n @if (i18n.enabledLanguages.length > 1) {\n <div\n id=\"kc-locale\"\n [kcClass]=\"'kcLocaleMainClass'\"\n >\n <div\n id=\"kc-locale-wrapper\"\n [kcClass]=\"'kcLocaleWrapperClass'\"\n >\n <div\n id=\"kc-locale-dropdown\"\n [kcClass]=\"'kcLocaleDropDownClass'\"\n class=\"menu-button-links\"\n >\n <button\n tabindex=\"1\"\n id=\"kc-current-locale-link\"\n [attr.aria-label]=\"i18n.msgStr('languages')\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n aria-controls=\"language-switch1\"\n >\n {{ i18n.currentLanguage.label }}\n </button>\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n aria-labelledby=\"kc-current-locale-link\"\n aria-activedescendant=\"\"\n id=\"language-switch1\"\n [kcClass]=\"'kcLocaleListClass'\"\n >\n @for (entry of i18n.enabledLanguages; track entry; let idx = $index) {\n <li\n [kcClass]=\"'kcLocaleListItemClass'\"\n role=\"none\"\n >\n <a\n role=\"menuitem\"\n tabindex=\"-1\"\n [href]=\"entry.href\"\n [kcClass]=\"'kcLocaleItemClass'\"\n [id]=\"'language-' + idx\"\n >\n {{ entry.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n </div>\n </div>\n }\n\n <!-- Header content -->\n <ng-template #node>\n @if (auth && !auth.showUsername && !auth.showResetCredentials) {\n <h1 id=\"kc-page-title\">\n <ng-content select=\"[headerNode]\"></ng-content>\n </h1>\n } @else {\n <div\n id=\"kc-username\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <label id=\"kc-attempted-username\">{{ auth?.attemptedUsername }}</label>\n <a\n id=\"reset-login\"\n [href]=\"url?.loginRestartFlowUrl\"\n [attr.aria-label]=\"i18n.msgStr('restartLoginTooltip')\"\n >\n <div class=\"kc-login-tooltip\">\n <i [kcClass]=\"'kcResetFlowIcon'\"></i>\n <span class=\"kc-tooltip-text\">\n {{ i18n.msgStr('restartLoginTooltip') }}\n </span>\n </div>\n </a>\n </div>\n }\n </ng-template>\n\n @if (displayRequiredFields()) {\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <div\n [kcClass]=\"'kcLabelWrapperClass'\"\n class=\"subtitle\"\n >\n <span class=\"subtitle\">\n <span class=\"required\">*</span>\n {{ i18n.msgStr('requiredFields') }}\n </span>\n </div>\n <div class=\"col-md-10\">\n <ng-container [ngTemplateOutlet]=\"node\"></ng-container>\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"node\"></ng-container>\n }\n </header>\n\n <div id=\"kc-content\">\n <div id=\"kc-content-wrapper\">\n <!-- Message display -->\n @if (displayMessage() && message && (message.type !== 'warning' || !isAppInitiatedAction)) {\n <div\n [kcClass]=\"'kcAlertClass'\"\n [ngClass]=\"message.type === 'error' ? 'pf-m-danger' : 'pf-m-' + message.type\"\n [class]=\"'alert-' + message.type\"\n >\n <div class=\"pf-c-alert__icon\">\n @switch (message.type) {\n @case ('success') {\n <span [kcClass]=\"'kcFeedbackSuccessIcon'\"></span>\n }\n @case ('warning') {\n <span [kcClass]=\"'kcFeedbackWarningIcon'\"></span>\n }\n @case ('info') {\n <span [kcClass]=\"'kcFeedbackInfoIcon'\"></span>\n }\n @case ('error') {\n <span [kcClass]=\"'kcFeedbackErrorIcon'\"></span>\n }\n }\n </div>\n <span\n [kcClass]=\"'kcAlertTitleClass'\"\n [innerHTML]=\"message.summary | kcSanitize: 'html'\"\n ></span>\n </div>\n }\n <!-- Content -->\n <ng-content select=\"[content]\"></ng-content>\n @if (!!auth && auth?.showTryAnotherWayLink) {\n <form\n id=\"kc-select-try-another-way-form\"\n [action]=\"url?.loginAction\"\n method=\"post\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcFormGroupClass'\">\n <input\n type=\"hidden\"\n name=\"tryAnotherWay\"\n value=\"on\"\n />\n <a\n id=\"try-another-way\"\n (click)=\"tryAnotherWay()\"\n >\n {{ i18n.msgStr('doTryAnotherWay') }}\n </a>\n </div>\n </div>\n </form>\n }\n\n <ng-content select=\"[socialProvidersNode]\"></ng-content>\n <!-- Info display -->\n @if (displayInfo()) {\n <div\n id=\"kc-info\"\n [kcClass]=\"'kcSignUpClass'\"\n >\n <div\n id=\"kc-info-wrapper\"\n [kcClass]=\"'kcInfoAreaWrapperClass'\"\n >\n <ng-content select=\"[infoNode]\"></ng-content>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n}\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
+ ], usesInheritance: true, ngImport: i0, template: "@let realm = kcContext.realm;\n@let message = kcContext.message;\n@let auth = kcContext.auth;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n@let url = kcContext.url;\n@let isReadyToRender = isReadyToRender$ | async;\n\n@if (isReadyToRender) {\n <div [kcClass]=\"'kcLoginClass'\">\n <div\n id=\"kc-header\"\n [kcClass]=\"'kcHeaderClass'\"\n >\n <div\n id=\"kc-header-wrapper\"\n [kcClass]=\"'kcHeaderWrapperClass'\"\n >\n <div [innerHTML]=\"realm?.displayNameHtml ?? '' | kcSanitize: 'html'\"></div>\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormCardClass'\">\n <header [kcClass]=\"'kcFormHeaderClass'\">\n <!-- Locale switcher -->\n @if (i18n.enabledLanguages.length > 1) {\n <div\n id=\"kc-locale\"\n [kcClass]=\"'kcLocaleMainClass'\"\n >\n <div\n id=\"kc-locale-wrapper\"\n [kcClass]=\"'kcLocaleWrapperClass'\"\n >\n <div\n id=\"kc-locale-dropdown\"\n class=\"menu-button-links\"\n [kcClass]=\"'kcLocaleDropDownClass'\"\n >\n <button\n tabindex=\"1\"\n id=\"kc-current-locale-link\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n aria-controls=\"language-switch1\"\n [attr.aria-label]=\"i18n.msgStr('languages')\"\n >\n {{ i18n.currentLanguage.label }}\n </button>\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n aria-labelledby=\"kc-current-locale-link\"\n aria-activedescendant=\"\"\n id=\"language-switch1\"\n [kcClass]=\"'kcLocaleListClass'\"\n >\n @for (entry of i18n.enabledLanguages; track entry; let idx = $index) {\n <li\n role=\"none\"\n [kcClass]=\"'kcLocaleListItemClass'\"\n >\n <a\n role=\"menuitem\"\n tabindex=\"-1\"\n [href]=\"entry.href\"\n [kcClass]=\"'kcLocaleItemClass'\"\n [id]=\"'language-' + idx\"\n >\n {{ entry.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n </div>\n </div>\n }\n\n <!-- Header content -->\n <ng-template #node>\n @if (auth && !auth.showUsername && !auth.showResetCredentials) {\n <h1 id=\"kc-page-title\">\n <ng-content select=\"[headerNode]\" />\n </h1>\n } @else {\n <div\n id=\"kc-username\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <label id=\"kc-attempted-username\">{{ auth?.attemptedUsername }}</label>\n <a\n id=\"reset-login\"\n [href]=\"url?.loginRestartFlowUrl\"\n [attr.aria-label]=\"i18n.msgStr('restartLoginTooltip')\"\n >\n <div class=\"kc-login-tooltip\">\n <i [kcClass]=\"'kcResetFlowIcon'\"></i>\n <span class=\"kc-tooltip-text\">\n {{ i18n.msgStr('restartLoginTooltip') }}\n </span>\n </div>\n </a>\n </div>\n }\n </ng-template>\n\n @if (displayRequiredFields()) {\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <div\n class=\"subtitle\"\n [kcClass]=\"'kcLabelWrapperClass'\"\n >\n <span class=\"subtitle\">\n <span class=\"required\">*</span>\n {{ i18n.msgStr('requiredFields') }}\n </span>\n </div>\n <div class=\"col-md-10\">\n <ng-container [ngTemplateOutlet]=\"node\" />\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"node\" />\n }\n </header>\n\n <div id=\"kc-content\">\n <div id=\"kc-content-wrapper\">\n <!-- Message display -->\n @if (displayMessage() && message && (message.type !== 'warning' || !isAppInitiatedAction)) {\n <div\n [kcClass]=\"'kcAlertClass'\"\n [ngClass]=\"message.type === 'error' ? 'pf-m-danger' : 'pf-m-' + message.type\"\n [class]=\"'alert-' + message.type\"\n >\n <div class=\"pf-c-alert__icon\">\n @switch (message.type) {\n @case ('success') {\n <span [kcClass]=\"'kcFeedbackSuccessIcon'\"></span>\n }\n @case ('warning') {\n <span [kcClass]=\"'kcFeedbackWarningIcon'\"></span>\n }\n @case ('info') {\n <span [kcClass]=\"'kcFeedbackInfoIcon'\"></span>\n }\n @case ('error') {\n <span [kcClass]=\"'kcFeedbackErrorIcon'\"></span>\n }\n }\n </div>\n <span\n [kcClass]=\"'kcAlertTitleClass'\"\n [innerHTML]=\"message.summary | kcSanitize: 'html'\"\n ></span>\n </div>\n }\n <!-- Content -->\n <ng-content select=\"[content]\" />\n @if (!!auth && auth?.showTryAnotherWayLink) {\n <form\n id=\"kc-select-try-another-way-form\"\n method=\"post\"\n [action]=\"url?.loginAction\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcFormGroupClass'\">\n <input\n type=\"hidden\"\n name=\"tryAnotherWay\"\n value=\"on\"\n />\n <a\n id=\"try-another-way\"\n (click)=\"tryAnotherWay()\"\n >\n {{ i18n.msgStr('doTryAnotherWay') }}\n </a>\n </div>\n </div>\n </form>\n }\n\n <ng-content select=\"[socialProvidersNode]\" />\n <!-- Info display -->\n @if (displayInfo()) {\n <div\n id=\"kc-info\"\n [kcClass]=\"'kcSignUpClass'\"\n >\n <div\n id=\"kc-info-wrapper\"\n [kcClass]=\"'kcInfoAreaWrapperClass'\"\n >\n <ng-content select=\"[infoNode]\" />\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n}\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TemplateComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TemplateComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'kc-login-template', standalone: true, imports: [AsyncPipe, KcSanitizePipe, NgTemplateOutlet, KcClassDirective], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
67
67
  {
68
68
  provide: ComponentReference,
69
69
  useExisting: forwardRef(() => TemplateComponent)
70
70
  }
71
- ], template: "@let realm = kcContext.realm;\n@let message = kcContext.message;\n@let auth = kcContext.auth;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n@let url = kcContext.url;\n@let isReadyToRender = isReadyToRender$ | async;\n\n@if (isReadyToRender) {\n <div [kcClass]=\"'kcLoginClass'\">\n <div\n id=\"kc-header\"\n [kcClass]=\"'kcHeaderClass'\"\n >\n <div\n id=\"kc-header-wrapper\"\n [kcClass]=\"'kcHeaderWrapperClass'\"\n >\n <div [innerHTML]=\"realm?.displayNameHtml ?? '' | kcSanitize: 'html'\"></div>\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormCardClass'\">\n <header [kcClass]=\"'kcFormHeaderClass'\">\n <!-- Locale switcher -->\n @if (i18n.enabledLanguages.length > 1) {\n <div\n id=\"kc-locale\"\n [kcClass]=\"'kcLocaleMainClass'\"\n >\n <div\n id=\"kc-locale-wrapper\"\n [kcClass]=\"'kcLocaleWrapperClass'\"\n >\n <div\n id=\"kc-locale-dropdown\"\n [kcClass]=\"'kcLocaleDropDownClass'\"\n class=\"menu-button-links\"\n >\n <button\n tabindex=\"1\"\n id=\"kc-current-locale-link\"\n [attr.aria-label]=\"i18n.msgStr('languages')\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n aria-controls=\"language-switch1\"\n >\n {{ i18n.currentLanguage.label }}\n </button>\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n aria-labelledby=\"kc-current-locale-link\"\n aria-activedescendant=\"\"\n id=\"language-switch1\"\n [kcClass]=\"'kcLocaleListClass'\"\n >\n @for (entry of i18n.enabledLanguages; track entry; let idx = $index) {\n <li\n [kcClass]=\"'kcLocaleListItemClass'\"\n role=\"none\"\n >\n <a\n role=\"menuitem\"\n tabindex=\"-1\"\n [href]=\"entry.href\"\n [kcClass]=\"'kcLocaleItemClass'\"\n [id]=\"'language-' + idx\"\n >\n {{ entry.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n </div>\n </div>\n }\n\n <!-- Header content -->\n <ng-template #node>\n @if (auth && !auth.showUsername && !auth.showResetCredentials) {\n <h1 id=\"kc-page-title\">\n <ng-content select=\"[headerNode]\"></ng-content>\n </h1>\n } @else {\n <div\n id=\"kc-username\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <label id=\"kc-attempted-username\">{{ auth?.attemptedUsername }}</label>\n <a\n id=\"reset-login\"\n [href]=\"url?.loginRestartFlowUrl\"\n [attr.aria-label]=\"i18n.msgStr('restartLoginTooltip')\"\n >\n <div class=\"kc-login-tooltip\">\n <i [kcClass]=\"'kcResetFlowIcon'\"></i>\n <span class=\"kc-tooltip-text\">\n {{ i18n.msgStr('restartLoginTooltip') }}\n </span>\n </div>\n </a>\n </div>\n }\n </ng-template>\n\n @if (displayRequiredFields()) {\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <div\n [kcClass]=\"'kcLabelWrapperClass'\"\n class=\"subtitle\"\n >\n <span class=\"subtitle\">\n <span class=\"required\">*</span>\n {{ i18n.msgStr('requiredFields') }}\n </span>\n </div>\n <div class=\"col-md-10\">\n <ng-container [ngTemplateOutlet]=\"node\"></ng-container>\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"node\"></ng-container>\n }\n </header>\n\n <div id=\"kc-content\">\n <div id=\"kc-content-wrapper\">\n <!-- Message display -->\n @if (displayMessage() && message && (message.type !== 'warning' || !isAppInitiatedAction)) {\n <div\n [kcClass]=\"'kcAlertClass'\"\n [ngClass]=\"message.type === 'error' ? 'pf-m-danger' : 'pf-m-' + message.type\"\n [class]=\"'alert-' + message.type\"\n >\n <div class=\"pf-c-alert__icon\">\n @switch (message.type) {\n @case ('success') {\n <span [kcClass]=\"'kcFeedbackSuccessIcon'\"></span>\n }\n @case ('warning') {\n <span [kcClass]=\"'kcFeedbackWarningIcon'\"></span>\n }\n @case ('info') {\n <span [kcClass]=\"'kcFeedbackInfoIcon'\"></span>\n }\n @case ('error') {\n <span [kcClass]=\"'kcFeedbackErrorIcon'\"></span>\n }\n }\n </div>\n <span\n [kcClass]=\"'kcAlertTitleClass'\"\n [innerHTML]=\"message.summary | kcSanitize: 'html'\"\n ></span>\n </div>\n }\n <!-- Content -->\n <ng-content select=\"[content]\"></ng-content>\n @if (!!auth && auth?.showTryAnotherWayLink) {\n <form\n id=\"kc-select-try-another-way-form\"\n [action]=\"url?.loginAction\"\n method=\"post\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcFormGroupClass'\">\n <input\n type=\"hidden\"\n name=\"tryAnotherWay\"\n value=\"on\"\n />\n <a\n id=\"try-another-way\"\n (click)=\"tryAnotherWay()\"\n >\n {{ i18n.msgStr('doTryAnotherWay') }}\n </a>\n </div>\n </div>\n </form>\n }\n\n <ng-content select=\"[socialProvidersNode]\"></ng-content>\n <!-- Info display -->\n @if (displayInfo()) {\n <div\n id=\"kc-info\"\n [kcClass]=\"'kcSignUpClass'\"\n >\n <div\n id=\"kc-info-wrapper\"\n [kcClass]=\"'kcInfoAreaWrapperClass'\"\n >\n <ng-content select=\"[infoNode]\"></ng-content>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n}\n" }]
71
+ ], template: "@let realm = kcContext.realm;\n@let message = kcContext.message;\n@let auth = kcContext.auth;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n@let url = kcContext.url;\n@let isReadyToRender = isReadyToRender$ | async;\n\n@if (isReadyToRender) {\n <div [kcClass]=\"'kcLoginClass'\">\n <div\n id=\"kc-header\"\n [kcClass]=\"'kcHeaderClass'\"\n >\n <div\n id=\"kc-header-wrapper\"\n [kcClass]=\"'kcHeaderWrapperClass'\"\n >\n <div [innerHTML]=\"realm?.displayNameHtml ?? '' | kcSanitize: 'html'\"></div>\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormCardClass'\">\n <header [kcClass]=\"'kcFormHeaderClass'\">\n <!-- Locale switcher -->\n @if (i18n.enabledLanguages.length > 1) {\n <div\n id=\"kc-locale\"\n [kcClass]=\"'kcLocaleMainClass'\"\n >\n <div\n id=\"kc-locale-wrapper\"\n [kcClass]=\"'kcLocaleWrapperClass'\"\n >\n <div\n id=\"kc-locale-dropdown\"\n class=\"menu-button-links\"\n [kcClass]=\"'kcLocaleDropDownClass'\"\n >\n <button\n tabindex=\"1\"\n id=\"kc-current-locale-link\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n aria-controls=\"language-switch1\"\n [attr.aria-label]=\"i18n.msgStr('languages')\"\n >\n {{ i18n.currentLanguage.label }}\n </button>\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n aria-labelledby=\"kc-current-locale-link\"\n aria-activedescendant=\"\"\n id=\"language-switch1\"\n [kcClass]=\"'kcLocaleListClass'\"\n >\n @for (entry of i18n.enabledLanguages; track entry; let idx = $index) {\n <li\n role=\"none\"\n [kcClass]=\"'kcLocaleListItemClass'\"\n >\n <a\n role=\"menuitem\"\n tabindex=\"-1\"\n [href]=\"entry.href\"\n [kcClass]=\"'kcLocaleItemClass'\"\n [id]=\"'language-' + idx\"\n >\n {{ entry.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n </div>\n </div>\n }\n\n <!-- Header content -->\n <ng-template #node>\n @if (auth && !auth.showUsername && !auth.showResetCredentials) {\n <h1 id=\"kc-page-title\">\n <ng-content select=\"[headerNode]\" />\n </h1>\n } @else {\n <div\n id=\"kc-username\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <label id=\"kc-attempted-username\">{{ auth?.attemptedUsername }}</label>\n <a\n id=\"reset-login\"\n [href]=\"url?.loginRestartFlowUrl\"\n [attr.aria-label]=\"i18n.msgStr('restartLoginTooltip')\"\n >\n <div class=\"kc-login-tooltip\">\n <i [kcClass]=\"'kcResetFlowIcon'\"></i>\n <span class=\"kc-tooltip-text\">\n {{ i18n.msgStr('restartLoginTooltip') }}\n </span>\n </div>\n </a>\n </div>\n }\n </ng-template>\n\n @if (displayRequiredFields()) {\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <div\n class=\"subtitle\"\n [kcClass]=\"'kcLabelWrapperClass'\"\n >\n <span class=\"subtitle\">\n <span class=\"required\">*</span>\n {{ i18n.msgStr('requiredFields') }}\n </span>\n </div>\n <div class=\"col-md-10\">\n <ng-container [ngTemplateOutlet]=\"node\" />\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"node\" />\n }\n </header>\n\n <div id=\"kc-content\">\n <div id=\"kc-content-wrapper\">\n <!-- Message display -->\n @if (displayMessage() && message && (message.type !== 'warning' || !isAppInitiatedAction)) {\n <div\n [kcClass]=\"'kcAlertClass'\"\n [ngClass]=\"message.type === 'error' ? 'pf-m-danger' : 'pf-m-' + message.type\"\n [class]=\"'alert-' + message.type\"\n >\n <div class=\"pf-c-alert__icon\">\n @switch (message.type) {\n @case ('success') {\n <span [kcClass]=\"'kcFeedbackSuccessIcon'\"></span>\n }\n @case ('warning') {\n <span [kcClass]=\"'kcFeedbackWarningIcon'\"></span>\n }\n @case ('info') {\n <span [kcClass]=\"'kcFeedbackInfoIcon'\"></span>\n }\n @case ('error') {\n <span [kcClass]=\"'kcFeedbackErrorIcon'\"></span>\n }\n }\n </div>\n <span\n [kcClass]=\"'kcAlertTitleClass'\"\n [innerHTML]=\"message.summary | kcSanitize: 'html'\"\n ></span>\n </div>\n }\n <!-- Content -->\n <ng-content select=\"[content]\" />\n @if (!!auth && auth?.showTryAnotherWayLink) {\n <form\n id=\"kc-select-try-another-way-form\"\n method=\"post\"\n [action]=\"url?.loginAction\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcFormGroupClass'\">\n <input\n type=\"hidden\"\n name=\"tryAnotherWay\"\n value=\"on\"\n />\n <a\n id=\"try-another-way\"\n (click)=\"tryAnotherWay()\"\n >\n {{ i18n.msgStr('doTryAnotherWay') }}\n </a>\n </div>\n </div>\n </form>\n }\n\n <ng-content select=\"[socialProvidersNode]\" />\n <!-- Info display -->\n @if (displayInfo()) {\n <div\n id=\"kc-info\"\n [kcClass]=\"'kcSignUpClass'\"\n >\n <div\n id=\"kc-info-wrapper\"\n [kcClass]=\"'kcInfoAreaWrapperClass'\"\n >\n <ng-content select=\"[infoNode]\" />\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n}\n" }]
72
72
  }], ctorParameters: () => [] });
73
73
 
74
74
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-containers-template.mjs","sources":["../../src/login/containers/template/template.component.ts","../../src/login/containers/template/template.component.html","../../src/login/containers/template/keycloakify-angular-login-containers-template.ts"],"sourcesContent":["import { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject, input, OnInit, Renderer2 } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport { LoginResourceInjectorService } from '@keycloakify/angular/login/services/login-resource-injector';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport { type ClassKey, getKcClsx } from 'keycloakify/login/lib/kcClsx';\nimport { Observable } from 'rxjs';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport { KcContext } from '@keycloakify/angular/login/KcContext';\n\n@Component({\n selector: 'kc-login-template',\n templateUrl: './template.component.html',\n standalone: true,\n imports: [AsyncPipe, KcSanitizePipe, NgTemplateOutlet, KcClassDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => TemplateComponent)\n }\n ]\n})\nexport class TemplateComponent extends ComponentReference implements OnInit {\n i18n = inject<I18n>(LOGIN_I18N);\n renderer = inject(Renderer2);\n meta = inject(Meta);\n title = inject(Title);\n kcContext = inject<KcContext>(KC_LOGIN_CONTEXT);\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n loginResourceInjectorService = inject(LoginResourceInjectorService);\n\n displayInfo = input(false);\n displayMessage = input(true);\n displayRequiredFields = input(false);\n documentTitle = input<string>();\n bodyClassName = input<string>();\n\n isReadyToRender$: Observable<boolean>;\n\n constructor() {\n super();\n this.title.setTitle(this.documentTitle() ?? this.i18n.msgStr('loginTitle', this.kcContext.realm.displayName));\n this.isReadyToRender$ = this.loginResourceInjectorService.injectResource(this.doUseDefaultCss);\n }\n\n ngOnInit() {\n this.applyKcIndexClasses();\n }\n\n private applyKcIndexClasses() {\n const kcClsx = getKcClsx({\n doUseDefaultCss: this.doUseDefaultCss,\n classes: this.classes\n }).kcClsx;\n const kcBodyClass = this.bodyClassName() ?? kcClsx('kcBodyClass');\n const kcHtmlClass = kcClsx('kcHtmlClass');\n const kcBodyClasses = kcBodyClass.split(/\\s+/);\n const kcHtmlClasses = kcHtmlClass.split(/\\s+/);\n kcBodyClasses.forEach(klass => {\n this.renderer.addClass(document.body, klass);\n });\n kcHtmlClasses.forEach(klass => {\n this.renderer.addClass(document.documentElement, klass);\n });\n }\n\n tryAnotherWay() {\n document.forms['kc-select-try-another-way-form' as never].submit();\n }\n}\n","@let realm = kcContext.realm;\n@let message = kcContext.message;\n@let auth = kcContext.auth;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n@let url = kcContext.url;\n@let isReadyToRender = isReadyToRender$ | async;\n\n@if (isReadyToRender) {\n <div [kcClass]=\"'kcLoginClass'\">\n <div\n id=\"kc-header\"\n [kcClass]=\"'kcHeaderClass'\"\n >\n <div\n id=\"kc-header-wrapper\"\n [kcClass]=\"'kcHeaderWrapperClass'\"\n >\n <div [innerHTML]=\"realm?.displayNameHtml ?? '' | kcSanitize: 'html'\"></div>\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormCardClass'\">\n <header [kcClass]=\"'kcFormHeaderClass'\">\n <!-- Locale switcher -->\n @if (i18n.enabledLanguages.length > 1) {\n <div\n id=\"kc-locale\"\n [kcClass]=\"'kcLocaleMainClass'\"\n >\n <div\n id=\"kc-locale-wrapper\"\n [kcClass]=\"'kcLocaleWrapperClass'\"\n >\n <div\n id=\"kc-locale-dropdown\"\n [kcClass]=\"'kcLocaleDropDownClass'\"\n class=\"menu-button-links\"\n >\n <button\n tabindex=\"1\"\n id=\"kc-current-locale-link\"\n [attr.aria-label]=\"i18n.msgStr('languages')\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n aria-controls=\"language-switch1\"\n >\n {{ i18n.currentLanguage.label }}\n </button>\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n aria-labelledby=\"kc-current-locale-link\"\n aria-activedescendant=\"\"\n id=\"language-switch1\"\n [kcClass]=\"'kcLocaleListClass'\"\n >\n @for (entry of i18n.enabledLanguages; track entry; let idx = $index) {\n <li\n [kcClass]=\"'kcLocaleListItemClass'\"\n role=\"none\"\n >\n <a\n role=\"menuitem\"\n tabindex=\"-1\"\n [href]=\"entry.href\"\n [kcClass]=\"'kcLocaleItemClass'\"\n [id]=\"'language-' + idx\"\n >\n {{ entry.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n </div>\n </div>\n }\n\n <!-- Header content -->\n <ng-template #node>\n @if (auth && !auth.showUsername && !auth.showResetCredentials) {\n <h1 id=\"kc-page-title\">\n <ng-content select=\"[headerNode]\"></ng-content>\n </h1>\n } @else {\n <div\n id=\"kc-username\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <label id=\"kc-attempted-username\">{{ auth?.attemptedUsername }}</label>\n <a\n id=\"reset-login\"\n [href]=\"url?.loginRestartFlowUrl\"\n [attr.aria-label]=\"i18n.msgStr('restartLoginTooltip')\"\n >\n <div class=\"kc-login-tooltip\">\n <i [kcClass]=\"'kcResetFlowIcon'\"></i>\n <span class=\"kc-tooltip-text\">\n {{ i18n.msgStr('restartLoginTooltip') }}\n </span>\n </div>\n </a>\n </div>\n }\n </ng-template>\n\n @if (displayRequiredFields()) {\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <div\n [kcClass]=\"'kcLabelWrapperClass'\"\n class=\"subtitle\"\n >\n <span class=\"subtitle\">\n <span class=\"required\">*</span>\n {{ i18n.msgStr('requiredFields') }}\n </span>\n </div>\n <div class=\"col-md-10\">\n <ng-container [ngTemplateOutlet]=\"node\"></ng-container>\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"node\"></ng-container>\n }\n </header>\n\n <div id=\"kc-content\">\n <div id=\"kc-content-wrapper\">\n <!-- Message display -->\n @if (displayMessage() && message && (message.type !== 'warning' || !isAppInitiatedAction)) {\n <div\n [kcClass]=\"'kcAlertClass'\"\n [ngClass]=\"message.type === 'error' ? 'pf-m-danger' : 'pf-m-' + message.type\"\n [class]=\"'alert-' + message.type\"\n >\n <div class=\"pf-c-alert__icon\">\n @switch (message.type) {\n @case ('success') {\n <span [kcClass]=\"'kcFeedbackSuccessIcon'\"></span>\n }\n @case ('warning') {\n <span [kcClass]=\"'kcFeedbackWarningIcon'\"></span>\n }\n @case ('info') {\n <span [kcClass]=\"'kcFeedbackInfoIcon'\"></span>\n }\n @case ('error') {\n <span [kcClass]=\"'kcFeedbackErrorIcon'\"></span>\n }\n }\n </div>\n <span\n [kcClass]=\"'kcAlertTitleClass'\"\n [innerHTML]=\"message.summary | kcSanitize: 'html'\"\n ></span>\n </div>\n }\n <!-- Content -->\n <ng-content select=\"[content]\"></ng-content>\n @if (!!auth && auth?.showTryAnotherWayLink) {\n <form\n id=\"kc-select-try-another-way-form\"\n [action]=\"url?.loginAction\"\n method=\"post\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcFormGroupClass'\">\n <input\n type=\"hidden\"\n name=\"tryAnotherWay\"\n value=\"on\"\n />\n <a\n id=\"try-another-way\"\n (click)=\"tryAnotherWay()\"\n >\n {{ i18n.msgStr('doTryAnotherWay') }}\n </a>\n </div>\n </div>\n </form>\n }\n\n <ng-content select=\"[socialProvidersNode]\"></ng-content>\n <!-- Info display -->\n @if (displayInfo()) {\n <div\n id=\"kc-info\"\n [kcClass]=\"'kcSignUpClass'\"\n >\n <div\n id=\"kc-info-wrapper\"\n [kcClass]=\"'kcInfoAreaWrapperClass'\"\n >\n <ng-content select=\"[infoNode]\"></ng-content>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify-angular-login-containers-template.mjs","sources":["../../src/login/containers/template/template.component.ts","../../src/login/containers/template/template.component.html","../../src/login/containers/template/keycloakify-angular-login-containers-template.ts"],"sourcesContent":["import { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject, input, OnInit, Renderer2 } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport { LoginResourceInjectorService } from '@keycloakify/angular/login/services/login-resource-injector';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport { type ClassKey, getKcClsx } from 'keycloakify/login/lib/kcClsx';\nimport { Observable } from 'rxjs';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport { KcContext } from '@keycloakify/angular/login/KcContext';\n\n@Component({\n selector: 'kc-login-template',\n templateUrl: './template.component.html',\n standalone: true,\n imports: [AsyncPipe, KcSanitizePipe, NgTemplateOutlet, KcClassDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => TemplateComponent)\n }\n ]\n})\nexport class TemplateComponent extends ComponentReference implements OnInit {\n i18n = inject<I18n>(LOGIN_I18N);\n renderer = inject(Renderer2);\n meta = inject(Meta);\n title = inject(Title);\n kcContext = inject<KcContext>(KC_LOGIN_CONTEXT);\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n loginResourceInjectorService = inject(LoginResourceInjectorService);\n\n displayInfo = input(false);\n displayMessage = input(true);\n displayRequiredFields = input(false);\n documentTitle = input<string>();\n bodyClassName = input<string>();\n\n isReadyToRender$: Observable<boolean>;\n\n constructor() {\n super();\n this.title.setTitle(this.documentTitle() ?? this.i18n.msgStr('loginTitle', this.kcContext.realm.displayName));\n this.isReadyToRender$ = this.loginResourceInjectorService.injectResource(this.doUseDefaultCss);\n }\n\n ngOnInit() {\n this.applyKcIndexClasses();\n }\n\n private applyKcIndexClasses() {\n const kcClsx = getKcClsx({\n doUseDefaultCss: this.doUseDefaultCss,\n classes: this.classes\n }).kcClsx;\n const kcBodyClass = this.bodyClassName() ?? kcClsx('kcBodyClass');\n const kcHtmlClass = kcClsx('kcHtmlClass');\n const kcBodyClasses = kcBodyClass.split(/\\s+/);\n const kcHtmlClasses = kcHtmlClass.split(/\\s+/);\n kcBodyClasses.forEach(klass => {\n this.renderer.addClass(document.body, klass);\n });\n kcHtmlClasses.forEach(klass => {\n this.renderer.addClass(document.documentElement, klass);\n });\n }\n\n tryAnotherWay() {\n document.forms['kc-select-try-another-way-form' as never].submit();\n }\n}\n","@let realm = kcContext.realm;\n@let message = kcContext.message;\n@let auth = kcContext.auth;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n@let url = kcContext.url;\n@let isReadyToRender = isReadyToRender$ | async;\n\n@if (isReadyToRender) {\n <div [kcClass]=\"'kcLoginClass'\">\n <div\n id=\"kc-header\"\n [kcClass]=\"'kcHeaderClass'\"\n >\n <div\n id=\"kc-header-wrapper\"\n [kcClass]=\"'kcHeaderWrapperClass'\"\n >\n <div [innerHTML]=\"realm?.displayNameHtml ?? '' | kcSanitize: 'html'\"></div>\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormCardClass'\">\n <header [kcClass]=\"'kcFormHeaderClass'\">\n <!-- Locale switcher -->\n @if (i18n.enabledLanguages.length > 1) {\n <div\n id=\"kc-locale\"\n [kcClass]=\"'kcLocaleMainClass'\"\n >\n <div\n id=\"kc-locale-wrapper\"\n [kcClass]=\"'kcLocaleWrapperClass'\"\n >\n <div\n id=\"kc-locale-dropdown\"\n class=\"menu-button-links\"\n [kcClass]=\"'kcLocaleDropDownClass'\"\n >\n <button\n tabindex=\"1\"\n id=\"kc-current-locale-link\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n aria-controls=\"language-switch1\"\n [attr.aria-label]=\"i18n.msgStr('languages')\"\n >\n {{ i18n.currentLanguage.label }}\n </button>\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n aria-labelledby=\"kc-current-locale-link\"\n aria-activedescendant=\"\"\n id=\"language-switch1\"\n [kcClass]=\"'kcLocaleListClass'\"\n >\n @for (entry of i18n.enabledLanguages; track entry; let idx = $index) {\n <li\n role=\"none\"\n [kcClass]=\"'kcLocaleListItemClass'\"\n >\n <a\n role=\"menuitem\"\n tabindex=\"-1\"\n [href]=\"entry.href\"\n [kcClass]=\"'kcLocaleItemClass'\"\n [id]=\"'language-' + idx\"\n >\n {{ entry.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n </div>\n </div>\n }\n\n <!-- Header content -->\n <ng-template #node>\n @if (auth && !auth.showUsername && !auth.showResetCredentials) {\n <h1 id=\"kc-page-title\">\n <ng-content select=\"[headerNode]\" />\n </h1>\n } @else {\n <div\n id=\"kc-username\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <label id=\"kc-attempted-username\">{{ auth?.attemptedUsername }}</label>\n <a\n id=\"reset-login\"\n [href]=\"url?.loginRestartFlowUrl\"\n [attr.aria-label]=\"i18n.msgStr('restartLoginTooltip')\"\n >\n <div class=\"kc-login-tooltip\">\n <i [kcClass]=\"'kcResetFlowIcon'\"></i>\n <span class=\"kc-tooltip-text\">\n {{ i18n.msgStr('restartLoginTooltip') }}\n </span>\n </div>\n </a>\n </div>\n }\n </ng-template>\n\n @if (displayRequiredFields()) {\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <div\n class=\"subtitle\"\n [kcClass]=\"'kcLabelWrapperClass'\"\n >\n <span class=\"subtitle\">\n <span class=\"required\">*</span>\n {{ i18n.msgStr('requiredFields') }}\n </span>\n </div>\n <div class=\"col-md-10\">\n <ng-container [ngTemplateOutlet]=\"node\" />\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"node\" />\n }\n </header>\n\n <div id=\"kc-content\">\n <div id=\"kc-content-wrapper\">\n <!-- Message display -->\n @if (displayMessage() && message && (message.type !== 'warning' || !isAppInitiatedAction)) {\n <div\n [kcClass]=\"'kcAlertClass'\"\n [ngClass]=\"message.type === 'error' ? 'pf-m-danger' : 'pf-m-' + message.type\"\n [class]=\"'alert-' + message.type\"\n >\n <div class=\"pf-c-alert__icon\">\n @switch (message.type) {\n @case ('success') {\n <span [kcClass]=\"'kcFeedbackSuccessIcon'\"></span>\n }\n @case ('warning') {\n <span [kcClass]=\"'kcFeedbackWarningIcon'\"></span>\n }\n @case ('info') {\n <span [kcClass]=\"'kcFeedbackInfoIcon'\"></span>\n }\n @case ('error') {\n <span [kcClass]=\"'kcFeedbackErrorIcon'\"></span>\n }\n }\n </div>\n <span\n [kcClass]=\"'kcAlertTitleClass'\"\n [innerHTML]=\"message.summary | kcSanitize: 'html'\"\n ></span>\n </div>\n }\n <!-- Content -->\n <ng-content select=\"[content]\" />\n @if (!!auth && auth?.showTryAnotherWayLink) {\n <form\n id=\"kc-select-try-another-way-form\"\n method=\"post\"\n [action]=\"url?.loginAction\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcFormGroupClass'\">\n <input\n type=\"hidden\"\n name=\"tryAnotherWay\"\n value=\"on\"\n />\n <a\n id=\"try-another-way\"\n (click)=\"tryAnotherWay()\"\n >\n {{ i18n.msgStr('doTryAnotherWay') }}\n </a>\n </div>\n </div>\n </form>\n }\n\n <ng-content select=\"[socialProvidersNode]\" />\n <!-- Info display -->\n @if (displayInfo()) {\n <div\n id=\"kc-info\"\n [kcClass]=\"'kcSignUpClass'\"\n >\n <div\n id=\"kc-info-wrapper\"\n [kcClass]=\"'kcInfoAreaWrapperClass'\"\n >\n <ng-content select=\"[infoNode]\" />\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Renderer2, ElementRef, isDevMode, ɵstringify as _stringify, Directive, Input } from '@angular/core';
3
- import { getKcClsx } from 'keycloakify/login/lib/kcClsx';
4
3
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
4
+ import { getKcClsx } from 'keycloakify/login/lib/kcClsx';
5
5
 
6
6
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
7
  /* eslint-disable @typescript-eslint/consistent-indexed-object-style */
@@ -120,10 +120,10 @@ class KcClassDirective {
120
120
  });
121
121
  }
122
122
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KcClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
124
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KcClassDirective, isStandalone: true, selector: "[kcClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass", kcClass: "kcClass" }, ngImport: i0 }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: KcClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
124
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: KcClassDirective, isStandalone: true, selector: "[kcClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass", kcClass: "kcClass" }, ngImport: i0 }); }
125
125
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KcClassDirective, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: KcClassDirective, decorators: [{
127
127
  type: Directive,
128
128
  args: [{ selector: '[kcClass]', standalone: true }]
129
129
  }], propDecorators: { klass: [{
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-directives-kc-class.mjs","sources":["../../src/login/directives/kc-class/kc-class.directive.ts","../../src/login/directives/kc-class/keycloakify-angular-login-directives-kc-class.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/consistent-indexed-object-style */\nimport {\n Directive,\n DoCheck,\n ElementRef,\n inject,\n Input,\n isDevMode,\n Renderer2,\n ɵstringify as stringify\n} from '@angular/core';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport { getKcClsx } from 'keycloakify/login/lib/kcClsx';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\n\ninterface CssClassState {\n // PERF: could use a bit mask to represent state as all fields are boolean flags\n enabled: boolean;\n changed: boolean;\n touched: boolean;\n}\n\ntype KcClassSupportedTypes =\n | ClassKey[]\n | Set<ClassKey>\n | Partial<{ [key in ClassKey]: any }>\n | null\n | undefined;\n\ntype NgClassSupportedTypes =\n | string[]\n | Set<string>\n | { [key: string]: any }\n | null\n | undefined;\n\n@Directive({ selector: '[kcClass]', standalone: true })\nexport class KcClassDirective implements DoCheck {\n private initialClasses: string[] = [];\n private rawClass: NgClassSupportedTypes;\n private rawKcClass: KcClassSupportedTypes;\n\n private stateMap = new Map<string | ClassKey, CssClassState>();\n readonly #renderer = inject(Renderer2);\n readonly #el = inject(ElementRef);\n readonly #host = inject(ComponentReference);\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class')\n set klass(value: string) {\n this.initialClasses = value != null ? value.trim().split(/\\s+/) : [];\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('ngClass')\n set ngClass(value: string | NgClassSupportedTypes) {\n this.rawClass = typeof value === 'string' ? value.trim().split(/\\s+/) : value;\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kcClass')\n set kcClass(value: ClassKey | KcClassSupportedTypes) {\n this.rawKcClass =\n typeof value === 'string' ? (value.trim().split(/\\s+/) as ClassKey[]) : value;\n }\n\n ngDoCheck(): void {\n for (const klass of this.initialClasses) {\n this._updateState(klass, true);\n }\n // classes from the [ngClass] binding\n const rawClass = this.rawClass;\n if (Array.isArray(rawClass) || rawClass instanceof Set) {\n for (const klass of rawClass) {\n this._updateState(klass, true);\n }\n } else if (rawClass != null) {\n for (const klass of Object.keys(rawClass)) {\n this._updateState(klass, Boolean(rawClass[klass]));\n }\n }\n\n // classes from the [kcClass] binding\n const rawKcClass = this.rawKcClass;\n if (Array.isArray(rawKcClass) || rawKcClass instanceof Set) {\n for (const klass of rawKcClass) {\n this._updateState(klass, true, true);\n }\n } else if (rawKcClass != null) {\n for (const klass of Object.keys(rawKcClass)) {\n this._updateState(klass, Boolean(rawKcClass[klass as ClassKey]), true);\n }\n }\n\n this._applyStateDiff();\n }\n\n private _updateState(\n klass: string | ClassKey,\n nextEnabled: boolean,\n kcClsxCheck = false\n ) {\n const state = this.stateMap.get(klass);\n if (state !== undefined) {\n if (state.enabled !== nextEnabled) {\n state.changed = true;\n state.enabled = nextEnabled;\n }\n state.touched = true;\n } else {\n let klassChecked = klass;\n if (kcClsxCheck) {\n const doUseDefaultCss = this.#host.doUseDefaultCss ?? true;\n const classes = this.#host.classes;\n const kcClsx = getKcClsx({ doUseDefaultCss, classes }).kcClsx;\n klassChecked = kcClsx(klass as ClassKey);\n }\n this.stateMap.set(klassChecked, {\n enabled: nextEnabled,\n changed: true,\n touched: true\n });\n }\n }\n\n private _applyStateDiff() {\n for (const stateEntry of this.stateMap) {\n const klass = stateEntry[0];\n const state = stateEntry[1];\n\n if (state.changed) {\n this._toggleClass(klass, state.enabled);\n state.changed = false;\n } else if (!state.touched) {\n // A class that was previously active got removed from the new collection of classes -\n // remove from the DOM as well.\n if (state.enabled) {\n this._toggleClass(klass, false);\n }\n this.stateMap.delete(klass);\n }\n\n state.touched = false;\n }\n }\n\n private _toggleClass(klass: string, enabled: boolean): void {\n if (isDevMode()) {\n if (typeof klass !== 'string') {\n throw new Error(\n `NgClass can only toggle CSS classes expressed as strings, got ${stringify(klass)}`\n );\n }\n }\n\n klass = klass.trim();\n if (klass.length > 0) {\n klass.split(/\\s+/).forEach(klass => {\n if (enabled) {\n this.#renderer.addClass(this.#el.nativeElement, klass);\n } else {\n this.#renderer.removeClass(this.#el.nativeElement, klass);\n }\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["stringify"],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify-angular-login-directives-kc-class.mjs","sources":["../../src/login/directives/kc-class/kc-class.directive.ts","../../src/login/directives/kc-class/keycloakify-angular-login-directives-kc-class.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/consistent-indexed-object-style */\nimport {\n Directive,\n DoCheck,\n ElementRef,\n inject,\n Input,\n isDevMode,\n Renderer2,\n ɵstringify as stringify\n} from '@angular/core';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { type ClassKey, getKcClsx } from 'keycloakify/login/lib/kcClsx';\n\ninterface CssClassState {\n // PERF: could use a bit mask to represent state as all fields are boolean flags\n enabled: boolean;\n changed: boolean;\n touched: boolean;\n}\n\ntype KcClassSupportedTypes =\n | ClassKey[]\n | Set<ClassKey>\n | Partial<{ [key in ClassKey]: any }>\n | null\n | undefined;\n\ntype NgClassSupportedTypes =\n | string[]\n | Set<string>\n | { [key: string]: any }\n | null\n | undefined;\n\n@Directive({ selector: '[kcClass]', standalone: true })\nexport class KcClassDirective implements DoCheck {\n private initialClasses: string[] = [];\n private rawClass: NgClassSupportedTypes;\n private rawKcClass: KcClassSupportedTypes;\n\n private stateMap = new Map<string | ClassKey, CssClassState>();\n readonly #renderer = inject(Renderer2);\n readonly #el = inject(ElementRef);\n readonly #host = inject(ComponentReference);\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class')\n set klass(value: string) {\n this.initialClasses = value != null ? value.trim().split(/\\s+/) : [];\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('ngClass')\n set ngClass(value: string | NgClassSupportedTypes) {\n this.rawClass = typeof value === 'string' ? value.trim().split(/\\s+/) : value;\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kcClass')\n set kcClass(value: ClassKey | KcClassSupportedTypes) {\n this.rawKcClass =\n typeof value === 'string' ? (value.trim().split(/\\s+/) as ClassKey[]) : value;\n }\n\n ngDoCheck(): void {\n for (const klass of this.initialClasses) {\n this._updateState(klass, true);\n }\n // classes from the [ngClass] binding\n const rawClass = this.rawClass;\n if (Array.isArray(rawClass) || rawClass instanceof Set) {\n for (const klass of rawClass) {\n this._updateState(klass, true);\n }\n } else if (rawClass != null) {\n for (const klass of Object.keys(rawClass)) {\n this._updateState(klass, Boolean(rawClass[klass]));\n }\n }\n\n // classes from the [kcClass] binding\n const rawKcClass = this.rawKcClass;\n if (Array.isArray(rawKcClass) || rawKcClass instanceof Set) {\n for (const klass of rawKcClass) {\n this._updateState(klass, true, true);\n }\n } else if (rawKcClass != null) {\n for (const klass of Object.keys(rawKcClass)) {\n this._updateState(klass, Boolean(rawKcClass[klass as ClassKey]), true);\n }\n }\n\n this._applyStateDiff();\n }\n\n private _updateState(\n klass: string | ClassKey,\n nextEnabled: boolean,\n kcClsxCheck = false\n ) {\n const state = this.stateMap.get(klass);\n if (state !== undefined) {\n if (state.enabled !== nextEnabled) {\n state.changed = true;\n state.enabled = nextEnabled;\n }\n state.touched = true;\n } else {\n let klassChecked = klass;\n if (kcClsxCheck) {\n const doUseDefaultCss = this.#host.doUseDefaultCss ?? true;\n const classes = this.#host.classes;\n const kcClsx = getKcClsx({ doUseDefaultCss, classes }).kcClsx;\n klassChecked = kcClsx(klass as ClassKey);\n }\n this.stateMap.set(klassChecked, {\n enabled: nextEnabled,\n changed: true,\n touched: true\n });\n }\n }\n\n private _applyStateDiff() {\n for (const stateEntry of this.stateMap) {\n const klass = stateEntry[0];\n const state = stateEntry[1];\n\n if (state.changed) {\n this._toggleClass(klass, state.enabled);\n state.changed = false;\n } else if (!state.touched) {\n // A class that was previously active got removed from the new collection of classes -\n // remove from the DOM as well.\n if (state.enabled) {\n this._toggleClass(klass, false);\n }\n this.stateMap.delete(klass);\n }\n\n state.touched = false;\n }\n }\n\n private _toggleClass(klass: string, enabled: boolean): void {\n if (isDevMode()) {\n if (typeof klass !== 'string') {\n throw new Error(\n `NgClass can only toggle CSS classes expressed as strings, got ${stringify(klass)}`\n );\n }\n }\n\n klass = klass.trim();\n if (klass.length > 0) {\n klass.split(/\\s+/).forEach(klass => {\n if (enabled) {\n this.#renderer.addClass(this.#el.nativeElement, klass);\n } else {\n this.#renderer.removeClass(this.#el.nativeElement, klass);\n }\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["stringify"],"mappings":";;;;;AAAA;AACA;MAoCa,gBAAgB,CAAA;AAD7B,IAAA,WAAA,GAAA;QAEY,IAAc,CAAA,cAAA,GAAa,EAAE,CAAC;AAI9B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAoC,CAAC;AACtD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAwH/C,KAAA;AA1HY,IAAA,SAAS,CAAqB;AAC9B,IAAA,GAAG,CAAsB;AACzB,IAAA,KAAK,CAA8B;;IAE5C,IACI,KAAK,CAAC,KAAa,EAAA;QACnB,IAAI,CAAC,cAAc,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;KACxE;;IAGD,IACI,OAAO,CAAC,KAAqC,EAAA;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;KACjF;;IAGD,IACI,OAAO,CAAC,KAAuC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU;AACX,YAAA,OAAO,KAAK,KAAK,QAAQ,GAAI,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAgB,GAAG,KAAK,CAAC;KACrF;IAED,SAAS,GAAA;AACL,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE;AACrC,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAClC;;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,YAAY,GAAG,EAAE;AACpD,YAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;AAC1B,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAClC;SACJ;AAAM,aAAA,IAAI,QAAQ,IAAI,IAAI,EAAE;YACzB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACvC,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACtD;SACJ;;AAGD,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,YAAY,GAAG,EAAE;AACxD,YAAA,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;gBAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aACxC;SACJ;AAAM,aAAA,IAAI,UAAU,IAAI,IAAI,EAAE;YAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACzC,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAC1E;SACJ;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;AAEO,IAAA,YAAY,CAChB,KAAwB,EACxB,WAAoB,EACpB,WAAW,GAAG,KAAK,EAAA;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,YAAA,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE;AAC/B,gBAAA,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACrB,gBAAA,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;aAC/B;AACD,YAAA,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;SACxB;aAAM;YACH,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,WAAW,EAAE;gBACb,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC;AAC3D,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACnC,gBAAA,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;AAC9D,gBAAA,YAAY,GAAG,MAAM,CAAC,KAAiB,CAAC,CAAC;aAC5C;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE;AAC5B,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,OAAO,EAAE,IAAI;AAChB,aAAA,CAAC,CAAC;SACN;KACJ;IAEO,eAAe,GAAA;AACnB,QAAA,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;AACpC,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC5B,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAE5B,YAAA,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC,gBAAA,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;aACzB;AAAM,iBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;;;AAGvB,gBAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACf,oBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBACnC;AACD,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC/B;AAED,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;SACzB;KACJ;IAEO,YAAY,CAAC,KAAa,EAAE,OAAgB,EAAA;QAChD,IAAI,SAAS,EAAE,EAAE;AACb,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,MAAM,IAAI,KAAK,CACX,CAAiE,8DAAA,EAAAA,UAAS,CAAC,KAAK,CAAC,CAAE,CAAA,CACtF,CAAC;aACL;SACJ;AAED,QAAA,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,IAAG;gBAC/B,IAAI,OAAO,EAAE;AACT,oBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;iBAC1D;qBAAM;AACH,oBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;iBAC7D;AACL,aAAC,CAAC,CAAC;SACN;KACJ;8GA/HQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;8BAY9C,KAAK,EAAA,CAAA;sBADR,KAAK;uBAAC,OAAO,CAAA;gBAOV,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,SAAS,CAAA;gBAOZ,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,SAAS,CAAA;;;AC3DpB;;AAEG;;;;"}
@@ -16,15 +16,15 @@ class CodeComponent extends ComponentReference {
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: CodeComponent, isStandalone: true, selector: "kc-root", providers: [
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: CodeComponent, isStandalone: true, selector: "kc-root", providers: [
21
21
  {
22
22
  provide: ComponentReference,
23
23
  useExisting: forwardRef(() => CodeComponent)
24
24
  }
25
25
  ], usesInheritance: true, ngImport: i0, template: "@let code = kcContext.code;\n\n<kc-login-template>\n <ng-container headerNode>\n @if (code.success) {\n {{ i18n.msgStr('codeSuccessTitle') }}\n } @else {\n {{ i18n.msgStr('codeErrorTitle', code.error) }}\n }\n </ng-container>\n\n <ng-container content>\n <div id=\"kc-code\">\n @if (code.success) {\n <p>{{ i18n.msgStr('copyCodeInstruction') }}</p>\n <input\n id=\"code\"\n [kcClass]=\"'kcTextareaClass'\"\n [defaultValue]=\"code.code\"\n />\n } @else {\n <p id=\"error\">{{ code.error }}</p>\n }\n </div>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CodeComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CodeComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30
30
  {
@@ -16,22 +16,22 @@ class DeleteAccountConfirmComponent extends ComponentReference {
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DeleteAccountConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: DeleteAccountConfirmComponent, isStandalone: true, selector: "kc-root", providers: [
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteAccountConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: DeleteAccountConfirmComponent, isStandalone: true, selector: "kc-root", providers: [
21
21
  {
22
22
  provide: ComponentReference,
23
23
  useExisting: forwardRef(() => DeleteAccountConfirmComponent)
24
24
  }
25
- ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<kc-login-template>\n <ng-container headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n </ng-container>\n <ng-container content>\n <form\n [action]=\"url.loginAction\"\n method=\"post\"\n class=\"form-actions\"\n >\n <div\n class=\"alert alert-warning\"\n style=\"margin-top: 0; margin-bottom: 30px\"\n >\n <span class=\"pficon pficon-warning-triangle-o\"></span>\n {{ i18n.msgStr('irreversibleAction') }}\n </div>\n <p>{{ i18n.msgStr('deletingImplies') }}</p>\n <ul style=\"color: #72767b; list-style: disc; list-style-position: inside\">\n <li>{{ i18n.msgStr('loggingOutImmediately') }}</li>\n <li>{{ i18n.msgStr('errasingData') }}</li>\n </ul>\n <p class=\"delete-account-text\">\n {{ i18n.msgStr('finalDeletionConfirmation') }}\n </p>\n <div id=\"kc-form-buttons\">\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n @if (triggered_from_aia) {\n <button\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n style=\"margin-left: calc(100% - 220px)\"\n type=\"submit\"\n name=\"cancel-aia\"\n value=\"true\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n }\n </div>\n </form>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<kc-login-template>\n <ng-container headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n </ng-container>\n <ng-container content>\n <form\n method=\"post\"\n class=\"form-actions\"\n [action]=\"url.loginAction\"\n >\n <div\n class=\"alert alert-warning\"\n style=\"margin-top: 0; margin-bottom: 30px\"\n >\n <span class=\"pficon pficon-warning-triangle-o\"></span>\n {{ i18n.msgStr('irreversibleAction') }}\n </div>\n <p>{{ i18n.msgStr('deletingImplies') }}</p>\n <ul style=\"color: #72767b; list-style: disc; list-style-position: inside\">\n <li>{{ i18n.msgStr('loggingOutImmediately') }}</li>\n <li>{{ i18n.msgStr('errasingData') }}</li>\n </ul>\n <p class=\"delete-account-text\">\n {{ i18n.msgStr('finalDeletionConfirmation') }}\n </p>\n <div id=\"kc-form-buttons\">\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n @if (triggered_from_aia) {\n <button\n style=\"margin-left: calc(100% - 220px)\"\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 </form>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DeleteAccountConfirmComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteAccountConfirmComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30
30
  {
31
31
  provide: ComponentReference,
32
32
  useExisting: forwardRef(() => DeleteAccountConfirmComponent)
33
33
  }
34
- ], template: "@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<kc-login-template>\n <ng-container headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n </ng-container>\n <ng-container content>\n <form\n [action]=\"url.loginAction\"\n method=\"post\"\n class=\"form-actions\"\n >\n <div\n class=\"alert alert-warning\"\n style=\"margin-top: 0; margin-bottom: 30px\"\n >\n <span class=\"pficon pficon-warning-triangle-o\"></span>\n {{ i18n.msgStr('irreversibleAction') }}\n </div>\n <p>{{ i18n.msgStr('deletingImplies') }}</p>\n <ul style=\"color: #72767b; list-style: disc; list-style-position: inside\">\n <li>{{ i18n.msgStr('loggingOutImmediately') }}</li>\n <li>{{ i18n.msgStr('errasingData') }}</li>\n </ul>\n <p class=\"delete-account-text\">\n {{ i18n.msgStr('finalDeletionConfirmation') }}\n </p>\n <div id=\"kc-form-buttons\">\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n @if (triggered_from_aia) {\n <button\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n style=\"margin-left: calc(100% - 220px)\"\n type=\"submit\"\n name=\"cancel-aia\"\n value=\"true\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n }\n </div>\n </form>\n </ng-container>\n</kc-login-template>\n" }]
34
+ ], template: "@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<kc-login-template>\n <ng-container headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n </ng-container>\n <ng-container content>\n <form\n method=\"post\"\n class=\"form-actions\"\n [action]=\"url.loginAction\"\n >\n <div\n class=\"alert alert-warning\"\n style=\"margin-top: 0; margin-bottom: 30px\"\n >\n <span class=\"pficon pficon-warning-triangle-o\"></span>\n {{ i18n.msgStr('irreversibleAction') }}\n </div>\n <p>{{ i18n.msgStr('deletingImplies') }}</p>\n <ul style=\"color: #72767b; list-style: disc; list-style-position: inside\">\n <li>{{ i18n.msgStr('loggingOutImmediately') }}</li>\n <li>{{ i18n.msgStr('errasingData') }}</li>\n </ul>\n <p class=\"delete-account-text\">\n {{ i18n.msgStr('finalDeletionConfirmation') }}\n </p>\n <div id=\"kc-form-buttons\">\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n @if (triggered_from_aia) {\n <button\n style=\"margin-left: calc(100% - 220px)\"\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 </form>\n </ng-container>\n</kc-login-template>\n" }]
35
35
  }] });
36
36
 
37
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-delete-account-confirm.mjs","sources":["../../src/login/pages/delete-account-confirm/delete-account-confirm.component.ts","../../src/login/pages/delete-account-confirm/delete-account-confirm.component.html","../../src/login/pages/delete-account-confirm/keycloakify-angular-login-pages-delete-account-confirm.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { TemplateComponent } from '@keycloakify/angular/login/containers/template';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcClassDirective],\n selector: 'kc-root',\n templateUrl: 'delete-account-confirm.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => DeleteAccountConfirmComponent)\n }\n ]\n})\nexport class DeleteAccountConfirmComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'delete-account-confirm.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n}\n","@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<kc-login-template>\n <ng-container headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n </ng-container>\n <ng-container content>\n <form\n [action]=\"url.loginAction\"\n method=\"post\"\n class=\"form-actions\"\n >\n <div\n class=\"alert alert-warning\"\n style=\"margin-top: 0; margin-bottom: 30px\"\n >\n <span class=\"pficon pficon-warning-triangle-o\"></span>\n {{ i18n.msgStr('irreversibleAction') }}\n </div>\n <p>{{ i18n.msgStr('deletingImplies') }}</p>\n <ul style=\"color: #72767b; list-style: disc; list-style-position: inside\">\n <li>{{ i18n.msgStr('loggingOutImmediately') }}</li>\n <li>{{ i18n.msgStr('errasingData') }}</li>\n </ul>\n <p class=\"delete-account-text\">\n {{ i18n.msgStr('finalDeletionConfirmation') }}\n </p>\n <div id=\"kc-form-buttons\">\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n @if (triggered_from_aia) {\n <button\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n style=\"margin-left: calc(100% - 220px)\"\n type=\"submit\"\n name=\"cancel-aia\"\n value=\"true\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n }\n </div>\n </form>\n </ng-container>\n</kc-login-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAyBM,MAAO,6BAA8B,SAAQ,kBAAkB,CAAA;AAbrE,IAAA,WAAA,GAAA;;AAcI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA+D,gBAAgB,CAAC,CAAC;AACnG,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC,CAAC;AAC/E,KAAA;8GALY,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAP3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA6B,CAAC;AAC/D,aAAA;AACJ,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBL,+5DAgDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlCc,iBAAiB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAWpC,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAbzC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EACpC,QAAA,EAAA,SAAS,EAEF,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,mCAAmC,CAAC;AAC/D,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,+5DAAA,EAAA,CAAA;;;AEvBL;;AAEG;;;;"}
1
+ {"version":3,"file":"keycloakify-angular-login-pages-delete-account-confirm.mjs","sources":["../../src/login/pages/delete-account-confirm/delete-account-confirm.component.ts","../../src/login/pages/delete-account-confirm/delete-account-confirm.component.html","../../src/login/pages/delete-account-confirm/keycloakify-angular-login-pages-delete-account-confirm.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { TemplateComponent } from '@keycloakify/angular/login/containers/template';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcClassDirective],\n selector: 'kc-root',\n templateUrl: 'delete-account-confirm.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => DeleteAccountConfirmComponent)\n }\n ]\n})\nexport class DeleteAccountConfirmComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'delete-account-confirm.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n}\n","@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<kc-login-template>\n <ng-container headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n </ng-container>\n <ng-container content>\n <form\n method=\"post\"\n class=\"form-actions\"\n [action]=\"url.loginAction\"\n >\n <div\n class=\"alert alert-warning\"\n style=\"margin-top: 0; margin-bottom: 30px\"\n >\n <span class=\"pficon pficon-warning-triangle-o\"></span>\n {{ i18n.msgStr('irreversibleAction') }}\n </div>\n <p>{{ i18n.msgStr('deletingImplies') }}</p>\n <ul style=\"color: #72767b; list-style: disc; list-style-position: inside\">\n <li>{{ i18n.msgStr('loggingOutImmediately') }}</li>\n <li>{{ i18n.msgStr('errasingData') }}</li>\n </ul>\n <p class=\"delete-account-text\">\n {{ i18n.msgStr('finalDeletionConfirmation') }}\n </p>\n <div id=\"kc-form-buttons\">\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n @if (triggered_from_aia) {\n <button\n style=\"margin-left: calc(100% - 220px)\"\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 </form>\n </ng-container>\n</kc-login-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAyBM,MAAO,6BAA8B,SAAQ,kBAAkB,CAAA;AAbrE,IAAA,WAAA,GAAA;;AAcI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA+D,gBAAgB,CAAC,CAAC;AACnG,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC,CAAC;AAC/E,KAAA;8GALY,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAP3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA6B,CAAC;AAC/D,aAAA;AACJ,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBL,+5DAgDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlCc,iBAAiB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAWpC,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAbzC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EACpC,QAAA,EAAA,SAAS,EAEF,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,mCAAmC,CAAC;AAC/D,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,+5DAAA,EAAA,CAAA;;;AEvBL;;AAEG;;;;"}
@@ -21,22 +21,22 @@ class DeleteCredentialComponent extends ComponentReference {
21
21
  this.displayInfo = false;
22
22
  this.displayMessage = false;
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DeleteCredentialComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: DeleteCredentialComponent, isStandalone: true, selector: "kc-root", inputs: { displayRequiredFields: { classPropertyName: "displayRequiredFields", publicName: "displayRequiredFields", isSignal: true, isRequired: false, transformFunction: null }, documentTitle: { classPropertyName: "documentTitle", publicName: "documentTitle", isSignal: true, isRequired: false, transformFunction: null }, bodyClassName: { classPropertyName: "bodyClassName", publicName: "bodyClassName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteCredentialComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.7", type: DeleteCredentialComponent, isStandalone: true, selector: "kc-root", inputs: { displayRequiredFields: { classPropertyName: "displayRequiredFields", publicName: "displayRequiredFields", isSignal: true, isRequired: false, transformFunction: null }, documentTitle: { classPropertyName: "documentTitle", publicName: "documentTitle", isSignal: true, isRequired: false, transformFunction: null }, bodyClassName: { classPropertyName: "bodyClassName", publicName: "bodyClassName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
26
26
  {
27
27
  provide: ComponentReference,
28
28
  useExisting: forwardRef(() => DeleteCredentialComponent)
29
29
  }
30
- ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<kc-login-template [displayMessage]=\"displayMessage\">\n <ng-container headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-delete-text\">\n {{ i18n.msgStr('deleteCredentialMessage', credentialLabel) }}\n </div>\n\n <form\n class=\"form-actions\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"accept\"\n id=\"kc-accept\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n [value]=\"i18n.msgStr('doCancel')\"\n id=\"kc-decline\"\n type=\"submit\"\n />\n </form>\n <div class=\"clearfix\"></div>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<kc-login-template [displayMessage]=\"displayMessage\">\n <ng-container headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-delete-text\">\n {{ i18n.msgStr('deleteCredentialMessage', credentialLabel) }}\n </div>\n\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', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n\n <input\n name=\"cancel-aia\"\n id=\"kc-decline\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </form>\n <div class=\"clearfix\"></div>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { 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.6", ngImport: i0, type: DeleteCredentialComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteCredentialComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
35
35
  {
36
36
  provide: ComponentReference,
37
37
  useExisting: forwardRef(() => DeleteCredentialComponent)
38
38
  }
39
- ], template: "@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<kc-login-template [displayMessage]=\"displayMessage\">\n <ng-container headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-delete-text\">\n {{ i18n.msgStr('deleteCredentialMessage', credentialLabel) }}\n </div>\n\n <form\n class=\"form-actions\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"accept\"\n id=\"kc-accept\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n [value]=\"i18n.msgStr('doCancel')\"\n id=\"kc-decline\"\n type=\"submit\"\n />\n </form>\n <div class=\"clearfix\"></div>\n </ng-container>\n</kc-login-template>\n" }]
39
+ ], template: "@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<kc-login-template [displayMessage]=\"displayMessage\">\n <ng-container headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-delete-text\">\n {{ i18n.msgStr('deleteCredentialMessage', credentialLabel) }}\n </div>\n\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', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n\n <input\n name=\"cancel-aia\"\n id=\"kc-decline\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </form>\n <div class=\"clearfix\"></div>\n </ng-container>\n</kc-login-template>\n" }]
40
40
  }] });
41
41
 
42
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-delete-credential.mjs","sources":["../../src/login/pages/delete-credential/delete-credential.component.ts","../../src/login/pages/delete-credential/delete-credential.component.html","../../src/login/pages/delete-credential/keycloakify-angular-login-pages-delete-credential.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { TemplateComponent } from '@keycloakify/angular/login/containers/template';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcClassDirective],\n selector: 'kc-root',\n templateUrl: 'delete-credential.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => DeleteCredentialComponent)\n }\n ]\n})\nexport class DeleteCredentialComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'delete-credential.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n displayRequiredFields = input(false);\n documentTitle = input<string>();\n bodyClassName = input<string>();\n displayInfo: boolean = false;\n displayMessage: boolean = false;\n}\n","@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<kc-login-template [displayMessage]=\"displayMessage\">\n <ng-container headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-delete-text\">\n {{ i18n.msgStr('deleteCredentialMessage', credentialLabel) }}\n </div>\n\n <form\n class=\"form-actions\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"accept\"\n id=\"kc-accept\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n [value]=\"i18n.msgStr('doCancel')\"\n id=\"kc-decline\"\n type=\"submit\"\n />\n </form>\n <div class=\"clearfix\"></div>\n </ng-container>\n</kc-login-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify-angular-login-pages-delete-credential.mjs","sources":["../../src/login/pages/delete-credential/delete-credential.component.ts","../../src/login/pages/delete-credential/delete-credential.component.html","../../src/login/pages/delete-credential/keycloakify-angular-login-pages-delete-credential.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { TemplateComponent } from '@keycloakify/angular/login/containers/template';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcClassDirective],\n selector: 'kc-root',\n templateUrl: 'delete-credential.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => DeleteCredentialComponent)\n }\n ]\n})\nexport class DeleteCredentialComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'delete-credential.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n displayRequiredFields = input(false);\n documentTitle = input<string>();\n bodyClassName = input<string>();\n displayInfo: boolean = false;\n displayMessage: boolean = false;\n}\n","@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<kc-login-template [displayMessage]=\"displayMessage\">\n <ng-container headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-delete-text\">\n {{ i18n.msgStr('deleteCredentialMessage', credentialLabel) }}\n </div>\n\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', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doConfirmDelete')\"\n />\n\n <input\n name=\"cancel-aia\"\n id=\"kc-decline\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </form>\n <div class=\"clearfix\"></div>\n </ng-container>\n</kc-login-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -16,15 +16,15 @@ class ErrorComponent extends ComponentReference {
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ErrorComponent, isStandalone: true, selector: "kc-root", providers: [
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ErrorComponent, isStandalone: true, selector: "kc-root", providers: [
21
21
  {
22
22
  provide: ComponentReference,
23
23
  useExisting: forwardRef(() => ErrorComponent)
24
24
  }
25
25
  ], usesInheritance: true, ngImport: i0, template: "@let message = kcContext.message;\n@let skipLink = kcContext.skipLink;\n@let client = kcContext.client;\n<kc-login-template [displayMessage]=\"false\">\n <ng-container headerNode>\n {{ i18n.msgStr('errorTitle') }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-error-message\">\n <p\n class=\"instruction\"\n [innerHTML]=\"message.summary | kcSanitize: 'html'\"\n ></p>\n @if (!skipLink && !!client?.baseUrl) {\n <p>\n <a\n id=\"backToApplication\"\n [href]=\"client.baseUrl\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n ></a>\n </p>\n }\n </div>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ErrorComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ErrorComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ standalone: true, imports: [TemplateComponent, KcSanitizePipe], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30
30
  {
@@ -25,22 +25,22 @@ class FrontchannelLogoutComponent extends ComponentReference {
25
25
  window.location.replace(this.kcContext.logout.logoutRedirectUri);
26
26
  }
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FrontchannelLogoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: FrontchannelLogoutComponent, isStandalone: true, selector: "kc-root", inputs: { displayRequiredFields: { classPropertyName: "displayRequiredFields", publicName: "displayRequiredFields", isSignal: true, isRequired: false, transformFunction: null }, bodyClassName: { classPropertyName: "bodyClassName", publicName: "bodyClassName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FrontchannelLogoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FrontchannelLogoutComponent, isStandalone: true, selector: "kc-root", inputs: { displayRequiredFields: { classPropertyName: "displayRequiredFields", publicName: "displayRequiredFields", isSignal: true, isRequired: false, transformFunction: null }, bodyClassName: { classPropertyName: "bodyClassName", publicName: "bodyClassName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
30
30
  {
31
31
  provide: ComponentReference,
32
32
  useExisting: forwardRef(() => FrontchannelLogoutComponent)
33
33
  }
34
- ], usesInheritance: true, ngImport: i0, template: "@let logout = kcContext.logout;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"i18n.msgStr('frontchannel-logout.title')\"\n>\n <ng-container headerNode>\n {{ i18n.msgStr('frontchannel-logout.title') }}\n </ng-container>\n <ng-container content>\n <p>{{ i18n.msgStr('frontchannel-logout.message') }}</p>\n <ul>\n @for (client of logout.clients; track client.name; let idx = $index) {\n <li>\n {{ client.name }}\n <iframe\n [src]=\"'client.frontChannelLogoutUrl' | kcSanitize: 'resourceUrl'\"\n style=\"display: none\"\n ></iframe>\n </li>\n }\n </ul>\n @if (logout.logoutRedirectUri) {\n <a\n id=\"continue\"\n class=\"btn btn-primary\"\n [href]=\"logout.logoutRedirectUri\"\n >\n {{ i18n.msgStr('doContinue') }}\n </a>\n }\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ ], usesInheritance: true, ngImport: i0, template: "@let logout = kcContext.logout;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"i18n.msgStr('frontchannel-logout.title')\"\n>\n <ng-container headerNode>\n {{ i18n.msgStr('frontchannel-logout.title') }}\n </ng-container>\n <ng-container content>\n <p>{{ i18n.msgStr('frontchannel-logout.message') }}</p>\n <ul>\n @for (client of logout.clients; track client.name; let idx = $index) {\n <li>\n {{ client.name }}\n <iframe\n style=\"display: none\"\n [src]=\"'client.frontChannelLogoutUrl' | kcSanitize: 'resourceUrl'\"\n ></iframe>\n </li>\n }\n </ul>\n @if (logout.logoutRedirectUri) {\n <a\n id=\"continue\"\n class=\"btn btn-primary\"\n [href]=\"logout.logoutRedirectUri\"\n >\n {{ i18n.msgStr('doContinue') }}\n </a>\n }\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FrontchannelLogoutComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FrontchannelLogoutComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ standalone: true, imports: [TemplateComponent, KcSanitizePipe], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
39
39
  {
40
40
  provide: ComponentReference,
41
41
  useExisting: forwardRef(() => FrontchannelLogoutComponent)
42
42
  }
43
- ], template: "@let logout = kcContext.logout;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"i18n.msgStr('frontchannel-logout.title')\"\n>\n <ng-container headerNode>\n {{ i18n.msgStr('frontchannel-logout.title') }}\n </ng-container>\n <ng-container content>\n <p>{{ i18n.msgStr('frontchannel-logout.message') }}</p>\n <ul>\n @for (client of logout.clients; track client.name; let idx = $index) {\n <li>\n {{ client.name }}\n <iframe\n [src]=\"'client.frontChannelLogoutUrl' | kcSanitize: 'resourceUrl'\"\n style=\"display: none\"\n ></iframe>\n </li>\n }\n </ul>\n @if (logout.logoutRedirectUri) {\n <a\n id=\"continue\"\n class=\"btn btn-primary\"\n [href]=\"logout.logoutRedirectUri\"\n >\n {{ i18n.msgStr('doContinue') }}\n </a>\n }\n </ng-container>\n</kc-login-template>\n" }]
43
+ ], template: "@let logout = kcContext.logout;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"i18n.msgStr('frontchannel-logout.title')\"\n>\n <ng-container headerNode>\n {{ i18n.msgStr('frontchannel-logout.title') }}\n </ng-container>\n <ng-container content>\n <p>{{ i18n.msgStr('frontchannel-logout.message') }}</p>\n <ul>\n @for (client of logout.clients; track client.name; let idx = $index) {\n <li>\n {{ client.name }}\n <iframe\n style=\"display: none\"\n [src]=\"'client.frontChannelLogoutUrl' | kcSanitize: 'resourceUrl'\"\n ></iframe>\n </li>\n }\n </ul>\n @if (logout.logoutRedirectUri) {\n <a\n id=\"continue\"\n class=\"btn btn-primary\"\n [href]=\"logout.logoutRedirectUri\"\n >\n {{ i18n.msgStr('doContinue') }}\n </a>\n }\n </ng-container>\n</kc-login-template>\n" }]
44
44
  }] });
45
45
 
46
46
  /**