@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
@@ -6,207 +6,197 @@
6
6
  @let url = kcContext.url;
7
7
  @let login = kcContext.login;
8
8
 
9
- <kc-login-template
10
- [displayInfo]="displayInfo"
11
- [bodyClassName]="bodyClassName()"
12
- [displayMessage]="displayMessage"
13
- [displayRequiredFields]="displayRequiredFields()"
14
- [documentTitle]="documentTitle()"
15
- >
16
- <ng-container headerNode>
17
- {{ i18n.msgStr('loginAccountTitle') }}
18
- </ng-container>
19
- <ng-container infoNode>
20
- <div id="kc-registration-container">
21
- <div id="kc-registration">
22
- <span>
23
- {{ i18n.msgStr('noAccount') }}
24
- <a
25
- tabindex="8"
26
- [href]="url?.registrationUrl"
27
- >
28
- {{ i18n.msgStr('doRegister') }}
29
- </a>
30
- </span>
31
- </div>
9
+ <ng-template #headerNode>
10
+ {{ i18n.msgStr('loginAccountTitle') }}
11
+ </ng-template>
12
+ <ng-template #infoNode>
13
+ <div id="kc-registration-container">
14
+ <div id="kc-registration">
15
+ <span>
16
+ {{ i18n.msgStr('noAccount') }}
17
+ <a
18
+ tabindex="8"
19
+ [href]="url?.registrationUrl"
20
+ >
21
+ {{ i18n.msgStr('doRegister') }}
22
+ </a>
23
+ </span>
32
24
  </div>
33
- </ng-container>
34
- <ng-container socialProvidersNode>
35
- @if (!!realm?.password && !!social?.providers?.length) {
36
- <div
37
- id="kc-social-providers"
38
- [kcClass]="'kcFormSocialAccountSectionClass'"
25
+ </div>
26
+ </ng-template>
27
+ <ng-template #socialProvidersNode>
28
+ @if (!!realm?.password && !!social?.providers?.length) {
29
+ <div
30
+ id="kc-social-providers"
31
+ [kcClass]="'kcFormSocialAccountSectionClass'"
32
+ >
33
+ <hr />
34
+ <h2>{{ i18n.msgStr('identity-provider-login-label') }}</h2>
35
+ <ul
36
+ [kcClass]="{
37
+ kcFormSocialAccountListClass: true,
38
+ kcFormSocialAccountListGridClass: (social?.providers?.length ?? 0) > 3
39
+ }"
39
40
  >
40
- <hr />
41
- <h2>{{ i18n.msgStr('identity-provider-login-label') }}</h2>
42
- <ul
43
- [kcClass]="{
44
- kcFormSocialAccountListClass: true,
45
- kcFormSocialAccountListGridClass: (social?.providers?.length ?? 0) > 3
46
- }"
47
- >
48
- @for (provider of social?.providers; track provider.alias; let idx = $index) {
49
- <li>
50
- <a
51
- type="button"
52
- [id]="provider.alias"
53
- [kcClass]="{
54
- kcFormSocialAccountListButtonClass: true,
55
- kcFormSocialAccountGridItem: (social?.providers?.length ?? 0) > 3
41
+ @for (provider of social?.providers; track provider.alias; let idx = $index) {
42
+ <li>
43
+ <a
44
+ type="button"
45
+ [id]="provider.alias"
46
+ [kcClass]="{
47
+ kcFormSocialAccountListButtonClass: true,
48
+ kcFormSocialAccountGridItem: (social?.providers?.length ?? 0) > 3
49
+ }"
50
+ [href]="provider.loginUrl"
51
+ >
52
+ @if (provider.iconClasses) {
53
+ <i
54
+ aria-hidden="true"
55
+ [ngClass]="provider.iconClasses"
56
+ [kcClass]="'kcCommonLogoIdP'"
57
+ ></i>
58
+ }
59
+ <span
60
+ [ngClass]="{
61
+ 'kc-social-icon-text': provider.iconClasses
56
62
  }"
57
- [href]="provider.loginUrl"
63
+ [kcClass]="'kcFormSocialAccountNameClass'"
64
+ [innerHTML]="provider.displayName | kcSanitize: 'html'"
65
+ ></span>
66
+ </a>
67
+ </li>
68
+ }
69
+ </ul>
70
+ </div>
71
+ }
72
+ </ng-template>
73
+ <div id="kc-form">
74
+ <div id="kc-form-wrapper">
75
+ <!-- login.component.html -->
76
+ @if (realm?.password) {
77
+ <form
78
+ id="kc-form-login"
79
+ method="post"
80
+ [action]="url?.loginAction"
81
+ (onSubmit)="isLoginButtonDisabled.set(true)"
82
+ >
83
+ @if (!usernameHidden) {
84
+ <div [kcClass]="'kcFormGroupClass'">
85
+ <label
86
+ for="username"
87
+ [kcClass]="'kcLabelClass'"
88
+ >
89
+ @if (!realm?.loginWithEmailAllowed) {
90
+ {{ i18n.msgStr('username') }}
91
+ } @else if (!realm?.registrationEmailAsUsername) {
92
+ {{ i18n.msgStr('usernameOrEmail') }}
93
+ } @else {
94
+ {{ i18n.msgStr('email') }}
95
+ }
96
+ </label>
97
+ <input
98
+ tabindex="2"
99
+ id="username"
100
+ name="username"
101
+ type="text"
102
+ autofocus
103
+ [kcClass]="'kcInputClass'"
104
+ [defaultValue]="login?.username || ''"
105
+ [attr.aria-invalid]="messagesPerField?.existsError('username', 'password')"
106
+ />
107
+ @if (messagesPerField?.existsError('username', 'password')) {
108
+ <span
109
+ id="input-error"
110
+ aria-live="polite"
111
+ [kcClass]="'kcInputErrorMessageClass'"
112
+ [innerHTML]="messagesPerField.getFirstError('username', 'password') | kcSanitize: 'html'"
58
113
  >
59
- @if (provider.iconClasses) {
60
- <i
61
- aria-hidden="true"
62
- [ngClass]="provider.iconClasses"
63
- [kcClass]="'kcCommonLogoIdP'"
64
- ></i>
65
- }
66
- <span
67
- [ngClass]="{
68
- 'kc-social-icon-text': provider.iconClasses
69
- }"
70
- [kcClass]="'kcFormSocialAccountNameClass'"
71
- [innerHTML]="provider.displayName | kcSanitize: 'html'"
72
- ></span>
73
- </a>
74
- </li>
75
- }
76
- </ul>
77
- </div>
78
- }
79
- </ng-container>
80
- <ng-container content>
81
- <div id="kc-form">
82
- <div id="kc-form-wrapper">
83
- <!-- login.component.html -->
84
- @if (realm?.password) {
85
- <form
86
- id="kc-form-login"
87
- method="post"
88
- [action]="url?.loginAction"
89
- (onSubmit)="isLoginButtonDisabled.set(true)"
90
- >
91
- @if (!usernameHidden) {
92
- <div [kcClass]="'kcFormGroupClass'">
93
- <label
94
- for="username"
95
- [kcClass]="'kcLabelClass'"
96
- >
97
- @if (!realm?.loginWithEmailAllowed) {
98
- {{ i18n.msgStr('username') }}
99
- } @else if (!realm?.registrationEmailAsUsername) {
100
- {{ i18n.msgStr('usernameOrEmail') }}
101
- } @else {
102
- {{ i18n.msgStr('email') }}
103
- }
104
- </label>
105
- <input
106
- tabindex="2"
107
- id="username"
108
- name="username"
109
- type="text"
110
- autofocus
111
- [kcClass]="'kcInputClass'"
112
- [defaultValue]="login?.username || ''"
113
- [attr.aria-invalid]="messagesPerField?.existsError('username', 'password')"
114
- />
115
- @if (messagesPerField?.existsError('username', 'password')) {
116
- <span
117
- id="input-error"
118
- aria-live="polite"
119
- [kcClass]="'kcInputErrorMessageClass'"
120
- [innerHTML]="messagesPerField.getFirstError('username', 'password') | kcSanitize: 'html'"
121
- >
122
- </span>
123
- }
124
- </div>
114
+ </span>
125
115
  }
116
+ </div>
117
+ }
126
118
 
127
- <div [kcClass]="'kcFormGroupClass'">
128
- <label
129
- for="password"
130
- [kcClass]="'kcLabelClass'"
131
- >
132
- {{ i18n.msgStr('password') }}
133
- </label>
119
+ <div [kcClass]="'kcFormGroupClass'">
120
+ <label
121
+ for="password"
122
+ [kcClass]="'kcLabelClass'"
123
+ >
124
+ {{ i18n.msgStr('password') }}
125
+ </label>
134
126
 
135
- <kc-password-wrapper passwordInputId="password">
136
- <input
137
- tabindex="3"
138
- id="password"
139
- name="password"
140
- type="password"
141
- autocomplete="off"
142
- [kcClass]="'kcInputClass'"
143
- [attr.aria-invalid]="messagesPerField.existsError('username', 'password')"
144
- />
145
- </kc-password-wrapper>
146
- @if (usernameHidden && messagesPerField?.existsError('username', 'password')) {
147
- <span
148
- id="input-error"
149
- aria-live="polite"
150
- [kcClass]="'kcInputErrorMessageClass'"
151
- [innerHTML]="messagesPerField.getFirstError('username', 'password') | kcSanitize: 'html'"
152
- >
153
- </span>
154
- }
155
- </div>
127
+ <kc-password-wrapper passwordInputId="password">
128
+ <input
129
+ tabindex="3"
130
+ id="password"
131
+ name="password"
132
+ type="password"
133
+ autocomplete="off"
134
+ [kcClass]="'kcInputClass'"
135
+ [attr.aria-invalid]="messagesPerField.existsError('username', 'password')"
136
+ />
137
+ </kc-password-wrapper>
138
+ @if (usernameHidden && messagesPerField?.existsError('username', 'password')) {
139
+ <span
140
+ id="input-error"
141
+ aria-live="polite"
142
+ [kcClass]="'kcInputErrorMessageClass'"
143
+ [innerHTML]="messagesPerField.getFirstError('username', 'password') | kcSanitize: 'html'"
144
+ >
145
+ </span>
146
+ }
147
+ </div>
156
148
 
157
- <div [kcClass]="['kcFormGroupClass', 'kcFormSettingClass']">
158
- <div id="kc-form-options">
159
- @if (realm?.rememberMe && !usernameHidden) {
160
- <div class="checkbox">
161
- <label>
162
- <input
163
- tabindex="5"
164
- id="rememberMe"
165
- name="rememberMe"
166
- type="checkbox"
167
- [defaultChecked]="!!login?.rememberMe"
168
- />
169
- {{ i18n.msgStr('rememberMe') }}
170
- </label>
171
- </div>
172
- }
149
+ <div [kcClass]="['kcFormGroupClass', 'kcFormSettingClass']">
150
+ <div id="kc-form-options">
151
+ @if (realm?.rememberMe && !usernameHidden) {
152
+ <div class="checkbox">
153
+ <label>
154
+ <input
155
+ tabindex="5"
156
+ id="rememberMe"
157
+ name="rememberMe"
158
+ type="checkbox"
159
+ [defaultChecked]="!!login?.rememberMe"
160
+ />
161
+ {{ i18n.msgStr('rememberMe') }}
162
+ </label>
173
163
  </div>
164
+ }
165
+ </div>
174
166
 
175
- <div [kcClass]="'kcFormOptionsWrapperClass'">
176
- @if (realm?.resetPasswordAllowed) {
177
- <span>
178
- <a
179
- tabindex="6"
180
- [href]="url?.loginResetCredentialsUrl"
181
- >{{ i18n.msgStr('doForgotPassword') }}</a
182
- >
183
- </span>
184
- }
185
- </div>
186
- </div>
187
- <div
188
- id="kc-form-buttons"
189
- [kcClass]="'kcFormGroupClass'"
190
- >
191
- <input
192
- type="hidden"
193
- id="id-hidden-input"
194
- name="credentialId"
195
- [value]="auth?.selectedCredential"
196
- />
197
- <input
198
- tabindex="7"
199
- name="login"
200
- id="kc-login"
201
- type="submit"
202
- [kcClass]="['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']"
203
- [value]="i18n.msgStr('doLogIn')"
204
- [disabled]="isLoginButtonDisabled()"
205
- />
206
- </div>
207
- </form>
208
- }
209
- </div>
210
- </div>
211
- </ng-container>
212
- </kc-login-template>
167
+ <div [kcClass]="'kcFormOptionsWrapperClass'">
168
+ @if (realm?.resetPasswordAllowed) {
169
+ <span>
170
+ <a
171
+ tabindex="6"
172
+ [href]="url?.loginResetCredentialsUrl"
173
+ >{{ i18n.msgStr('doForgotPassword') }}</a
174
+ >
175
+ </span>
176
+ }
177
+ </div>
178
+ </div>
179
+ <div
180
+ id="kc-form-buttons"
181
+ [kcClass]="'kcFormGroupClass'"
182
+ >
183
+ <input
184
+ type="hidden"
185
+ id="id-hidden-input"
186
+ name="credentialId"
187
+ [value]="auth?.selectedCredential"
188
+ />
189
+ <input
190
+ tabindex="7"
191
+ name="login"
192
+ id="kc-login"
193
+ type="submit"
194
+ [kcClass]="['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']"
195
+ [value]="i18n.msgStr('doLogIn')"
196
+ [disabled]="isLoginButtonDisabled()"
197
+ />
198
+ </div>
199
+ </form>
200
+ }
201
+ </div>
202
+ </div>
@@ -1,24 +1,24 @@
1
- import { AsyncPipe, NgClass } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, forwardRef, inject, input, signal } from '@angular/core';
1
+ import { AsyncPipe, CommonModule, NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, signal, TemplateRef, viewChild } 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 { PasswordWrapperComponent } from '@keycloakify/angular/login/components/password-wrapper';
6
7
  import { TemplateComponent } from '@keycloakify/angular/login/containers/template';
7
8
  import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
8
- import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
9
+ import type { I18n } from '../../i18n';
10
+ import type { KcContext } from '../../KcContext';
9
11
  import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
10
12
  import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
11
13
  import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
12
14
  import type { ClassKey } from 'keycloakify/login/lib/kcClsx';
13
- import type { I18n } from '../../i18n';
14
- import type { KcContext } from '../../KcContext';
15
15
 
16
16
  @Component({
17
- selector: 'kc-root',
17
+ selector: 'kc-login',
18
18
  templateUrl: './login.component.html',
19
19
  standalone: true,
20
20
  changeDetection: ChangeDetectionStrategy.OnPush,
21
- imports: [KcClassDirective, AsyncPipe, KcSanitizePipe, PasswordWrapperComponent, NgClass, TemplateComponent],
21
+ imports: [KcClassDirective, AsyncPipe, KcSanitizePipe, PasswordWrapperComponent, NgClass, TemplateComponent, CommonModule],
22
22
  providers: [
23
23
  {
24
24
  provide: ComponentReference,
@@ -28,13 +28,21 @@ import type { KcContext } from '../../KcContext';
28
28
  })
29
29
  export class LoginComponent extends ComponentReference {
30
30
  kcContext = inject<Extract<KcContext, { pageId: 'login.ftl' }>>(KC_LOGIN_CONTEXT);
31
- displayRequiredFields = input(false);
32
- documentTitle = input<string>();
33
- bodyClassName = input<string>();
34
31
  i18n = inject<I18n>(LOGIN_I18N);
32
+
35
33
  override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);
36
34
  override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);
35
+
36
+ documentTitle: string | undefined;
37
+ bodyClassName: string | undefined;
38
+
39
+ displayRequiredFields = false;
40
+ displayInfo = !!this.kcContext?.realm?.password && !!this.kcContext?.realm?.registrationAllowed && !this.kcContext?.registrationDisabled;
41
+ displayMessage = !this.kcContext?.messagesPerField?.existsError('username', 'password');
42
+
43
+ headerNode? = viewChild<TemplateRef<HTMLElement>>('headerNode');
44
+ infoNode? = viewChild<TemplateRef<HTMLElement>>('infoNode');
45
+ socialProvidersNode? = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');
46
+
37
47
  isLoginButtonDisabled = signal(false);
38
- displayInfo: boolean = !!this.kcContext?.realm?.password && !!this.kcContext?.realm?.registrationAllowed && !this.kcContext?.registrationDisabled;
39
- displayMessage: boolean = !this.kcContext?.messagesPerField?.existsError('username', 'password');
40
48
  }