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

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 (271) hide show
  1. package/account/containers/template/template.component.d.ts +18 -5
  2. package/account/pages/account/account.component.d.ts +3 -2
  3. package/account/pages/applications/applications.component.d.ts +3 -2
  4. package/account/pages/federatedIdentity/federatedIdentity.component.d.ts +3 -2
  5. package/account/pages/log/log.component.d.ts +3 -2
  6. package/account/pages/password/password.component.d.ts +3 -2
  7. package/account/pages/sessions/sessions.component.d.ts +3 -2
  8. package/account/pages/totp/totp.component.d.ts +3 -2
  9. package/esm2022/account/containers/template/template.component.mjs +40 -7
  10. package/esm2022/account/pages/account/account.component.mjs +6 -5
  11. package/esm2022/account/pages/applications/applications.component.mjs +6 -5
  12. package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +6 -5
  13. package/esm2022/account/pages/log/log.component.mjs +6 -5
  14. package/esm2022/account/pages/password/password.component.mjs +6 -5
  15. package/esm2022/account/pages/sessions/sessions.component.mjs +6 -5
  16. package/esm2022/account/pages/totp/totp.component.mjs +6 -5
  17. package/esm2022/login/containers/template/template.component.mjs +81 -13
  18. package/esm2022/login/pages/code/code.component.mjs +14 -8
  19. package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +12 -6
  20. package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +10 -9
  21. package/esm2022/login/pages/error/error.component.mjs +14 -8
  22. package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +12 -10
  23. package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +12 -11
  24. package/esm2022/login/pages/info/info.component.mjs +11 -10
  25. package/esm2022/login/pages/login/login.component.mjs +13 -12
  26. package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +12 -11
  27. package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +11 -14
  28. package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +11 -14
  29. package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +10 -13
  30. package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +11 -13
  31. package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +10 -9
  32. package/esm2022/login/pages/login-otp/login-otp.component.mjs +11 -10
  33. package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +10 -9
  34. package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +11 -6
  35. package/esm2022/login/pages/login-password/login-password.component.mjs +13 -11
  36. package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +12 -11
  37. package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +12 -11
  38. package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +11 -10
  39. package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +11 -10
  40. package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +11 -10
  41. package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +11 -10
  42. package/esm2022/login/pages/login-username/login-username.component.mjs +12 -11
  43. package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +10 -9
  44. package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +10 -9
  45. package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +10 -13
  46. package/esm2022/login/pages/register/register.component.mjs +14 -13
  47. package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +14 -15
  48. package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +11 -10
  49. package/esm2022/login/pages/terms/terms.component.mjs +10 -9
  50. package/esm2022/login/pages/update-email/update-email.component.mjs +12 -15
  51. package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +10 -9
  52. package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +11 -10
  53. package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +10 -9
  54. package/fesm2022/keycloakify-angular-account-containers-template.mjs +40 -7
  55. package/fesm2022/keycloakify-angular-account-containers-template.mjs.map +1 -1
  56. package/fesm2022/keycloakify-angular-account-pages-account.mjs +5 -4
  57. package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
  58. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +5 -4
  59. package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -1
  60. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +5 -4
  61. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -1
  62. package/fesm2022/keycloakify-angular-account-pages-log.mjs +5 -4
  63. package/fesm2022/keycloakify-angular-account-pages-log.mjs.map +1 -1
  64. package/fesm2022/keycloakify-angular-account-pages-password.mjs +5 -4
  65. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  66. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +5 -4
  67. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -1
  68. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +5 -4
  69. package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -1
  70. package/fesm2022/keycloakify-angular-login-containers-template.mjs +81 -13
  71. package/fesm2022/keycloakify-angular-login-containers-template.mjs.map +1 -1
  72. package/fesm2022/keycloakify-angular-login-pages-code.mjs +13 -7
  73. package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
  74. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +11 -5
  75. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  76. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +9 -8
  77. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  78. package/fesm2022/keycloakify-angular-login-pages-error.mjs +13 -7
  79. package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
  80. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +11 -9
  81. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  82. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +11 -10
  83. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  84. package/fesm2022/keycloakify-angular-login-pages-info.mjs +10 -9
  85. package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
  86. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +11 -10
  87. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  88. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +10 -13
  89. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  90. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +10 -13
  91. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  92. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +9 -12
  93. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
  94. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +10 -12
  95. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  96. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +9 -8
  97. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  98. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +10 -9
  99. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  100. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +9 -8
  101. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
  102. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +10 -5
  103. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  104. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +12 -10
  105. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  106. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +11 -10
  107. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  108. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +11 -10
  109. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  110. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +10 -9
  111. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  112. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +10 -9
  113. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  114. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +10 -9
  115. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  116. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +10 -9
  117. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  118. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +11 -10
  119. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  120. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +9 -8
  121. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
  122. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +9 -8
  123. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  124. package/fesm2022/keycloakify-angular-login-pages-login.mjs +12 -11
  125. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  126. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +9 -12
  127. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  128. package/fesm2022/keycloakify-angular-login-pages-register.mjs +13 -12
  129. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  130. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +13 -14
  131. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  132. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +10 -9
  133. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  134. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +9 -8
  135. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  136. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +11 -14
  137. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  138. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +9 -8
  139. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  140. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +10 -9
  141. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  142. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +9 -8
  143. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  144. package/login/containers/template/template.component.d.ts +25 -9
  145. package/login/pages/code/code.component.d.ts +12 -3
  146. package/login/pages/delete-account-confirm/delete-account-confirm.component.d.ts +11 -2
  147. package/login/pages/delete-credential/delete-credential.component.d.ts +9 -5
  148. package/login/pages/error/error.component.d.ts +11 -2
  149. package/login/pages/frontchannel-logout/frontchannel-logout.component.d.ts +9 -5
  150. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +10 -7
  151. package/login/pages/info/info.component.d.ts +9 -5
  152. package/login/pages/login/login.component.d.ts +10 -6
  153. package/login/pages/login-config-totp/login-config-totp.component.d.ts +9 -5
  154. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.d.ts +8 -7
  155. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.d.ts +8 -7
  156. package/login/pages/login-idp-link-email/login-idp-link-email.component.d.ts +8 -7
  157. package/login/pages/login-oauth-grant/login-oauth-grant.component.d.ts +8 -7
  158. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +9 -5
  159. package/login/pages/login-otp/login-otp.component.d.ts +9 -5
  160. package/login/pages/login-page-expired/login-page-expired.component.d.ts +9 -5
  161. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.d.ts +11 -3
  162. package/login/pages/login-password/login-password.component.d.ts +10 -5
  163. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.d.ts +9 -5
  164. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.d.ts +9 -5
  165. package/login/pages/login-reset-otp/login-reset-otp.component.d.ts +9 -5
  166. package/login/pages/login-reset-password/login-reset-password.component.d.ts +9 -5
  167. package/login/pages/login-update-password/login-update-password.component.d.ts +9 -5
  168. package/login/pages/login-update-profile/login-update-profile.component.d.ts +9 -6
  169. package/login/pages/login-username/login-username.component.d.ts +10 -6
  170. package/login/pages/login-verify-email/login-verify-email.component.d.ts +9 -5
  171. package/login/pages/login-x509-info/login-x509-info.component.d.ts +9 -5
  172. package/login/pages/logout-confirm/logout-confirm.component.d.ts +8 -7
  173. package/login/pages/register/register.component.d.ts +11 -8
  174. package/login/pages/saml-post-form/saml-post-form.component.d.ts +10 -7
  175. package/login/pages/select-authenticator/select-authenticator.component.d.ts +9 -5
  176. package/login/pages/terms/terms.component.d.ts +9 -5
  177. package/login/pages/update-email/update-email.component.d.ts +9 -9
  178. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.d.ts +10 -6
  179. package/login/pages/webauthn-error/webauthn-error.component.d.ts +9 -5
  180. package/login/pages/webauthn-register/webauthn-register.component.d.ts +10 -6
  181. package/package.json +8 -8
  182. package/src/account/containers/template/template.component.html +15 -10
  183. package/src/account/containers/template/template.component.ts +54 -7
  184. package/src/account/pages/account/account.component.html +139 -143
  185. package/src/account/pages/account/account.component.ts +4 -3
  186. package/src/account/pages/applications/applications.component.html +128 -136
  187. package/src/account/pages/applications/applications.component.ts +4 -3
  188. package/src/account/pages/federatedIdentity/federatedIdentity.component.html +84 -88
  189. package/src/account/pages/federatedIdentity/federatedIdentity.component.ts +4 -3
  190. package/src/account/pages/log/log.component.html +35 -39
  191. package/src/account/pages/log/log.component.ts +4 -3
  192. package/src/account/pages/password/password.component.html +109 -113
  193. package/src/account/pages/password/password.component.ts +5 -3
  194. package/src/account/pages/sessions/sessions.component.html +52 -56
  195. package/src/account/pages/sessions/sessions.component.ts +4 -3
  196. package/src/account/pages/totp/totp.component.html +234 -238
  197. package/src/account/pages/totp/totp.component.ts +4 -3
  198. package/src/login/containers/template/template.component.html +22 -8
  199. package/src/login/containers/template/template.component.ts +100 -12
  200. package/src/login/pages/code/code.component.html +19 -23
  201. package/src/login/pages/code/code.component.ts +18 -6
  202. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.html +41 -45
  203. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +16 -4
  204. package/src/login/pages/delete-credential/delete-credential.component.html +29 -31
  205. package/src/login/pages/delete-credential/delete-credential.component.ts +16 -9
  206. package/src/login/pages/error/error.component.html +20 -22
  207. package/src/login/pages/error/error.component.ts +17 -5
  208. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.html +25 -34
  209. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +17 -9
  210. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +29 -38
  211. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +18 -12
  212. package/src/login/pages/info/info.component.html +39 -48
  213. package/src/login/pages/info/info.component.ts +17 -10
  214. package/src/login/pages/login/login.component.html +184 -194
  215. package/src/login/pages/login/login.component.ts +20 -12
  216. package/src/login/pages/login-config-totp/login-config-totp.component.html +181 -190
  217. package/src/login/pages/login-config-totp/login-config-totp.component.ts +16 -10
  218. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +27 -37
  219. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +15 -14
  220. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +26 -36
  221. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +15 -14
  222. package/src/login/pages/login-idp-link-email/login-idp-link-email.component.html +24 -34
  223. package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +15 -14
  224. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.html +75 -84
  225. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +15 -14
  226. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +49 -58
  227. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +15 -9
  228. package/src/login/pages/login-otp/login-otp.component.html +89 -98
  229. package/src/login/pages/login-otp/login-otp.component.ts +16 -9
  230. package/src/login/pages/login-page-expired/login-page-expired.component.html +26 -33
  231. package/src/login/pages/login-page-expired/login-page-expired.component.ts +15 -9
  232. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +181 -188
  233. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +15 -5
  234. package/src/login/pages/login-password/login-password.component.html +73 -80
  235. package/src/login/pages/login-password/login-password.component.ts +17 -9
  236. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +136 -145
  237. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +17 -9
  238. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +60 -68
  239. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +16 -9
  240. package/src/login/pages/login-reset-otp/login-reset-otp.component.html +53 -60
  241. package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +15 -8
  242. package/src/login/pages/login-reset-password/login-reset-password.component.html +77 -86
  243. package/src/login/pages/login-reset-password/login-reset-password.component.ts +16 -9
  244. package/src/login/pages/login-update-password/login-update-password.component.html +98 -108
  245. package/src/login/pages/login-update-password/login-update-password.component.ts +15 -8
  246. package/src/login/pages/login-update-profile/login-update-profile.component.html +44 -53
  247. package/src/login/pages/login-update-profile/login-update-profile.component.ts +17 -10
  248. package/src/login/pages/login-username/login-username.component.html +138 -148
  249. package/src/login/pages/login-username/login-username.component.ts +16 -9
  250. package/src/login/pages/login-verify-email/login-verify-email.component.html +17 -25
  251. package/src/login/pages/login-verify-email/login-verify-email.component.ts +15 -9
  252. package/src/login/pages/login-x509-info/login-x509-info.component.html +85 -94
  253. package/src/login/pages/login-x509-info/login-x509-info.component.ts +15 -9
  254. package/src/login/pages/logout-confirm/logout-confirm.component.html +39 -49
  255. package/src/login/pages/logout-confirm/logout-confirm.component.ts +15 -14
  256. package/src/login/pages/register/register.component.html +100 -110
  257. package/src/login/pages/register/register.component.ts +19 -12
  258. package/src/login/pages/saml-post-form/saml-post-form.component.html +39 -48
  259. package/src/login/pages/saml-post-form/saml-post-form.component.ts +19 -13
  260. package/src/login/pages/select-authenticator/select-authenticator.component.html +36 -44
  261. package/src/login/pages/select-authenticator/select-authenticator.component.ts +16 -9
  262. package/src/login/pages/terms/terms.component.html +25 -34
  263. package/src/login/pages/terms/terms.component.ts +16 -9
  264. package/src/login/pages/update-email/update-email.component.html +44 -53
  265. package/src/login/pages/update-email/update-email.component.ts +16 -15
  266. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +134 -144
  267. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +16 -9
  268. package/src/login/pages/webauthn-error/webauthn-error.component.html +45 -55
  269. package/src/login/pages/webauthn-error/webauthn-error.component.ts +16 -9
  270. package/src/login/pages/webauthn-register/webauthn-register.component.html +65 -75
  271. package/src/login/pages/webauthn-register/webauthn-register.component.ts +16 -9
@@ -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 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
+ {"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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n OnInit,\n output,\n Renderer2,\n Signal,\n TemplateRef,\n Type,\n ViewContainerRef\n} 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 type { I18n } from '@keycloakify/angular/login/i18n';\nimport { KcContext } from '@keycloakify/angular/login/KcContext';\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';\n\n@Component({\n selector: 'kc-dynamic-page-injector',\n standalone: true,\n template: ``\n})\nexport class DynamicPageInjectorComponent {\n page = input<Type<unknown>>();\n userProfileFormFields = input<Type<unknown>>();\n componentCreated = output<object>();\n #vcr = inject<ViewContainerRef>(ViewContainerRef);\n constructor() {\n effect(\n () => {\n const page = this.page();\n const userProfileFormFields = this.userProfileFormFields();\n if (!page) return;\n const compRef = this.#vcr.createComponent(page);\n if ('userProfileFormFields' in compRef && userProfileFormFields) {\n compRef.setInput('userProfileFormFields', userProfileFormFields);\n }\n this.componentCreated.emit(compRef.instance as object);\n },\n { allowSignalWrites: true }\n );\n }\n}\n\n@Component({\n selector: 'kc-root',\n templateUrl: './template.component.html',\n standalone: true,\n imports: [AsyncPipe, KcSanitizePipe, NgTemplateOutlet, KcClassDirective, DynamicPageInjectorComponent],\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 #cdr = inject(ChangeDetectorRef);\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 = false;\n displayMessage = true;\n displayRequiredFields = false;\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n isReadyToRender$: Observable<boolean>;\n\n page = input<Type<unknown>>();\n userProfileFormFields = input<Type<unknown>>();\n headerNode: Signal<TemplateRef<HTMLElement>> | undefined;\n infoNode: Signal<TemplateRef<HTMLElement>> | undefined;\n socialProvidersNode: Signal<TemplateRef<HTMLElement>> | undefined;\n\n constructor() {\n super();\n\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 onComponentCreated(compRef: object) {\n if ('displayInfo' in compRef && compRef.displayInfo) {\n this.displayInfo = compRef.displayInfo as boolean;\n }\n if ('displayMessage' in compRef && compRef.displayMessage) {\n this.displayMessage = compRef.displayMessage as boolean;\n }\n if ('displayRequiredFields' in compRef && compRef.displayRequiredFields) {\n this.displayRequiredFields = compRef.displayRequiredFields as boolean;\n }\n if ('documentTitle' in compRef && compRef.documentTitle) {\n this.documentTitle = compRef.documentTitle as string;\n }\n if ('bodyClassName' in compRef && compRef.bodyClassName) {\n this.bodyClassName = compRef.bodyClassName as string;\n }\n if ('headerNode' in compRef && compRef.headerNode) {\n this.headerNode = computed(() => {\n const headerNode = (compRef.headerNode as Signal<TemplateRef<HTMLElement>>)();\n return headerNode;\n });\n }\n if ('infoNode' in compRef && compRef.infoNode) {\n this.infoNode = computed(() => {\n const infoNode = (compRef.infoNode as Signal<TemplateRef<HTMLElement>>)();\n return infoNode;\n });\n }\n if ('socialProvidersNode' in compRef && compRef.socialProvidersNode) {\n this.socialProvidersNode = computed(() => {\n const socialProvidersNode = (compRef.socialProvidersNode as Signal<TemplateRef<HTMLElement>>)();\n return socialProvidersNode;\n });\n }\n this.#cdr.markForCheck();\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 @let header = headerNode && headerNode();\n @if (header) {\n <ng-container [ngTemplateOutlet]=\"header\" />\n }\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 @let pageRef = page();\n @if (!!pageRef) {\n <kc-dynamic-page-injector\n [page]=\"pageRef\"\n (componentCreated)=\"onComponentCreated($event)\"\n />\n }\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 @let socialProviders = socialProvidersNode && socialProvidersNode();\n @if (socialProviders) {\n <ng-container [ngTemplateOutlet]=\"socialProviders\" />\n }\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 @let info = infoNode && infoNode();\n @if (info) {\n <ng-container [ngTemplateOutlet]=\"info\" />\n }\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,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { inject, viewChild, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
- import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
5
- import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
6
4
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
7
5
  import { TemplateComponent } from '@keycloakify/angular/login/containers/template';
8
6
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
7
+ import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
9
8
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
9
+ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
10
10
 
11
11
  class CodeComponent extends ComponentReference {
12
12
  constructor() {
@@ -15,23 +15,29 @@ class CodeComponent extends ComponentReference {
15
15
  this.i18n = inject(LOGIN_I18N);
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
+ this.displayRequiredFields = false;
19
+ this.displayInfo = false;
20
+ this.displayMessage = false;
21
+ this.headerNode = viewChild('headerNode');
22
+ this.infoNode = viewChild('infoNode');
23
+ this.socialProvidersNode = viewChild('socialProvidersNode');
18
24
  }
19
25
  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: [
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: CodeComponent, isStandalone: true, selector: "kc-code", providers: [
21
27
  {
22
28
  provide: ComponentReference,
23
29
  useExisting: forwardRef(() => CodeComponent)
24
30
  }
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 }); }
31
+ ], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let code = kcContext.code;\n\n<ng-template #headerNode>\n @if (code.success) {\n {{ i18n.msgStr('codeSuccessTitle') }}\n } @else {\n {{ i18n.msgStr('codeErrorTitle', code.error) }}\n }\n</ng-template>\n\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", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
32
  }
27
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CodeComponent, decorators: [{
28
34
  type: Component,
29
- args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
35
+ args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-code', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30
36
  {
31
37
  provide: ComponentReference,
32
38
  useExisting: forwardRef(() => CodeComponent)
33
39
  }
34
- ], 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" }]
40
+ ], template: "@let code = kcContext.code;\n\n<ng-template #headerNode>\n @if (code.success) {\n {{ i18n.msgStr('codeSuccessTitle') }}\n } @else {\n {{ i18n.msgStr('codeErrorTitle', code.error) }}\n }\n</ng-template>\n\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" }]
35
41
  }] });
36
42
 
37
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-code.mjs","sources":["../../src/login/pages/code/code.component.ts","../../src/login/pages/code/code.component.html","../../src/login/pages/code/keycloakify-angular-login-pages-code.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\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 type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcClassDirective],\n selector: 'kc-root',\n templateUrl: 'code.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => CodeComponent)\n }\n ]\n})\nexport class CodeComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'code.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 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAyBM,MAAO,aAAc,SAAQ,kBAAkB,CAAA;AAbrD,IAAA,WAAA,GAAA;;AAcI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA6C,gBAAgB,CAAC,CAAC;AACjF,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,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAPX,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC/C,aAAA;AACJ,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBL,gwBA0BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDZc,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,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,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,mBAAmB,CAAC;AAC/C,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,gwBAAA,EAAA,CAAA;;;AEvBL;;AAEG;;;;"}
1
+ {"version":3,"file":"keycloakify-angular-login-pages-code.mjs","sources":["../../src/login/pages/code/code.component.ts","../../src/login/pages/code/code.component.html","../../src/login/pages/code/keycloakify-angular-login-pages-code.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, TemplateRef, viewChild } 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 type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\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';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcClassDirective],\n selector: 'kc-code',\n templateUrl: 'code.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => CodeComponent)\n }\n ]\n})\nexport class CodeComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'code.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = false;\n\n headerNode? = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode? = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode? = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let code = kcContext.code;\n\n<ng-template #headerNode>\n @if (code.success) {\n {{ i18n.msgStr('codeSuccessTitle') }}\n } @else {\n {{ i18n.msgStr('codeErrorTitle', code.error) }}\n }\n</ng-template>\n\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAyBM,MAAO,aAAc,SAAQ,kBAAkB,CAAA;AAbrD,IAAA,WAAA,GAAA;;AAcI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA6C,gBAAgB,CAAC,CAAC;AACjF,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC,CAAC;AAEvB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC,CAAC;QAK5E,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAEvB,QAAA,IAAA,CAAA,UAAU,GAAI,SAAS,CAA2B,YAAY,CAAC,CAAC;AAChE,QAAA,IAAA,CAAA,QAAQ,GAAI,SAAS,CAA2B,UAAU,CAAC,CAAC;AAC5D,QAAA,IAAA,CAAA,mBAAmB,GAAI,SAAS,CAA2B,qBAAqB,CAAC,CAAC;AACrF,KAAA;8GAjBY,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAPX,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC/C,aAAA;SACJ,ECvBL,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,uiBAsBA,4CDRiC,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,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,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,mBAAmB,CAAC;AAC/C,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,uiBAAA,EAAA,CAAA;;;AEvBL;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { inject, viewChild, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
4
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
5
5
  import { TemplateComponent } from '@keycloakify/angular/login/containers/template';
@@ -15,23 +15,29 @@ class DeleteAccountConfirmComponent extends ComponentReference {
15
15
  this.i18n = inject(LOGIN_I18N);
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
+ this.displayRequiredFields = false;
19
+ this.displayInfo = false;
20
+ this.displayMessage = false;
21
+ this.headerNode = viewChild('headerNode');
22
+ this.infoNode = viewChild('infoNode');
23
+ this.socialProvidersNode = viewChild('socialProvidersNode');
18
24
  }
19
25
  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: [
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: DeleteAccountConfirmComponent, isStandalone: true, selector: "kc-delete-account-confirm", providers: [
21
27
  {
22
28
  provide: ComponentReference,
23
29
  useExisting: forwardRef(() => DeleteAccountConfirmComponent)
24
30
  }
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 }); }
31
+ ], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<ng-template #headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n</ng-template>\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", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
32
  }
27
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteAccountConfirmComponent, decorators: [{
28
34
  type: Component,
29
- args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
35
+ args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-delete-account-confirm', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30
36
  {
31
37
  provide: ComponentReference,
32
38
  useExisting: forwardRef(() => DeleteAccountConfirmComponent)
33
39
  }
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" }]
40
+ ], template: "@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<ng-template #headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n</ng-template>\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" }]
35
41
  }] });
36
42
 
37
43
  /**
@@ -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 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;;;;"}
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, TemplateRef, viewChild } 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 type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\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';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcClassDirective],\n selector: 'kc-delete-account-confirm',\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\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = false;\n\n headerNode? = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode? = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode? = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let url = kcContext.url;\n@let triggered_from_aia = kcContext.triggered_from_aia;\n<ng-template #headerNode>\n {{ i18n.msgStr('deleteAccountConfirm') }}\n</ng-template>\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","/**\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;AAEvB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC,CAAC;QAK5E,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAEvB,QAAA,IAAA,CAAA,UAAU,GAAI,SAAS,CAA2B,YAAY,CAAC,CAAC;AAChE,QAAA,IAAA,CAAA,QAAQ,GAAI,SAAS,CAA2B,UAAU,CAAC,CAAC;AAC5D,QAAA,IAAA,CAAA,mBAAmB,GAAI,SAAS,CAA2B,qBAAqB,CAAC,CAAC;AACrF,KAAA;8GAjBY,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,2BAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA6B,CAAC;AAC/D,aAAA;SACJ,ECvBL,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8/CA4CA,4CD9BiC,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,2BAA2B,EAEpB,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,8/CAAA,EAAA,CAAA;;;AEvBL;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { inject, viewChild, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
4
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
5
5
  import { TemplateComponent } from '@keycloakify/angular/login/containers/template';
@@ -15,28 +15,29 @@ class DeleteCredentialComponent extends ComponentReference {
15
15
  this.i18n = inject(LOGIN_I18N);
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
- this.displayRequiredFields = input(false);
19
- this.documentTitle = input();
20
- this.bodyClassName = input();
18
+ this.displayRequiredFields = false;
21
19
  this.displayInfo = false;
22
20
  this.displayMessage = false;
21
+ this.headerNode = viewChild('headerNode');
22
+ this.infoNode = viewChild('infoNode');
23
+ this.socialProvidersNode = viewChild('socialProvidersNode');
23
24
  }
24
25
  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
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.7", type: DeleteCredentialComponent, isStandalone: true, selector: "kc-delete-credential", providers: [
26
27
  {
27
28
  provide: ComponentReference,
28
29
  useExisting: forwardRef(() => DeleteCredentialComponent)
29
30
  }
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
+ ], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<ng-template #headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n</ng-template>\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", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
32
  }
32
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteCredentialComponent, decorators: [{
33
34
  type: Component,
34
- args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
35
+ args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective], selector: 'kc-delete-credential', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
35
36
  {
36
37
  provide: ComponentReference,
37
38
  useExisting: forwardRef(() => DeleteCredentialComponent)
38
39
  }
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
+ ], template: "@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<ng-template #headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n</ng-template>\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" }]
40
41
  }] });
41
42
 
42
43
  /**
@@ -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 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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"}
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, TemplateRef, viewChild } 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 type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\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';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcClassDirective],\n selector: 'kc-delete-credential',\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\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = false;\n\n headerNode? = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode? = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode? = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let url = kcContext.url;\n@let credentialLabel = kcContext.credentialLabel;\n<ng-template #headerNode>\n {{ i18n.msgStr('deleteCredentialTitle', credentialLabel) }}\n</ng-template>\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAyBM,MAAO,yBAA0B,SAAQ,kBAAkB,CAAA;AAbjE,IAAA,WAAA,GAAA;;AAcI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA0D,gBAAgB,CAAC,CAAC;AAC9F,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC,CAAC;AAEvB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC,CAAC;QAK5E,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAEvB,QAAA,IAAA,CAAA,UAAU,GAAI,SAAS,CAA2B,YAAY,CAAC,CAAC;AAChE,QAAA,IAAA,CAAA,QAAQ,GAAI,SAAS,CAA2B,UAAU,CAAC,CAAC;AAC5D,QAAA,IAAA,CAAA,mBAAmB,GAAI,SAAS,CAA2B,qBAAqB,CAAC,CAAC;AACrF,KAAA;8GAjBY,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAPvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AAC3D,aAAA;SACJ,ECvBL,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,2gCAiCA,4CDnBiC,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,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAbrC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EACpC,QAAA,EAAA,sBAAsB,EAEf,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AAC3D,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,2gCAAA,EAAA,CAAA;;;AEvBL;;AAEG;;;;"}
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { inject, viewChild, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
3
4
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
5
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
5
6
  import { TemplateComponent } from '@keycloakify/angular/login/containers/template';
6
- import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
7
- import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
8
7
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
8
+ import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
9
9
  import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
10
10
 
11
11
  class ErrorComponent extends ComponentReference {
@@ -15,23 +15,29 @@ class ErrorComponent extends ComponentReference {
15
15
  this.i18n = inject(LOGIN_I18N);
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
+ this.displayRequiredFields = false;
19
+ this.displayInfo = false;
20
+ this.displayMessage = false;
21
+ this.headerNode = viewChild('headerNode');
22
+ this.infoNode = viewChild('infoNode');
23
+ this.socialProvidersNode = viewChild('socialProvidersNode');
18
24
  }
19
25
  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: [
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ErrorComponent, isStandalone: true, selector: "kc-error", providers: [
21
27
  {
22
28
  provide: ComponentReference,
23
29
  useExisting: forwardRef(() => ErrorComponent)
24
30
  }
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 }); }
31
+ ], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let message = kcContext.message;\n@let skipLink = kcContext.skipLink;\n@let client = kcContext.client;\n<ng-template #headerNode>\n {{ i18n.msgStr('errorTitle') }}\n</ng-template>\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", dependencies: [{ kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
32
  }
27
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ErrorComponent, decorators: [{
28
34
  type: Component,
29
- args: [{ standalone: true, imports: [TemplateComponent, KcSanitizePipe], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
35
+ args: [{ standalone: true, imports: [TemplateComponent, KcSanitizePipe], selector: 'kc-error', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30
36
  {
31
37
  provide: ComponentReference,
32
38
  useExisting: forwardRef(() => ErrorComponent)
33
39
  }
34
- ], 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" }]
40
+ ], template: "@let message = kcContext.message;\n@let skipLink = kcContext.skipLink;\n@let client = kcContext.client;\n<ng-template #headerNode>\n {{ i18n.msgStr('errorTitle') }}\n</ng-template>\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" }]
35
41
  }] });
36
42
 
37
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-error.mjs","sources":["../../src/login/pages/error/error.component.ts","../../src/login/pages/error/error.component.html","../../src/login/pages/error/keycloakify-angular-login-pages-error.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 { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcSanitizePipe],\n selector: 'kc-root',\n templateUrl: 'error.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => ErrorComponent)\n }\n ]\n})\nexport class ErrorComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'error.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 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAyBM,MAAO,cAAe,SAAQ,kBAAkB,CAAA;AAbtD,IAAA,WAAA,GAAA;;AAcI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA8C,gBAAgB,CAAC,CAAC;AAClF,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,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAPZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;AAChD,aAAA;AACJ,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBL,22BAyBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDXc,iBAAiB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAWlC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,iBAAiB,EAAE,cAAc,CAAC,EAClC,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,oBAAoB,CAAC;AAChD,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,22BAAA,EAAA,CAAA;;;AEvBL;;AAEG;;;;"}
1
+ {"version":3,"file":"keycloakify-angular-login-pages-error.mjs","sources":["../../src/login/pages/error/error.component.ts","../../src/login/pages/error/error.component.html","../../src/login/pages/error/keycloakify-angular-login-pages-error.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, TemplateRef, viewChild } from '@angular/core';\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 { TemplateComponent } from '@keycloakify/angular/login/containers/template';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\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';\n\n@Component({\n standalone: true,\n imports: [TemplateComponent, KcSanitizePipe],\n selector: 'kc-error',\n templateUrl: 'error.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => ErrorComponent)\n }\n ]\n})\nexport class ErrorComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'error.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = false;\n\n headerNode? = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode? = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode? = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let message = kcContext.message;\n@let skipLink = kcContext.skipLink;\n@let client = kcContext.client;\n<ng-template #headerNode>\n {{ i18n.msgStr('errorTitle') }}\n</ng-template>\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAyBM,MAAO,cAAe,SAAQ,kBAAkB,CAAA;AAbtD,IAAA,WAAA,GAAA;;AAcI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA8C,gBAAgB,CAAC,CAAC;AAClF,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC,CAAC;AAEvB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC,CAAC;QAK5E,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAEvB,QAAA,IAAA,CAAA,UAAU,GAAI,SAAS,CAA2B,YAAY,CAAC,CAAC;AAChE,QAAA,IAAA,CAAA,QAAQ,GAAI,SAAS,CAA2B,UAAU,CAAC,CAAC;AAC5D,QAAA,IAAA,CAAA,mBAAmB,GAAI,SAAS,CAA2B,qBAAqB,CAAC,CAAC;AACrF,KAAA;8GAjBY,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAPZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;AAChD,aAAA;SACJ,ECvBL,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,otBAuBA,uCDTiC,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAWlC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,iBAAiB,EAAE,cAAc,CAAC,EAClC,QAAA,EAAA,UAAU,EAEH,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,oBAAoB,CAAC;AAChD,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,otBAAA,EAAA,CAAA;;;AEvBL;;AAEG;;;;"}
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { inject, viewChild, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
3
4
  import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
4
5
  import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
5
6
  import { TemplateComponent } from '@keycloakify/angular/login/containers/template';
6
- import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
7
- import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
8
7
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
8
+ import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
9
9
  import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
10
10
 
11
11
  class FrontchannelLogoutComponent extends ComponentReference {
@@ -15,10 +15,12 @@ class FrontchannelLogoutComponent extends ComponentReference {
15
15
  this.i18n = inject(LOGIN_I18N);
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
- this.displayRequiredFields = input(false);
19
- this.bodyClassName = input();
18
+ this.displayRequiredFields = this.i18n.msgStr('frontchannel-logout.title');
20
19
  this.displayInfo = false;
21
20
  this.displayMessage = false;
21
+ this.headerNode = viewChild('headerNode');
22
+ this.infoNode = viewChild('infoNode');
23
+ this.socialProvidersNode = viewChild('socialProvidersNode');
22
24
  }
23
25
  ngOnInit() {
24
26
  if (this.kcContext.logout.logoutRedirectUri) {
@@ -26,21 +28,21 @@ class FrontchannelLogoutComponent extends ComponentReference {
26
28
  }
27
29
  }
28
30
  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: [
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FrontchannelLogoutComponent, isStandalone: true, selector: "kc-frontchannel-logout", providers: [
30
32
  {
31
33
  provide: ComponentReference,
32
34
  useExisting: forwardRef(() => FrontchannelLogoutComponent)
33
35
  }
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 }); }
36
+ ], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let logout = kcContext.logout;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('frontchannel-logout.title') }}\n</ng-template>\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", dependencies: [{ kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
37
  }
36
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FrontchannelLogoutComponent, decorators: [{
37
39
  type: Component,
38
- args: [{ standalone: true, imports: [TemplateComponent, KcSanitizePipe], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
40
+ args: [{ standalone: true, imports: [TemplateComponent, KcSanitizePipe], selector: 'kc-frontchannel-logout', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
39
41
  {
40
42
  provide: ComponentReference,
41
43
  useExisting: forwardRef(() => FrontchannelLogoutComponent)
42
44
  }
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" }]
45
+ ], template: "@let logout = kcContext.logout;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('frontchannel-logout.title') }}\n</ng-template>\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" }]
44
46
  }] });
45
47
 
46
48
  /**