@keycloakify/angular 0.0.1-rc.0 → 0.0.1-rc.2

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 (423) hide show
  1. package/lib/i18n.d.ts +2 -2
  2. package/lib/i18n.mjs +6 -0
  3. package/lib/models/index.d.ts +1 -1
  4. package/lib/models/index.mjs +2 -0
  5. package/lib/models/script.model.mjs +2 -0
  6. package/lib/providers/keycloakify-angular.providers.d.ts +5 -5
  7. package/lib/providers/keycloakify-angular.providers.mjs +54 -0
  8. package/lib/public-api.d.ts +5 -5
  9. package/lib/public-api.mjs +4 -0
  10. package/lib/services/i18n.service.d.ts +3 -0
  11. package/lib/services/i18n.service.mjs +11 -0
  12. package/lib/services/index.d.ts +2 -2
  13. package/lib/services/index.mjs +3 -0
  14. package/lib/services/resource-injector.service.d.ts +5 -2
  15. package/lib/services/resource-injector.service.mjs +54 -0
  16. package/login/DefaultPage.d.ts +4 -4
  17. package/login/DefaultPage.mjs +121 -0
  18. package/login/KcContext.d.ts +1 -1
  19. package/login/KcContext.mjs +2 -0
  20. package/login/classes/component-reference.class.d.ts +1 -1
  21. package/login/classes/component-reference.class.mjs +3 -0
  22. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +5 -2
  23. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +105 -0
  24. package/login/components/field-errors/field-errors.component.d.ts +7 -4
  25. package/login/components/field-errors/field-errors.component.mjs +32 -0
  26. package/login/components/group-label/group-label.component.d.ts +6 -3
  27. package/login/components/group-label/group-label.component.mjs +41 -0
  28. package/login/components/hello-world/hello-world.component.d.ts +5 -0
  29. package/login/components/hello-world/hello-world.component.mjs +11 -0
  30. package/login/components/index.d.ts +11 -11
  31. package/login/components/index.mjs +12 -0
  32. package/login/components/input-field-by-type/input-field-by-type.component.d.ts +7 -4
  33. package/login/components/input-field-by-type/input-field-by-type.component.mjs +52 -0
  34. package/login/components/input-tag/input-tag.component.d.ts +7 -4
  35. package/login/components/input-tag/input-tag.component.mjs +89 -0
  36. package/login/components/input-tag-selects/input-tag-selects.component.d.ts +9 -6
  37. package/login/components/input-tag-selects/input-tag-selects.component.mjs +115 -0
  38. package/login/components/logout-other-sessions/logout-other-sessions.component.d.ts +5 -2
  39. package/login/components/logout-other-sessions/logout-other-sessions.component.mjs +30 -0
  40. package/login/components/password-wrapper/password-wrapper.component.d.ts +6 -3
  41. package/login/components/password-wrapper/password-wrapper.component.mjs +44 -0
  42. package/login/components/select-tag/select-tag.component.d.ts +7 -4
  43. package/login/components/select-tag/select-tag.component.mjs +80 -0
  44. package/login/components/textarea-tag/textarea-tag.component.d.ts +7 -4
  45. package/login/components/textarea-tag/textarea-tag.component.mjs +48 -0
  46. package/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +8 -5
  47. package/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +62 -0
  48. package/login/containers/template.component.d.ts +11 -8
  49. package/login/containers/template.component.mjs +71 -0
  50. package/login/directives/attributes.directive.d.ts +3 -0
  51. package/login/directives/attributes.directive.mjs +26 -0
  52. package/login/directives/index.d.ts +2 -2
  53. package/login/directives/index.mjs +3 -0
  54. package/login/directives/kc-class.directive.d.ts +5 -2
  55. package/login/directives/kc-class.directive.mjs +138 -0
  56. package/login/i18n.d.ts +2 -2
  57. package/login/i18n.mjs +2 -0
  58. package/login/pages/code/code.component.d.ts +6 -3
  59. package/login/pages/code/code.component.mjs +32 -0
  60. package/login/pages/delete-account-confirm/delete-account-confirm.component.d.ts +6 -3
  61. package/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +32 -0
  62. package/login/pages/delete-credential/delete-credential.component.d.ts +6 -3
  63. package/login/pages/delete-credential/delete-credential.component.mjs +37 -0
  64. package/login/pages/error/error.component.d.ts +6 -3
  65. package/login/pages/error/error.component.mjs +32 -0
  66. package/login/pages/frontchannel-logout/frontchannel-logout.component.d.ts +7 -4
  67. package/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +41 -0
  68. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +6 -3
  69. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +47 -0
  70. package/login/pages/info/info.component.d.ts +9 -6
  71. package/login/pages/info/info.component.mjs +58 -0
  72. package/login/pages/login/login.component.d.ts +6 -3
  73. package/login/pages/login/login.component.mjs +51 -0
  74. package/login/pages/login-config-totp/login-config-totp.component.d.ts +6 -3
  75. package/login/pages/login-config-totp/login-config-totp.component.mjs +47 -0
  76. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.d.ts +6 -3
  77. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +37 -0
  78. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.d.ts +6 -3
  79. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +37 -0
  80. package/login/pages/login-idp-link-email/login-idp-link-email.component.d.ts +6 -3
  81. package/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +37 -0
  82. package/login/pages/login-oauth-grant/login-oauth-grant.component.d.ts +6 -3
  83. package/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +38 -0
  84. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +6 -3
  85. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +37 -0
  86. package/login/pages/login-otp/login-otp.component.d.ts +6 -3
  87. package/login/pages/login-otp/login-otp.component.mjs +38 -0
  88. package/login/pages/login-page-expired/login-page-expired.component.d.ts +6 -3
  89. package/login/pages/login-page-expired/login-page-expired.component.mjs +36 -0
  90. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.d.ts +8 -5
  91. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +85 -0
  92. package/login/pages/login-password/login-password.component.d.ts +6 -3
  93. package/login/pages/login-password/login-password.component.mjs +46 -0
  94. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.d.ts +6 -3
  95. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +45 -0
  96. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.d.ts +6 -3
  97. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +38 -0
  98. package/login/pages/login-reset-otp/login-reset-otp.component.d.ts +6 -3
  99. package/login/pages/login-reset-otp/login-reset-otp.component.mjs +37 -0
  100. package/login/pages/login-reset-password/login-reset-password.component.d.ts +6 -3
  101. package/login/pages/login-reset-password/login-reset-password.component.mjs +38 -0
  102. package/login/pages/login-update-password/login-update-password.component.d.ts +6 -3
  103. package/login/pages/login-update-password/login-update-password.component.mjs +47 -0
  104. package/login/pages/login-update-profile/login-update-profile.component.d.ts +6 -3
  105. package/login/pages/login-update-profile/login-update-profile.component.mjs +44 -0
  106. package/login/pages/login-username/login-username.component.d.ts +6 -3
  107. package/login/pages/login-username/login-username.component.mjs +49 -0
  108. package/login/pages/login-verify-email/login-verify-email.component.d.ts +6 -3
  109. package/login/pages/login-verify-email/login-verify-email.component.mjs +37 -0
  110. package/login/pages/login-x509-info/login-x509-info.component.d.ts +6 -3
  111. package/login/pages/login-x509-info/login-x509-info.component.mjs +37 -0
  112. package/login/pages/logout-confirm/logout-confirm.component.d.ts +6 -3
  113. package/login/pages/logout-confirm/logout-confirm.component.mjs +37 -0
  114. package/login/pages/register/register.component.d.ts +6 -3
  115. package/login/pages/register/register.component.mjs +55 -0
  116. package/login/pages/saml-post-form/saml-post-form.component.d.ts +7 -4
  117. package/login/pages/saml-post-form/saml-post-form.component.mjs +49 -0
  118. package/login/pages/select-authenticator/select-authenticator.component.d.ts +6 -3
  119. package/login/pages/select-authenticator/select-authenticator.component.mjs +45 -0
  120. package/login/pages/terms/terms.component.d.ts +6 -3
  121. package/login/pages/terms/terms.component.mjs +37 -0
  122. package/login/pages/update-email/update-email.component.d.ts +6 -3
  123. package/login/pages/update-email/update-email.component.mjs +46 -0
  124. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.d.ts +8 -5
  125. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +87 -0
  126. package/login/pages/webauthn-error/webauthn-error.component.d.ts +6 -3
  127. package/login/pages/webauthn-error/webauthn-error.component.mjs +51 -0
  128. package/login/pages/webauthn-register/webauthn-register.component.d.ts +8 -5
  129. package/login/pages/webauthn-register/webauthn-register.component.mjs +81 -0
  130. package/login/pipes/advanced-msg-str.pipe.d.ts +4 -1
  131. package/login/pipes/advanced-msg-str.pipe.mjs +19 -0
  132. package/login/pipes/index.d.ts +6 -6
  133. package/login/pipes/index.mjs +7 -0
  134. package/login/pipes/input-type.pipe.d.ts +4 -1
  135. package/login/pipes/input-type.pipe.mjs +20 -0
  136. package/login/pipes/kc-sanitize.pipe.d.ts +5 -2
  137. package/login/pipes/kc-sanitize.pipe.mjs +34 -0
  138. package/login/pipes/msg-str.pipe.d.ts +5 -2
  139. package/login/pipes/msg-str.pipe.mjs +19 -0
  140. package/login/pipes/to-array.pipe.d.ts +4 -1
  141. package/login/pipes/to-array.pipe.mjs +21 -0
  142. package/login/pipes/to-number.pipe.d.ts +4 -1
  143. package/login/pipes/to-number.pipe.mjs +20 -0
  144. package/login/services/index.d.ts +2 -2
  145. package/login/services/index.mjs +3 -0
  146. package/login/services/login-resource-injector.service.d.ts +4 -1
  147. package/login/services/login-resource-injector.service.mjs +68 -0
  148. package/login/services/user-profile-form.service.d.ts +15 -12
  149. package/login/services/user-profile-form.service.mjs +1017 -0
  150. package/package.json +90 -200
  151. package/src/lib/i18n.ts +2 -2
  152. package/src/lib/models/index.ts +1 -1
  153. package/src/lib/providers/keycloakify-angular.providers.ts +18 -18
  154. package/src/lib/public-api.ts +5 -5
  155. package/src/lib/services/i18n.service.ts +2 -2
  156. package/src/lib/services/index.ts +2 -2
  157. package/src/lib/services/resource-injector.service.ts +7 -7
  158. package/src/login/DefaultPage.ts +76 -76
  159. package/src/login/KcContext.ts +1 -1
  160. package/src/login/classes/component-reference.class.ts +1 -1
  161. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +11 -11
  162. package/src/login/components/field-errors/field-errors.component.ts +9 -9
  163. package/src/login/components/group-label/group-label.component.ts +12 -12
  164. package/src/login/components/hello-world/hello-world.component.css +0 -0
  165. package/src/login/components/hello-world/hello-world.component.html +1 -0
  166. package/src/login/components/hello-world/hello-world.component.ts +10 -0
  167. package/src/login/components/index.ts +11 -11
  168. package/src/login/components/input-field-by-type/input-field-by-type.component.ts +15 -15
  169. package/src/login/components/input-tag/input-tag.component.ts +20 -20
  170. package/src/login/components/input-tag-selects/input-tag-selects.component.ts +26 -26
  171. package/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +8 -8
  172. package/src/login/components/password-wrapper/password-wrapper.component.ts +11 -11
  173. package/src/login/components/select-tag/select-tag.component.ts +16 -16
  174. package/src/login/components/textarea-tag/textarea-tag.component.ts +14 -14
  175. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +16 -16
  176. package/src/login/containers/template.component.ts +19 -19
  177. package/src/login/directives/attributes.directive.ts +2 -2
  178. package/src/login/directives/index.ts +2 -2
  179. package/src/login/directives/kc-class.directive.ts +11 -11
  180. package/src/login/i18n.ts +2 -2
  181. package/src/login/pages/code/code.component.ts +11 -11
  182. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +11 -11
  183. package/src/login/pages/delete-credential/delete-credential.component.ts +11 -11
  184. package/src/login/pages/error/error.component.ts +11 -11
  185. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +11 -11
  186. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +14 -14
  187. package/src/login/pages/info/info.component.ts +15 -15
  188. package/src/login/pages/login/login.component.ts +16 -16
  189. package/src/login/pages/login-config-totp/login-config-totp.component.ts +16 -16
  190. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +11 -11
  191. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +11 -11
  192. package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +11 -11
  193. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +13 -13
  194. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +11 -11
  195. package/src/login/pages/login-otp/login-otp.component.ts +13 -13
  196. package/src/login/pages/login-page-expired/login-page-expired.component.ts +10 -10
  197. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +21 -21
  198. package/src/login/pages/login-password/login-password.component.ts +14 -14
  199. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +13 -13
  200. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +13 -13
  201. package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +12 -12
  202. package/src/login/pages/login-reset-password/login-reset-password.component.ts +13 -13
  203. package/src/login/pages/login-update-password/login-update-password.component.ts +16 -16
  204. package/src/login/pages/login-update-profile/login-update-profile.component.ts +13 -13
  205. package/src/login/pages/login-username/login-username.component.ts +14 -14
  206. package/src/login/pages/login-verify-email/login-verify-email.component.ts +11 -11
  207. package/src/login/pages/login-x509-info/login-x509-info.component.ts +11 -11
  208. package/src/login/pages/logout-confirm/logout-confirm.component.ts +11 -11
  209. package/src/login/pages/register/register.component.ts +17 -17
  210. package/src/login/pages/saml-post-form/saml-post-form.component.ts +13 -13
  211. package/src/login/pages/select-authenticator/select-authenticator.component.ts +13 -13
  212. package/src/login/pages/terms/terms.component.ts +11 -11
  213. package/src/login/pages/update-email/update-email.component.ts +14 -14
  214. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +21 -21
  215. package/src/login/pages/webauthn-error/webauthn-error.component.ts +15 -15
  216. package/src/login/pages/webauthn-register/webauthn-register.component.ts +20 -20
  217. package/src/login/pipes/advanced-msg-str.pipe.ts +4 -4
  218. package/src/login/pipes/index.ts +6 -6
  219. package/src/login/pipes/input-type.pipe.ts +4 -4
  220. package/src/login/pipes/kc-sanitize.pipe.ts +8 -8
  221. package/src/login/pipes/msg-str.pipe.ts +5 -5
  222. package/src/login/pipes/to-array.pipe.ts +2 -2
  223. package/src/login/pipes/to-number.pipe.ts +3 -3
  224. package/src/login/services/index.ts +2 -2
  225. package/src/login/services/login-resource-injector.service.ts +11 -11
  226. package/src/login/services/user-profile-form.service.ts +178 -178
  227. package/stories/login/pages/login/login.stories.ts +146 -0
  228. package/lib/i18n.js +0 -6
  229. package/lib/i18n.js.map +0 -1
  230. package/lib/models/index.js +0 -2
  231. package/lib/models/index.js.map +0 -1
  232. package/lib/models/script.model.js +0 -2
  233. package/lib/models/script.model.js.map +0 -1
  234. package/lib/providers/keycloakify-angular.providers.js +0 -58
  235. package/lib/providers/keycloakify-angular.providers.js.map +0 -1
  236. package/lib/public-api.js +0 -4
  237. package/lib/public-api.js.map +0 -1
  238. package/lib/services/i18n.service.js +0 -14
  239. package/lib/services/i18n.service.js.map +0 -1
  240. package/lib/services/index.js +0 -3
  241. package/lib/services/index.js.map +0 -1
  242. package/lib/services/resource-injector.service.js +0 -57
  243. package/lib/services/resource-injector.service.js.map +0 -1
  244. package/login/DefaultPage.js +0 -121
  245. package/login/DefaultPage.js.map +0 -1
  246. package/login/KcContext.js +0 -2
  247. package/login/KcContext.js.map +0 -1
  248. package/login/classes/component-reference.class.js +0 -3
  249. package/login/classes/component-reference.class.js.map +0 -1
  250. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html +0 -24
  251. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.js +0 -123
  252. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.js.map +0 -1
  253. package/login/components/field-errors/field-errors.component.html +0 -15
  254. package/login/components/field-errors/field-errors.component.js +0 -45
  255. package/login/components/field-errors/field-errors.component.js.map +0 -1
  256. package/login/components/group-label/group-label.component.html +0 -30
  257. package/login/components/group-label/group-label.component.js +0 -55
  258. package/login/components/group-label/group-label.component.js.map +0 -1
  259. package/login/components/index.js +0 -12
  260. package/login/components/index.js.map +0 -1
  261. package/login/components/input-field-by-type/input-field-by-type.component.html +0 -63
  262. package/login/components/input-field-by-type/input-field-by-type.component.js +0 -63
  263. package/login/components/input-field-by-type/input-field-by-type.component.js.map +0 -1
  264. package/login/components/input-tag/input-tag.component.html +0 -49
  265. package/login/components/input-tag/input-tag.component.js +0 -107
  266. package/login/components/input-tag/input-tag.component.js.map +0 -1
  267. package/login/components/input-tag-selects/input-tag-selects.component.html +0 -29
  268. package/login/components/input-tag-selects/input-tag-selects.component.js +0 -132
  269. package/login/components/input-tag-selects/input-tag-selects.component.js.map +0 -1
  270. package/login/components/logout-other-sessions/logout-other-sessions.component.html +0 -19
  271. package/login/components/logout-other-sessions/logout-other-sessions.component.js +0 -43
  272. package/login/components/logout-other-sessions/logout-other-sessions.component.js.map +0 -1
  273. package/login/components/password-wrapper/password-wrapper.component.html +0 -15
  274. package/login/components/password-wrapper/password-wrapper.component.js +0 -57
  275. package/login/components/password-wrapper/password-wrapper.component.js.map +0 -1
  276. package/login/components/select-tag/select-tag.component.html +0 -31
  277. package/login/components/select-tag/select-tag.component.js +0 -97
  278. package/login/components/select-tag/select-tag.component.js.map +0 -1
  279. package/login/components/textarea-tag/textarea-tag.component.html +0 -18
  280. package/login/components/textarea-tag/textarea-tag.component.js +0 -63
  281. package/login/components/textarea-tag/textarea-tag.component.js.map +0 -1
  282. package/login/components/user-profile-form-fields/user-profile-form-fields.component.html +0 -85
  283. package/login/components/user-profile-form-fields/user-profile-form-fields.component.js +0 -74
  284. package/login/components/user-profile-form-fields/user-profile-form-fields.component.js.map +0 -1
  285. package/login/containers/template.component.html +0 -203
  286. package/login/containers/template.component.js +0 -78
  287. package/login/containers/template.component.js.map +0 -1
  288. package/login/directives/attributes.directive.js +0 -34
  289. package/login/directives/attributes.directive.js.map +0 -1
  290. package/login/directives/index.js +0 -3
  291. package/login/directives/index.js.map +0 -1
  292. package/login/directives/kc-class.directive.js +0 -146
  293. package/login/directives/kc-class.directive.js.map +0 -1
  294. package/login/i18n.js +0 -2
  295. package/login/i18n.js.map +0 -1
  296. package/login/pages/code/code.component.html +0 -26
  297. package/login/pages/code/code.component.js +0 -38
  298. package/login/pages/code/code.component.js.map +0 -1
  299. package/login/pages/delete-account-confirm/delete-account-confirm.component.html +0 -46
  300. package/login/pages/delete-account-confirm/delete-account-confirm.component.js +0 -38
  301. package/login/pages/delete-account-confirm/delete-account-confirm.component.js.map +0 -1
  302. package/login/pages/delete-credential/delete-credential.component.html +0 -35
  303. package/login/pages/delete-credential/delete-credential.component.js +0 -43
  304. package/login/pages/delete-credential/delete-credential.component.js.map +0 -1
  305. package/login/pages/error/error.component.html +0 -25
  306. package/login/pages/error/error.component.js +0 -38
  307. package/login/pages/error/error.component.js.map +0 -1
  308. package/login/pages/frontchannel-logout/frontchannel-logout.component.html +0 -35
  309. package/login/pages/frontchannel-logout/frontchannel-logout.component.js +0 -47
  310. package/login/pages/frontchannel-logout/frontchannel-logout.component.js.map +0 -1
  311. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +0 -41
  312. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.js +0 -54
  313. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.js.map +0 -1
  314. package/login/pages/info/info.component.html +0 -54
  315. package/login/pages/info/info.component.js +0 -61
  316. package/login/pages/info/info.component.js.map +0 -1
  317. package/login/pages/login/login.component.html +0 -212
  318. package/login/pages/login/login.component.js +0 -58
  319. package/login/pages/login/login.component.js.map +0 -1
  320. package/login/pages/login-config-totp/login-config-totp.component.html +0 -190
  321. package/login/pages/login-config-totp/login-config-totp.component.js +0 -53
  322. package/login/pages/login-config-totp/login-config-totp.component.js.map +0 -1
  323. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +0 -41
  324. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.js +0 -43
  325. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.js.map +0 -1
  326. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +0 -40
  327. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.js +0 -43
  328. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.js.map +0 -1
  329. package/login/pages/login-idp-link-email/login-idp-link-email.component.html +0 -37
  330. package/login/pages/login-idp-link-email/login-idp-link-email.component.js +0 -43
  331. package/login/pages/login-idp-link-email/login-idp-link-email.component.js.map +0 -1
  332. package/login/pages/login-oauth-grant/login-oauth-grant.component.html +0 -92
  333. package/login/pages/login-oauth-grant/login-oauth-grant.component.js +0 -44
  334. package/login/pages/login-oauth-grant/login-oauth-grant.component.js.map +0 -1
  335. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +0 -63
  336. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.js +0 -43
  337. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.js.map +0 -1
  338. package/login/pages/login-otp/login-otp.component.html +0 -103
  339. package/login/pages/login-otp/login-otp.component.js +0 -44
  340. package/login/pages/login-otp/login-otp.component.js.map +0 -1
  341. package/login/pages/login-page-expired/login-page-expired.component.html +0 -35
  342. package/login/pages/login-page-expired/login-page-expired.component.js +0 -42
  343. package/login/pages/login-page-expired/login-page-expired.component.js.map +0 -1
  344. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +0 -203
  345. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.js +0 -91
  346. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.js.map +0 -1
  347. package/login/pages/login-password/login-password.component.html +0 -90
  348. package/login/pages/login-password/login-password.component.js +0 -52
  349. package/login/pages/login-password/login-password.component.js.map +0 -1
  350. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +0 -155
  351. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.js +0 -51
  352. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.js.map +0 -1
  353. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +0 -76
  354. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.js +0 -44
  355. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.js.map +0 -1
  356. package/login/pages/login-reset-otp/login-reset-otp.component.html +0 -65
  357. package/login/pages/login-reset-otp/login-reset-otp.component.js +0 -43
  358. package/login/pages/login-reset-otp/login-reset-otp.component.js.map +0 -1
  359. package/login/pages/login-reset-password/login-reset-password.component.html +0 -95
  360. package/login/pages/login-reset-password/login-reset-password.component.js +0 -44
  361. package/login/pages/login-reset-password/login-reset-password.component.js.map +0 -1
  362. package/login/pages/login-update-password/login-update-password.component.html +0 -116
  363. package/login/pages/login-update-password/login-update-password.component.js +0 -53
  364. package/login/pages/login-update-password/login-update-password.component.js.map +0 -1
  365. package/login/pages/login-update-profile/login-update-profile.component.html +0 -59
  366. package/login/pages/login-update-profile/login-update-profile.component.js +0 -50
  367. package/login/pages/login-update-profile/login-update-profile.component.js.map +0 -1
  368. package/login/pages/login-username/login-username.component.html +0 -161
  369. package/login/pages/login-username/login-username.component.js +0 -56
  370. package/login/pages/login-username/login-username.component.js.map +0 -1
  371. package/login/pages/login-verify-email/login-verify-email.component.html +0 -27
  372. package/login/pages/login-verify-email/login-verify-email.component.js +0 -43
  373. package/login/pages/login-verify-email/login-verify-email.component.js.map +0 -1
  374. package/login/pages/login-x509-info/login-x509-info.component.html +0 -102
  375. package/login/pages/login-x509-info/login-x509-info.component.js +0 -43
  376. package/login/pages/login-x509-info/login-x509-info.component.js.map +0 -1
  377. package/login/pages/logout-confirm/logout-confirm.component.html +0 -59
  378. package/login/pages/logout-confirm/logout-confirm.component.js +0 -43
  379. package/login/pages/logout-confirm/logout-confirm.component.js.map +0 -1
  380. package/login/pages/register/register.component.html +0 -126
  381. package/login/pages/register/register.component.js +0 -62
  382. package/login/pages/register/register.component.js.map +0 -1
  383. package/login/pages/saml-post-form/saml-post-form.component.html +0 -51
  384. package/login/pages/saml-post-form/saml-post-form.component.js +0 -55
  385. package/login/pages/saml-post-form/saml-post-form.component.js.map +0 -1
  386. package/login/pages/select-authenticator/select-authenticator.component.html +0 -49
  387. package/login/pages/select-authenticator/select-authenticator.component.js +0 -51
  388. package/login/pages/select-authenticator/select-authenticator.component.js.map +0 -1
  389. package/login/pages/terms/terms.component.html +0 -36
  390. package/login/pages/terms/terms.component.js +0 -43
  391. package/login/pages/terms/terms.component.js.map +0 -1
  392. package/login/pages/update-email/update-email.component.html +0 -58
  393. package/login/pages/update-email/update-email.component.js +0 -52
  394. package/login/pages/update-email/update-email.component.js.map +0 -1
  395. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +0 -162
  396. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.js +0 -93
  397. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.js.map +0 -1
  398. package/login/pages/webauthn-error/webauthn-error.component.html +0 -60
  399. package/login/pages/webauthn-error/webauthn-error.component.js +0 -57
  400. package/login/pages/webauthn-error/webauthn-error.component.js.map +0 -1
  401. package/login/pages/webauthn-register/webauthn-register.component.html +0 -82
  402. package/login/pages/webauthn-register/webauthn-register.component.js +0 -86
  403. package/login/pages/webauthn-register/webauthn-register.component.js.map +0 -1
  404. package/login/pipes/advanced-msg-str.pipe.js +0 -31
  405. package/login/pipes/advanced-msg-str.pipe.js.map +0 -1
  406. package/login/pipes/index.js +0 -7
  407. package/login/pipes/index.js.map +0 -1
  408. package/login/pipes/input-type.pipe.js +0 -23
  409. package/login/pipes/input-type.pipe.js.map +0 -1
  410. package/login/pipes/kc-sanitize.pipe.js +0 -36
  411. package/login/pipes/kc-sanitize.pipe.js.map +0 -1
  412. package/login/pipes/msg-str.pipe.js +0 -31
  413. package/login/pipes/msg-str.pipe.js.map +0 -1
  414. package/login/pipes/to-array.pipe.js +0 -24
  415. package/login/pipes/to-array.pipe.js.map +0 -1
  416. package/login/pipes/to-number.pipe.js +0 -23
  417. package/login/pipes/to-number.pipe.js.map +0 -1
  418. package/login/services/index.js +0 -3
  419. package/login/services/index.js.map +0 -1
  420. package/login/services/login-resource-injector.service.js +0 -71
  421. package/login/services/login-resource-injector.service.js.map +0 -1
  422. package/login/services/user-profile-form.service.js +0 -1031
  423. package/login/services/user-profile-form.service.js.map +0 -1
@@ -1,6 +1,7 @@
1
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
2
- import { KcContext } from "keycloakify/login/KcContext";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
1
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
2
+ import { KcContext } from 'keycloakify/login/KcContext';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class LoginOauth2DeviceVerifyUserCodeComponent extends ComponentReference {
5
6
  kcContext: KcContext.LoginDeviceVerifyUserCode;
6
7
  doUseDefaultCss: boolean;
@@ -10,4 +11,6 @@ export declare class LoginOauth2DeviceVerifyUserCodeComponent extends ComponentR
10
11
  bodyClassName: import("@angular/core").InputSignal<string | undefined>;
11
12
  displayInfo: boolean;
12
13
  displayMessage: boolean;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginOauth2DeviceVerifyUserCodeComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginOauth2DeviceVerifyUserCodeComponent, "kc-root", never, { "displayRequiredFields": { "alias": "displayRequiredFields"; "required": false; "isSignal": true; }; "documentTitle": { "alias": "documentTitle"; "required": false; "isSignal": true; }; "bodyClassName": { "alias": "bodyClassName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
16
  }
@@ -0,0 +1,37 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';
2
+ import { CLASSES, KC_CONTEXT, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { TemplateComponent } from '../../../login/containers/template.component';
5
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
6
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
7
+ import * as i0 from "@angular/core";
8
+ export class LoginOauth2DeviceVerifyUserCodeComponent extends ComponentReference {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.kcContext = inject(KC_CONTEXT);
12
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
13
+ this.classes = inject(CLASSES);
14
+ this.displayRequiredFields = input(false);
15
+ this.documentTitle = input();
16
+ this.bodyClassName = input();
17
+ this.displayInfo = false;
18
+ this.displayMessage = false;
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginOauth2DeviceVerifyUserCodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: LoginOauth2DeviceVerifyUserCodeComponent, 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: [
22
+ {
23
+ provide: ComponentReference,
24
+ useExisting: forwardRef(() => LoginOauth2DeviceVerifyUserCodeComponent)
25
+ }
26
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"documentTitle()\"\n>\n <ng-container headerNode>\n {{ 'oauth2DeviceVerificationTitle' | msgStr }}\n </ng-container>\n <ng-container content>\n <form\n id=\"kc-user-verify-device-user-code-form\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.oauth2DeviceVerificationAction\"\n method=\"post\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"device-user-code\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'verifyOAuth2DeviceUserCode' | msgStr }}\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n id=\"device-user-code\"\n name=\"device_user_code\"\n autoComplete=\"off\"\n type=\"text\"\n [kcClass]=\"'kcInputClass'\"\n autofocus\n />\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <div [kcClass]=\"'kcFormButtonsWrapperClass'\">\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n type=\"submit\"\n value=\"{{ 'doSubmit' | msgStr }}\"\n />\n </div>\n </div>\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: "pipe", type: MsgStrPipe, name: "msgStr" }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginOauth2DeviceVerifyUserCodeComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ standalone: true, imports: [TemplateComponent, MsgStrPipe, KcClassDirective], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
31
+ {
32
+ provide: ComponentReference,
33
+ useExisting: forwardRef(() => LoginOauth2DeviceVerifyUserCodeComponent)
34
+ }
35
+ ], template: "@let url = kcContext.url;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"documentTitle()\"\n>\n <ng-container headerNode>\n {{ 'oauth2DeviceVerificationTitle' | msgStr }}\n </ng-container>\n <ng-container content>\n <form\n id=\"kc-user-verify-device-user-code-form\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.oauth2DeviceVerificationAction\"\n method=\"post\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"device-user-code\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'verifyOAuth2DeviceUserCode' | msgStr }}\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n id=\"device-user-code\"\n name=\"device_user_code\"\n autoComplete=\"off\"\n type=\"text\"\n [kcClass]=\"'kcInputClass'\"\n autofocus\n />\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <div [kcClass]=\"'kcFormButtonsWrapperClass'\">\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n type=\"submit\"\n value=\"{{ 'doSubmit' | msgStr }}\"\n />\n </div>\n </div>\n </div>\n </form>\n </ng-container>\n</kc-login-template>\n" }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tb2F1dGgyLWRldmljZS12ZXJpZnktdXNlci1jb2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLW9hdXRoMi1kZXZpY2UtdmVyaWZ5LXVzZXItY29kZS9sb2dpbi1vYXV0aDItZGV2aWNlLXZlcmlmeS11c2VyLWNvZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tb2F1dGgyLWRldmljZS12ZXJpZnktdXNlci1jb2RlL2xvZ2luLW9hdXRoMi1kZXZpY2UtdmVyaWZ5LXVzZXItY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLFVBQVUsRUFDVixlQUFlLEVBQ2xCLE1BQU0scUNBQXFDLENBQUM7QUFHN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQWUzRSxNQUFNLE9BQU8sd0NBQXlDLFNBQVEsa0JBQWtCO0lBYmhGOztRQWNJLGNBQVMsR0FDTCxNQUFNLENBRUosVUFBVSxDQUFDLENBQUM7UUFDVCxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FBQztRQUN0RSwwQkFBcUIsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQVksS0FBSyxDQUFDO0tBQ25DOzhHQVpZLHdDQUF3QztrR0FBeEMsd0NBQXdDLDBnQkFQdEM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQzFFO1NBQ0osaURDOUJMLHMyREErREEsNENEMUNjLGlCQUFpQiwrSkFBRSxVQUFVLCtDQUFFLGdCQUFnQjs7MkZBV2hELHdDQUF3QztrQkFicEQsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsWUFDaEQsU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlDQUF5QyxDQUFDO3lCQUMxRTtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDTEFTU0VTLFxuICAgIEtDX0NPTlRFWFQsXG4gICAgVVNFX0RFRkFVTFRfQ1NTXG59IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBLY0NvbnRleHQgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29udGFpbmVycy90ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1zZ1N0clBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9tc2ctc3RyLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUZW1wbGF0ZUNvbXBvbmVudCwgTXNnU3RyUGlwZSwgS2NDbGFzc0RpcmVjdGl2ZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2xvZ2luLW9hdXRoMi1kZXZpY2UtdmVyaWZ5LXVzZXItY29kZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ2luT2F1dGgyRGV2aWNlVmVyaWZ5VXNlckNvZGVDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luT2F1dGgyRGV2aWNlVmVyaWZ5VXNlckNvZGVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9XG4gICAgICAgIGluamVjdDxcbiAgICAgICAgICAgIEV4dHJhY3Q8S2NDb250ZXh0LCB7IHBhZ2VJZDogJ2xvZ2luLW9hdXRoMi1kZXZpY2UtdmVyaWZ5LXVzZXItY29kZS5mdGwnIH0+XG4gICAgICAgID4oS0NfQ09OVEVYVCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xuICAgIGRpc3BsYXlSZXF1aXJlZEZpZWxkcyA9IGlucHV0KGZhbHNlKTtcbiAgICBkb2N1bWVudFRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIGJvZHlDbGFzc05hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgZGlzcGxheUluZm86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBkaXNwbGF5TWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xufVxuIiwiQGxldCB1cmwgPSBrY0NvbnRleHQudXJsO1xuPGtjLWxvZ2luLXRlbXBsYXRlXG4gIFtkaXNwbGF5SW5mb109XCJkaXNwbGF5SW5mb1wiXG4gIFtib2R5Q2xhc3NOYW1lXT1cImJvZHlDbGFzc05hbWUoKVwiXG4gIFtkaXNwbGF5TWVzc2FnZV09XCJkaXNwbGF5TWVzc2FnZVwiXG4gIFtkaXNwbGF5UmVxdWlyZWRGaWVsZHNdPVwiZGlzcGxheVJlcXVpcmVkRmllbGRzKClcIlxuICBbZG9jdW1lbnRUaXRsZV09XCJkb2N1bWVudFRpdGxlKClcIlxuPlxuICA8bmctY29udGFpbmVyIGhlYWRlck5vZGU+XG4gICAge3sgJ29hdXRoMkRldmljZVZlcmlmaWNhdGlvblRpdGxlJyB8IG1zZ1N0ciB9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBjb250ZW50PlxuICAgIDxmb3JtXG4gICAgICBpZD1cImtjLXVzZXItdmVyaWZ5LWRldmljZS11c2VyLWNvZGUtZm9ybVwiXG4gICAgICBba2NDbGFzc109XCIna2NGb3JtQ2xhc3MnXCJcbiAgICAgIFthY3Rpb25dPVwidXJsLm9hdXRoMkRldmljZVZlcmlmaWNhdGlvbkFjdGlvblwiXG4gICAgICBtZXRob2Q9XCJwb3N0XCJcbiAgICA+XG4gICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0xhYmVsV3JhcHBlckNsYXNzJ1wiPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgZm9yPVwiZGV2aWNlLXVzZXItY29kZVwiXG4gICAgICAgICAgICBba2NDbGFzc109XCIna2NMYWJlbENsYXNzJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3ZlcmlmeU9BdXRoMkRldmljZVVzZXJDb2RlJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBpZD1cImRldmljZS11c2VyLWNvZGVcIlxuICAgICAgICAgICAgbmFtZT1cImRldmljZV91c2VyX2NvZGVcIlxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0Q2xhc3MnXCJcbiAgICAgICAgICAgIGF1dG9mb2N1c1xuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJrYy1mb3JtLW9wdGlvbnNcIlxuICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zQ2xhc3MnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybU9wdGlvbnNXcmFwcGVyQ2xhc3MnXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD1cImtjLWZvcm0tYnV0dG9uc1wiXG4gICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtQnV0dG9uc1dyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgdmFsdWU9XCJ7eyAnZG9TdWJtaXQnIHwgbXNnU3RyIH19XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L25nLWNvbnRhaW5lcj5cbjwva2MtbG9naW4tdGVtcGxhdGU+XG4iXX0=
@@ -1,6 +1,7 @@
1
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
2
- import { KcContext } from "keycloakify/login/KcContext";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
1
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
2
+ import { KcContext } from 'keycloakify/login/KcContext';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class LoginOtpComponent extends ComponentReference {
5
6
  kcContext: KcContext.LoginOtp;
6
7
  doUseDefaultCss: boolean;
@@ -10,4 +11,6 @@ export declare class LoginOtpComponent extends ComponentReference {
10
11
  bodyClassName: import("@angular/core").InputSignal<string | undefined>;
11
12
  displayInfo: boolean;
12
13
  displayMessage: boolean;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginOtpComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginOtpComponent, "kc-root", never, { "displayRequiredFields": { "alias": "displayRequiredFields"; "required": false; "isSignal": true; }; "documentTitle": { "alias": "documentTitle"; "required": false; "isSignal": true; }; "bodyClassName": { "alias": "bodyClassName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
16
  }
@@ -0,0 +1,38 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';
2
+ import { CLASSES, KC_CONTEXT, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { TemplateComponent } from '../../../login/containers/template.component';
5
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
6
+ import { KcSanitizePipe } from '../../../login/pipes/kc-sanitize.pipe';
7
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
8
+ import * as i0 from "@angular/core";
9
+ export class LoginOtpComponent extends ComponentReference {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.kcContext = inject(KC_CONTEXT);
13
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
14
+ this.classes = inject(CLASSES);
15
+ this.displayRequiredFields = input(false);
16
+ this.documentTitle = input();
17
+ this.bodyClassName = input();
18
+ this.displayInfo = false;
19
+ this.displayMessage = this.kcContext.messagesPerField.existsError('totp');
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginOtpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: LoginOtpComponent, 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: [
23
+ {
24
+ provide: ComponentReference,
25
+ useExisting: forwardRef(() => LoginOtpComponent)
26
+ }
27
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let otpLogin = kcContext.otpLogin;\n@let messagesPerField = kcContext.messagesPerField;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"documentTitle()\"\n>\n <ng-container headerNode>\n {{ 'doLogIn' | msgStr }}\n </ng-container>\n <ng-container content>\n <form\n id=\"kc-otp-login-form\"\n [kcClass]=\"['kcFormClass']\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n @if (otpLogin.userOtpCredentials.length > 1) {\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @for (otpCredential of otpLogin.userOtpCredentials; track otpCredential; let i = $index) {\n <ng-container>\n <input\n [id]=\"'kc-otp-credential-' + i\"\n [kcClass]=\"'kcLoginOTPListClass'\"\n type=\"radio\"\n name=\"selectedCredentialId\"\n [value]=\"otpCredential.id\"\n [checked]=\"otpCredential.id === otpLogin.selectedCredentialId\"\n />\n <label\n [for]=\"'kc-otp-credential-' + i\"\n [kcClass]=\"'kcLoginOTPListClass'\"\n [tabIndex]=\"i\"\n >\n <span [kcClass]=\"'kcLoginOTPListItemHeaderClass'\">\n <span [kcClass]=\"'kcLoginOTPListItemIconBodyClass'\">\n <i\n [kcClass]=\"'kcLoginOTPListItemIconClass'\"\n aria-hidden=\"true\"\n ></i>\n </span>\n <span [kcClass]=\"'kcLoginOTPListItemTitleClass'\">{{ otpCredential.userLabel }}</span>\n </span>\n </label>\n </ng-container>\n }\n </div>\n </div>\n }\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"otp\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'loginOtpOneTime' | msgStr }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n id=\"otp\"\n name=\"otp\"\n autoComplete=\"off\"\n type=\"text\"\n [kcClass]=\"'kcInputClass'\"\n autoFocus\n [attr.aria-invalid]=\"messagesPerField.existsError('totp')\"\n />\n @if (messagesPerField.existsError('totp')) {\n <span\n id=\"input-error-otp-code\"\n [kcClass]=\"['kcInputErrorMessageClass']\"\n aria-live=\"polite\"\n [innerHTML]=\"messagesPerField.get('totp') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n ></div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n value=\"{{ 'doLogIn' | msgStr }}\"\n />\n </div>\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"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginOtpComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ standalone: true, imports: [TemplateComponent, KcClassDirective, MsgStrPipe, KcSanitizePipe], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
32
+ {
33
+ provide: ComponentReference,
34
+ useExisting: forwardRef(() => LoginOtpComponent)
35
+ }
36
+ ], template: "@let url = kcContext.url;\n@let otpLogin = kcContext.otpLogin;\n@let messagesPerField = kcContext.messagesPerField;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"documentTitle()\"\n>\n <ng-container headerNode>\n {{ 'doLogIn' | msgStr }}\n </ng-container>\n <ng-container content>\n <form\n id=\"kc-otp-login-form\"\n [kcClass]=\"['kcFormClass']\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n @if (otpLogin.userOtpCredentials.length > 1) {\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @for (otpCredential of otpLogin.userOtpCredentials; track otpCredential; let i = $index) {\n <ng-container>\n <input\n [id]=\"'kc-otp-credential-' + i\"\n [kcClass]=\"'kcLoginOTPListClass'\"\n type=\"radio\"\n name=\"selectedCredentialId\"\n [value]=\"otpCredential.id\"\n [checked]=\"otpCredential.id === otpLogin.selectedCredentialId\"\n />\n <label\n [for]=\"'kc-otp-credential-' + i\"\n [kcClass]=\"'kcLoginOTPListClass'\"\n [tabIndex]=\"i\"\n >\n <span [kcClass]=\"'kcLoginOTPListItemHeaderClass'\">\n <span [kcClass]=\"'kcLoginOTPListItemIconBodyClass'\">\n <i\n [kcClass]=\"'kcLoginOTPListItemIconClass'\"\n aria-hidden=\"true\"\n ></i>\n </span>\n <span [kcClass]=\"'kcLoginOTPListItemTitleClass'\">{{ otpCredential.userLabel }}</span>\n </span>\n </label>\n </ng-container>\n }\n </div>\n </div>\n }\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"otp\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'loginOtpOneTime' | msgStr }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n id=\"otp\"\n name=\"otp\"\n autoComplete=\"off\"\n type=\"text\"\n [kcClass]=\"'kcInputClass'\"\n autoFocus\n [attr.aria-invalid]=\"messagesPerField.existsError('totp')\"\n />\n @if (messagesPerField.existsError('totp')) {\n <span\n id=\"input-error-otp-code\"\n [kcClass]=\"['kcInputErrorMessageClass']\"\n aria-live=\"polite\"\n [innerHTML]=\"messagesPerField.get('totp') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n ></div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n value=\"{{ 'doLogIn' | msgStr }}\"\n />\n </div>\n </div>\n </form>\n </ng-container>\n</kc-login-template>\n" }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tb3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLW90cC9sb2dpbi1vdHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tb3RwL2xvZ2luLW90cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLFVBQVUsRUFDVixlQUFlLEVBQ2xCLE1BQU0scUNBQXFDLENBQUM7QUFHN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFlM0UsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQWJ6RDs7UUFjSSxjQUFTLEdBQUcsTUFBTSxDQUFrRCxVQUFVLENBQUMsQ0FBQztRQUN2RSxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FBQztRQUN0RSwwQkFBcUIsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDakY7OEdBVFksaUJBQWlCO2tHQUFqQixpQkFBaUIsMGdCQVBmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNuRDtTQUNKLGlEQy9CTCxnakhBdUdBLDRDRGpGYyxpQkFBaUIsb0tBQUUsZ0JBQWdCLDBGQUFFLFVBQVUsMENBQUUsY0FBYzs7MkZBV2hFLGlCQUFpQjtrQkFiN0IsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLFlBQ2hFLFNBQVMsbUJBRUYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzt5QkFDbkQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ0xBU1NFUyxcbiAgICBLQ19DT05URVhULFxuICAgIFVTRV9ERUZBVUxUX0NTU1xufSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgS2NDb250ZXh0IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbnRhaW5lcnMvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBLY1Nhbml0aXplUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL2tjLXNhbml0aXplLnBpcGUnO1xuaW1wb3J0IHsgTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL21zZy1zdHIucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RlbXBsYXRlQ29tcG9uZW50LCBLY0NsYXNzRGlyZWN0aXZlLCBNc2dTdHJQaXBlLCBLY1Nhbml0aXplUGlwZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2xvZ2luLW90cC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ2luT3RwQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbk90cENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAga2NDb250ZXh0ID0gaW5qZWN0PEV4dHJhY3Q8S2NDb250ZXh0LCB7IHBhZ2VJZDogJ2xvZ2luLW90cC5mdGwnIH0+PihLQ19DT05URVhUKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG4gICAgZGlzcGxheVJlcXVpcmVkRmllbGRzID0gaW5wdXQoZmFsc2UpO1xuICAgIGRvY3VtZW50VGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgYm9keUNsYXNzTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgICBkaXNwbGF5SW5mbzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGRpc3BsYXlNZXNzYWdlOiBib29sZWFuID0gdGhpcy5rY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigndG90cCcpO1xufVxuIiwiQGxldCB1cmwgPSBrY0NvbnRleHQudXJsO1xuQGxldCBvdHBMb2dpbiA9IGtjQ29udGV4dC5vdHBMb2dpbjtcbkBsZXQgbWVzc2FnZXNQZXJGaWVsZCA9IGtjQ29udGV4dC5tZXNzYWdlc1BlckZpZWxkO1xuPGtjLWxvZ2luLXRlbXBsYXRlXG4gIFtkaXNwbGF5SW5mb109XCJkaXNwbGF5SW5mb1wiXG4gIFtib2R5Q2xhc3NOYW1lXT1cImJvZHlDbGFzc05hbWUoKVwiXG4gIFtkaXNwbGF5TWVzc2FnZV09XCJkaXNwbGF5TWVzc2FnZVwiXG4gIFtkaXNwbGF5UmVxdWlyZWRGaWVsZHNdPVwiZGlzcGxheVJlcXVpcmVkRmllbGRzKClcIlxuICBbZG9jdW1lbnRUaXRsZV09XCJkb2N1bWVudFRpdGxlKClcIlxuPlxuICA8bmctY29udGFpbmVyIGhlYWRlck5vZGU+XG4gICAge3sgJ2RvTG9nSW4nIHwgbXNnU3RyIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIGNvbnRlbnQ+XG4gICAgPGZvcm1cbiAgICAgIGlkPVwia2Mtb3RwLWxvZ2luLWZvcm1cIlxuICAgICAgW2tjQ2xhc3NdPVwiWydrY0Zvcm1DbGFzcyddXCJcbiAgICAgIFthY3Rpb25dPVwidXJsLmxvZ2luQWN0aW9uXCJcbiAgICAgIG1ldGhvZD1cInBvc3RcIlxuICAgID5cbiAgICAgIEBpZiAob3RwTG9naW4udXNlck90cENyZWRlbnRpYWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIj5cbiAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0lucHV0V3JhcHBlckNsYXNzJ1wiPlxuICAgICAgICAgICAgQGZvciAob3RwQ3JlZGVudGlhbCBvZiBvdHBMb2dpbi51c2VyT3RwQ3JlZGVudGlhbHM7IHRyYWNrIG90cENyZWRlbnRpYWw7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBbaWRdPVwiJ2tjLW90cC1jcmVkZW50aWFsLScgKyBpXCJcbiAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cInNlbGVjdGVkQ3JlZGVudGlhbElkXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvdHBDcmVkZW50aWFsLmlkXCJcbiAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIm90cENyZWRlbnRpYWwuaWQgPT09IG90cExvZ2luLnNlbGVjdGVkQ3JlZGVudGlhbElkXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgW2Zvcl09XCIna2Mtb3RwLWNyZWRlbnRpYWwtJyArIGlcIlxuICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTG9naW5PVFBMaXN0Q2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgIFt0YWJJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBba2NDbGFzc109XCIna2NMb2dpbk9UUExpc3RJdGVtSGVhZGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdEl0ZW1JY29uQm9keUNsYXNzJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NMb2dpbk9UUExpc3RJdGVtSWNvbkNsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2tjQ2xhc3NdPVwiJ2tjTG9naW5PVFBMaXN0SXRlbVRpdGxlQ2xhc3MnXCI+e3sgb3RwQ3JlZGVudGlhbC51c2VyTGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIj5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NMYWJlbFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIGZvcj1cIm90cFwiXG4gICAgICAgICAgICBba2NDbGFzc109XCIna2NMYWJlbENsYXNzJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ2xvZ2luT3RwT25lVGltZScgfCBtc2dTdHIgfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NJbnB1dFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGlkPVwib3RwXCJcbiAgICAgICAgICAgIG5hbWU9XCJvdHBcIlxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0Q2xhc3MnXCJcbiAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3RvdHAnKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICBAaWYgKG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3RvdHAnKSkge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgaWQ9XCJpbnB1dC1lcnJvci1vdHAtY29kZVwiXG4gICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NJbnB1dEVycm9yTWVzc2FnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIm1lc3NhZ2VzUGVyRmllbGQuZ2V0KCd0b3RwJykgfCBrY1Nhbml0aXplOiAnaHRtbCdcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJrYy1mb3JtLW9wdGlvbnNcIlxuICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zQ2xhc3MnXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJrYy1mb3JtLWJ1dHRvbnNcIlxuICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1CdXR0b25zQ2xhc3MnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiWydrY0J1dHRvbkNsYXNzJywgJ2tjQnV0dG9uUHJpbWFyeUNsYXNzJywgJ2tjQnV0dG9uQmxvY2tDbGFzcycsICdrY0J1dHRvbkxhcmdlQ2xhc3MnXVwiXG4gICAgICAgICAgICBuYW1lPVwibG9naW5cIlxuICAgICAgICAgICAgaWQ9XCJrYy1sb2dpblwiXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIHZhbHVlPVwie3sgJ2RvTG9nSW4nIHwgbXNnU3RyIH19XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgPC9uZy1jb250YWluZXI+XG48L2tjLWxvZ2luLXRlbXBsYXRlPlxuIl19
@@ -1,6 +1,7 @@
1
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
2
- import { KcContext } from "keycloakify/login/KcContext";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
1
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
2
+ import { KcContext } from 'keycloakify/login/KcContext';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class LoginPageExpiredComponent extends ComponentReference {
5
6
  kcContext: KcContext.LoginPageExpired;
6
7
  doUseDefaultCss: boolean;
@@ -10,4 +11,6 @@ export declare class LoginPageExpiredComponent extends ComponentReference {
10
11
  bodyClassName: import("@angular/core").InputSignal<string | undefined>;
11
12
  displayInfo: boolean;
12
13
  displayMessage: boolean;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginPageExpiredComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginPageExpiredComponent, "kc-root", never, { "displayRequiredFields": { "alias": "displayRequiredFields"; "required": false; "isSignal": true; }; "documentTitle": { "alias": "documentTitle"; "required": false; "isSignal": true; }; "bodyClassName": { "alias": "bodyClassName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
16
  }
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';
2
+ import { CLASSES, KC_CONTEXT, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { TemplateComponent } from '../../../login/containers/template.component';
5
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
6
+ import * as i0 from "@angular/core";
7
+ export class LoginPageExpiredComponent extends ComponentReference {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.kcContext = inject(KC_CONTEXT);
11
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
12
+ this.classes = inject(CLASSES);
13
+ this.displayRequiredFields = input(false);
14
+ this.documentTitle = input();
15
+ this.bodyClassName = input();
16
+ this.displayInfo = false;
17
+ this.displayMessage = false;
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginPageExpiredComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: LoginPageExpiredComponent, 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: [
21
+ {
22
+ provide: ComponentReference,
23
+ useExisting: forwardRef(() => LoginPageExpiredComponent)
24
+ }
25
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"documentTitle()\"\n>\n <ng-container headerNode>\n {{ 'pageExpiredTitle' | msgStr }}\n </ng-container>\n <ng-container content>\n <p\n id=\"instruction1\"\n class=\"instruction\"\n >\n {{ 'pageExpiredMsg1' | msgStr }}\n <a\n id=\"loginRestartLink\"\n [href]=\"url.loginRestartFlowUrl\"\n >\n {{ 'doClickHere' | msgStr }}\n </a>\n .<br />\n {{ 'pageExpiredMsg2' | msgStr }}\n <a\n id=\"loginContinueLink\"\n [href]=\"url.loginAction\"\n >\n {{ 'doClickHere' | msgStr }}\n </a>\n .\n </p>\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: MsgStrPipe, name: "msgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginPageExpiredComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ standalone: true, imports: [TemplateComponent, MsgStrPipe], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30
+ {
31
+ provide: ComponentReference,
32
+ useExisting: forwardRef(() => LoginPageExpiredComponent)
33
+ }
34
+ ], template: "@let url = kcContext.url;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"documentTitle()\"\n>\n <ng-container headerNode>\n {{ 'pageExpiredTitle' | msgStr }}\n </ng-container>\n <ng-container content>\n <p\n id=\"instruction1\"\n class=\"instruction\"\n >\n {{ 'pageExpiredMsg1' | msgStr }}\n <a\n id=\"loginRestartLink\"\n [href]=\"url.loginRestartFlowUrl\"\n >\n {{ 'doClickHere' | msgStr }}\n </a>\n .<br />\n {{ 'pageExpiredMsg2' | msgStr }}\n <a\n id=\"loginContinueLink\"\n [href]=\"url.loginAction\"\n >\n {{ 'doClickHere' | msgStr }}\n </a>\n .\n </p>\n </ng-container>\n</kc-login-template>\n" }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFnZS1leHBpcmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLXBhZ2UtZXhwaXJlZC9sb2dpbi1wYWdlLWV4cGlyZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tcGFnZS1leHBpcmVkL2xvZ2luLXBhZ2UtZXhwaXJlZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLFVBQVUsRUFDVixlQUFlLEVBQ2xCLE1BQU0scUNBQXFDLENBQUM7QUFHN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQWUzRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsa0JBQWtCO0lBYmpFOztRQWNJLGNBQVMsR0FDTCxNQUFNLENBQTJELFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLDBCQUFxQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDaEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7S0FDbkM7OEdBVlkseUJBQXlCO2tHQUF6Qix5QkFBeUIsMGdCQVB2QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDM0Q7U0FDSixpREM3QkwsaTNCQW1DQSw0Q0RmYyxpQkFBaUIsK0pBQUUsVUFBVTs7MkZBVzlCLHlCQUF5QjtrQkFickMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsWUFDOUIsU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO3lCQUMzRDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDTEFTU0VTLFxuICAgIEtDX0NPTlRFWFQsXG4gICAgVVNFX0RFRkFVTFRfQ1NTXG59IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBLY0NvbnRleHQgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29udGFpbmVycy90ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL21zZy1zdHIucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RlbXBsYXRlQ29tcG9uZW50LCBNc2dTdHJQaXBlXSxcbiAgICBzZWxlY3RvcjogJ2tjLXJvb3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnbG9naW4tcGFnZS1leHBpcmVkLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTG9naW5QYWdlRXhwaXJlZENvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5QYWdlRXhwaXJlZENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAga2NDb250ZXh0ID1cbiAgICAgICAgaW5qZWN0PEV4dHJhY3Q8S2NDb250ZXh0LCB7IHBhZ2VJZDogJ2xvZ2luLXBhZ2UtZXhwaXJlZC5mdGwnIH0+PihLQ19DT05URVhUKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG4gICAgZGlzcGxheVJlcXVpcmVkRmllbGRzID0gaW5wdXQoZmFsc2UpO1xuICAgIGRvY3VtZW50VGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgYm9keUNsYXNzTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgICBkaXNwbGF5SW5mbzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGRpc3BsYXlNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XG59XG4iLCJAbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG48a2MtbG9naW4tdGVtcGxhdGVcbiAgW2Rpc3BsYXlJbmZvXT1cImRpc3BsYXlJbmZvXCJcbiAgW2JvZHlDbGFzc05hbWVdPVwiYm9keUNsYXNzTmFtZSgpXCJcbiAgW2Rpc3BsYXlNZXNzYWdlXT1cImRpc3BsYXlNZXNzYWdlXCJcbiAgW2Rpc3BsYXlSZXF1aXJlZEZpZWxkc109XCJkaXNwbGF5UmVxdWlyZWRGaWVsZHMoKVwiXG4gIFtkb2N1bWVudFRpdGxlXT1cImRvY3VtZW50VGl0bGUoKVwiXG4+XG4gIDxuZy1jb250YWluZXIgaGVhZGVyTm9kZT5cbiAgICB7eyAncGFnZUV4cGlyZWRUaXRsZScgfCBtc2dTdHIgfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgY29udGVudD5cbiAgICA8cFxuICAgICAgaWQ9XCJpbnN0cnVjdGlvbjFcIlxuICAgICAgY2xhc3M9XCJpbnN0cnVjdGlvblwiXG4gICAgPlxuICAgICAge3sgJ3BhZ2VFeHBpcmVkTXNnMScgfCBtc2dTdHIgfX1cbiAgICAgIDxhXG4gICAgICAgIGlkPVwibG9naW5SZXN0YXJ0TGlua1wiXG4gICAgICAgIFtocmVmXT1cInVybC5sb2dpblJlc3RhcnRGbG93VXJsXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2RvQ2xpY2tIZXJlJyB8IG1zZ1N0ciB9fVxuICAgICAgPC9hPlxuICAgICAgLjxiciAvPlxuICAgICAge3sgJ3BhZ2VFeHBpcmVkTXNnMicgfCBtc2dTdHIgfX1cbiAgICAgIDxhXG4gICAgICAgIGlkPVwibG9naW5Db250aW51ZUxpbmtcIlxuICAgICAgICBbaHJlZl09XCJ1cmwubG9naW5BY3Rpb25cIlxuICAgICAgPlxuICAgICAgICB7eyAnZG9DbGlja0hlcmUnIHwgbXNnU3RyIH19XG4gICAgICA8L2E+XG4gICAgICAuXG4gICAgPC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbjwva2MtbG9naW4tdGVtcGxhdGU+XG4iXX0=
@@ -1,8 +1,9 @@
1
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
2
- import { KcContext } from "keycloakify/login/KcContext";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
4
- import { MsgStrPipe } from "../../../login/pipes/msg-str.pipe";
5
- import { LoginResourceInjectorService } from "../../../login/services";
1
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
2
+ import { KcContext } from 'keycloakify/login/KcContext';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
5
+ import { LoginResourceInjectorService } from '../../../login/services';
6
+ import * as i0 from "@angular/core";
6
7
  export declare class LoginPasskeysConditionalAuthenticateComponent extends ComponentReference {
7
8
  kcContext: KcContext.LoginPasskeysConditionalAuthenticate;
8
9
  loginResourceInjectorService: LoginResourceInjectorService;
@@ -13,4 +14,6 @@ export declare class LoginPasskeysConditionalAuthenticateComponent extends Compo
13
14
  authButtonId: string;
14
15
  constructor();
15
16
  selectAuthListItemIconClass(iconClass: string): string;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginPasskeysConditionalAuthenticateComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginPasskeysConditionalAuthenticateComponent, "kc-root", never, {}, {}, never, never, true, never>;
16
19
  }
@@ -0,0 +1,85 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';
2
+ import { CLASSES, KC_CONTEXT, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { getKcClsx } from 'keycloakify/login/lib/kcClsx';
4
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
5
+ import { TemplateComponent } from '../../../login/containers/template.component';
6
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
7
+ import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
8
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
9
+ import { LoginResourceInjectorService } from '../../../login/services';
10
+ import * as i0 from "@angular/core";
11
+ export class LoginPasskeysConditionalAuthenticateComponent extends ComponentReference {
12
+ constructor() {
13
+ super();
14
+ this.kcContext = inject(KC_CONTEXT);
15
+ this.loginResourceInjectorService = inject(LoginResourceInjectorService);
16
+ this.msgStr = inject(MsgStrPipe);
17
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
18
+ this.classes = inject(CLASSES);
19
+ this.displayInfo = true;
20
+ this.authButtonId = 'authenticateWebAuthnButton';
21
+ const { url, challenge, rpId, userVerification, isUserIdentified, createTimeout } = this.kcContext;
22
+ const scripts = [
23
+ {
24
+ type: 'module',
25
+ id: 'LoginRecoveryAuthnCodeConfig',
26
+ textContent: `
27
+ import { authenticateByWebAuthn } from "${url.resourcesPath}/js/webauthnAuthenticate.js";
28
+ import { initAuthenticate } from "${url.resourcesPath}/js/passkeysConditionalAuth.js";
29
+
30
+ const authButton = document.getElementById("${this.authButtonId}");
31
+ const input = {
32
+ isUserIdentified : ${isUserIdentified},
33
+ challenge : ${JSON.stringify(challenge)},
34
+ userVerification : ${JSON.stringify(userVerification)},
35
+ rpId : ${JSON.stringify(rpId)},
36
+ createTimeout : ${createTimeout}
37
+ };
38
+ authButton.addEventListener("click", () => {
39
+ authenticateByWebAuthn({
40
+ ...input,
41
+ errmsg : ${JSON.stringify(this.msgStr.transform('webauthn-unsupported-browser-text'))}
42
+ });
43
+ });
44
+
45
+ initAuthenticate({
46
+ ...input,
47
+ errmsg : ${JSON.stringify(this.msgStr.transform('passkey-unsupported-browser-text'))}
48
+ });
49
+ `
50
+ }
51
+ ];
52
+ this.loginResourceInjectorService.insertAdditionalScripts(scripts);
53
+ }
54
+ selectAuthListItemIconClass(iconClass) {
55
+ const kcClsx = getKcClsx({
56
+ doUseDefaultCss: this.doUseDefaultCss ?? true,
57
+ classes: this.classes
58
+ }).kcClsx;
59
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+ const className = kcClsx(iconClass);
61
+ if (className === iconClass) {
62
+ return kcClsx('kcWebAuthnDefaultIcon');
63
+ }
64
+ return className;
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginPasskeysConditionalAuthenticateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: LoginPasskeysConditionalAuthenticateComponent, isStandalone: true, selector: "kc-root", providers: [
68
+ MsgStrPipe,
69
+ {
70
+ provide: ComponentReference,
71
+ useExisting: forwardRef(() => LoginPasskeysConditionalAuthenticateComponent)
72
+ }
73
+ ], usesInheritance: true, ngImport: i0, template: "@let authenticators = kcContext.authenticators;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n@let shouldDisplayAuthenticators = kcContext.shouldDisplayAuthenticators;\n@let login = kcContext.login;\n@let messagesPerField = kcContext.messagesPerField;\n@let usernameHidden = kcContext.usernameHidden;\n@let registrationDisabled = kcContext.registrationDisabled;\n<kc-login-template [displayInfo]=\"displayInfo\">\n <ng-container headerNode>\n {{ 'passkey-login-title' | msgStr }}\n </ng-container>\n <ng-container infoNode>\n @if (realm.registrationAllowed && !registrationDisabled) {\n <div id=\"kc-registration\">\n <span>\n {{ 'noAccount' | msgStr }}\n <a\n tabIndex=\"6\"\n [href]=\"url.registrationUrl\"\n >\n {{ 'doRegister' | msgStr }}\n </a>\n </span>\n </div>\n }\n </ng-container>\n\n <ng-container content>\n <form\n id=\"webauth\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n <input\n type=\"hidden\"\n id=\"clientDataJSON\"\n name=\"clientDataJSON\"\n />\n <input\n type=\"hidden\"\n id=\"authenticatorData\"\n name=\"authenticatorData\"\n />\n <input\n type=\"hidden\"\n id=\"signature\"\n name=\"signature\"\n />\n <input\n type=\"hidden\"\n id=\"credentialId\"\n name=\"credentialId\"\n />\n <input\n type=\"hidden\"\n id=\"userHandle\"\n name=\"userHandle\"\n />\n <input\n type=\"hidden\"\n id=\"error\"\n name=\"error\"\n />\n </form>\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n no-bottom-margin=\"true\"\n style=\"margin-bottom: 0\"\n >\n @if (authenticators !== undefined && authenticators.authenticators.length !== 0) {\n <form\n id=\"authn_select\"\n [kcClass]=\"'kcFormClass'\"\n >\n @for (authenticator of authenticators.authenticators; track authenticator; let i = $index) {\n <input\n type=\"hidden\"\n name=\"authn_use_chk\"\n readOnly\n [value]=\"authenticator.credentialId\"\n />\n }\n </form>\n\n @if (shouldDisplayAuthenticators) {\n @if (authenticators.authenticators.length > 1) {\n <p [kcClass]=\"'kcSelectAuthListItemTitle'\">\n {{ 'passkey-available-authenticators' | msgStr }}\n </p>\n }\n\n <div [kcClass]=\"'kcFormClass'\">\n @for (authenticator of authenticators.authenticators; track authenticator; let i = $index) {\n <div\n id=\"'kc-webauthn-authenticator-item-' + i\"\n [kcClass]=\"'kcSelectAuthListItemClass'\"\n >\n <i\n [ngClass]=\"selectAuthListItemIconClass(authenticator.transports.iconClass)\"\n [kcClass]=\"'kcCommonLogoIdP'\"\n aria-hidden=\"true\"\n ></i>\n <div [kcClass]=\"'kcSelectAuthListItemBodyClass'\">\n <div\n [id]=\"'kc-webauthn-authenticator-label-' + i\"\n [kcClass]=\"'kcSelectAuthListItemHeadingClass'\"\n >\n {{ authenticator.label | advancedMsgStr }}\n </div>\n @if (\n authenticator.transports !== undefined &&\n authenticator.transports.displayNameProperties !== undefined &&\n authenticator.transports.displayNameProperties.length !== 0\n ) {\n <div\n [id]=\"'kc-webauthn-authenticator-transport-' + i\"\n [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\"\n >\n @for (\n nameProperty of authenticator.transports.displayNameProperties;\n track nameProperty;\n let i = $index\n ) {\n <span> {{ nameProperty | advancedMsgStr }} </span>\n @if (i !== authenticator.transports.displayNameProperties.length - 1) {\n <span>, </span>\n }\n }\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\">\n <span [id]=\"'kc-webauthn-authenticator-createdlabel-' + i\">\n {{ 'passkey-createdAt-label' | msgStr }}\n </span>\n <span [id]=\"'kc-webauthn-authenticator-created-' + i\">\n {{ authenticator.createdAt }}\n </span>\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemFillClass'\"></div>\n }\n </div>\n </div>\n }\n </div>\n }\n }\n <div id=\"kc-form-wrapper\">\n @if (realm.password) {\n <form\n id=\"kc-form-passkey\"\n [action]=\"url.loginAction\"\n method=\"post\"\n style=\"display: none\"\n >\n @if (!usernameHidden) {\n <div [kcClass]=\"'kcFormGroupClass'\">\n <label\n for=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'passkey-autofill-select' | msgStr }}\n </label>\n <input\n tabIndex=\"1\"\n id=\"username\"\n [attr.aria-invalid]=\"messagesPerField.existsError('username')\"\n [kcClass]=\"'kcInputClass'\"\n name=\"username\"\n [value]=\"login.username ?? ''\"\n type=\"text\"\n autoFocus\n autoComplete=\"off\"\n />\n @if (messagesPerField.existsError('username')) {\n <span\n id=\"input-error-username\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n >\n {{ messagesPerField.get('username') }}\n </span>\n }\n </div>\n }\n </form>\n <div\n id=\"kc-form-passkey-button\"\n [kcClass]=\"'kcFormButtonsClass'\"\n style=\"display: none\"\n >\n <input\n id=\"authButtonId\"\n type=\"button\"\n autoFocus\n value=\"{{ 'passkey-doAuthenticate' | msgStr }}\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n />\n </div>\n }\n </div>\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: MsgStrPipe, name: "msgStr" }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginPasskeysConditionalAuthenticateComponent, decorators: [{
76
+ type: Component,
77
+ args: [{ standalone: true, imports: [TemplateComponent, MsgStrPipe, KcClassDirective, AdvancedMsgStrPipe], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
78
+ MsgStrPipe,
79
+ {
80
+ provide: ComponentReference,
81
+ useExisting: forwardRef(() => LoginPasskeysConditionalAuthenticateComponent)
82
+ }
83
+ ], template: "@let authenticators = kcContext.authenticators;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n@let shouldDisplayAuthenticators = kcContext.shouldDisplayAuthenticators;\n@let login = kcContext.login;\n@let messagesPerField = kcContext.messagesPerField;\n@let usernameHidden = kcContext.usernameHidden;\n@let registrationDisabled = kcContext.registrationDisabled;\n<kc-login-template [displayInfo]=\"displayInfo\">\n <ng-container headerNode>\n {{ 'passkey-login-title' | msgStr }}\n </ng-container>\n <ng-container infoNode>\n @if (realm.registrationAllowed && !registrationDisabled) {\n <div id=\"kc-registration\">\n <span>\n {{ 'noAccount' | msgStr }}\n <a\n tabIndex=\"6\"\n [href]=\"url.registrationUrl\"\n >\n {{ 'doRegister' | msgStr }}\n </a>\n </span>\n </div>\n }\n </ng-container>\n\n <ng-container content>\n <form\n id=\"webauth\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n <input\n type=\"hidden\"\n id=\"clientDataJSON\"\n name=\"clientDataJSON\"\n />\n <input\n type=\"hidden\"\n id=\"authenticatorData\"\n name=\"authenticatorData\"\n />\n <input\n type=\"hidden\"\n id=\"signature\"\n name=\"signature\"\n />\n <input\n type=\"hidden\"\n id=\"credentialId\"\n name=\"credentialId\"\n />\n <input\n type=\"hidden\"\n id=\"userHandle\"\n name=\"userHandle\"\n />\n <input\n type=\"hidden\"\n id=\"error\"\n name=\"error\"\n />\n </form>\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n no-bottom-margin=\"true\"\n style=\"margin-bottom: 0\"\n >\n @if (authenticators !== undefined && authenticators.authenticators.length !== 0) {\n <form\n id=\"authn_select\"\n [kcClass]=\"'kcFormClass'\"\n >\n @for (authenticator of authenticators.authenticators; track authenticator; let i = $index) {\n <input\n type=\"hidden\"\n name=\"authn_use_chk\"\n readOnly\n [value]=\"authenticator.credentialId\"\n />\n }\n </form>\n\n @if (shouldDisplayAuthenticators) {\n @if (authenticators.authenticators.length > 1) {\n <p [kcClass]=\"'kcSelectAuthListItemTitle'\">\n {{ 'passkey-available-authenticators' | msgStr }}\n </p>\n }\n\n <div [kcClass]=\"'kcFormClass'\">\n @for (authenticator of authenticators.authenticators; track authenticator; let i = $index) {\n <div\n id=\"'kc-webauthn-authenticator-item-' + i\"\n [kcClass]=\"'kcSelectAuthListItemClass'\"\n >\n <i\n [ngClass]=\"selectAuthListItemIconClass(authenticator.transports.iconClass)\"\n [kcClass]=\"'kcCommonLogoIdP'\"\n aria-hidden=\"true\"\n ></i>\n <div [kcClass]=\"'kcSelectAuthListItemBodyClass'\">\n <div\n [id]=\"'kc-webauthn-authenticator-label-' + i\"\n [kcClass]=\"'kcSelectAuthListItemHeadingClass'\"\n >\n {{ authenticator.label | advancedMsgStr }}\n </div>\n @if (\n authenticator.transports !== undefined &&\n authenticator.transports.displayNameProperties !== undefined &&\n authenticator.transports.displayNameProperties.length !== 0\n ) {\n <div\n [id]=\"'kc-webauthn-authenticator-transport-' + i\"\n [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\"\n >\n @for (\n nameProperty of authenticator.transports.displayNameProperties;\n track nameProperty;\n let i = $index\n ) {\n <span> {{ nameProperty | advancedMsgStr }} </span>\n @if (i !== authenticator.transports.displayNameProperties.length - 1) {\n <span>, </span>\n }\n }\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\">\n <span [id]=\"'kc-webauthn-authenticator-createdlabel-' + i\">\n {{ 'passkey-createdAt-label' | msgStr }}\n </span>\n <span [id]=\"'kc-webauthn-authenticator-created-' + i\">\n {{ authenticator.createdAt }}\n </span>\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemFillClass'\"></div>\n }\n </div>\n </div>\n }\n </div>\n }\n }\n <div id=\"kc-form-wrapper\">\n @if (realm.password) {\n <form\n id=\"kc-form-passkey\"\n [action]=\"url.loginAction\"\n method=\"post\"\n style=\"display: none\"\n >\n @if (!usernameHidden) {\n <div [kcClass]=\"'kcFormGroupClass'\">\n <label\n for=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'passkey-autofill-select' | msgStr }}\n </label>\n <input\n tabIndex=\"1\"\n id=\"username\"\n [attr.aria-invalid]=\"messagesPerField.existsError('username')\"\n [kcClass]=\"'kcInputClass'\"\n name=\"username\"\n [value]=\"login.username ?? ''\"\n type=\"text\"\n autoFocus\n autoComplete=\"off\"\n />\n @if (messagesPerField.existsError('username')) {\n <span\n id=\"input-error-username\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n >\n {{ messagesPerField.get('username') }}\n </span>\n }\n </div>\n }\n </form>\n <div\n id=\"kc-form-passkey-button\"\n [kcClass]=\"'kcFormButtonsClass'\"\n style=\"display: none\"\n >\n <input\n id=\"authButtonId\"\n type=\"button\"\n autoFocus\n value=\"{{ 'passkey-doAuthenticate' | msgStr }}\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n />\n </div>\n }\n </div>\n </div>\n </ng-container>\n</kc-login-template>\n" }]
84
+ }], ctorParameters: () => [] });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLXBhc3NrZXlzLWNvbmRpdGlvbmFsLWF1dGhlbnRpY2F0ZS9sb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlL2xvZ2luLXBhc3NrZXlzLWNvbmRpdGlvbmFsLWF1dGhlbnRpY2F0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUNILE9BQU8sRUFDUCxVQUFVLEVBQ1YsZUFBZSxFQUNsQixNQUFNLHFDQUFxQyxDQUFDO0FBSTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBZ0JuRixNQUFNLE9BQU8sNkNBQThDLFNBQVEsa0JBQWtCO0lBYWpGO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFiWixjQUFTLEdBQ0wsTUFBTSxDQUVKLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLGlDQUE0QixHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BFLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkIsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsT0FBTyxDQUFDLENBQUM7UUFDdEUsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFFNUIsaUJBQVksR0FBRyw0QkFBNEIsQ0FBQztRQUl4QyxNQUFNLEVBQ0YsR0FBRyxFQUNILFNBQVMsRUFDVCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUVoQixhQUFhLEVBQ2hCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNuQixNQUFNLE9BQU8sR0FBYTtZQUN0QjtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxFQUFFLEVBQUUsOEJBQThCO2dCQUNsQyxXQUFXLEVBQUU7OERBQ2lDLEdBQUcsQ0FBQyxhQUFhO3dEQUN2QixHQUFHLENBQUMsYUFBYTs7a0VBRVAsSUFBSSxDQUFDLFlBQVk7OzZDQUV0QyxnQkFBZ0I7c0NBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDOzZDQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO2lDQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQzswQ0FDWCxhQUFhOzs7Ozt1Q0FLaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDOzs7Ozs7bUNBTTlFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsa0NBQWtDLENBQUMsQ0FBQzs7V0FFakc7YUFDRTtTQUNKLENBQUM7UUFDRixJQUFJLENBQUMsNEJBQTRCLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELDJCQUEyQixDQUFDLFNBQWlCO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQztZQUNyQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJO1lBQzdDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN4QixDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1YsOERBQThEO1FBQzlELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFnQixDQUFDLENBQUM7UUFDM0MsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUIsT0FBTyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQzs4R0FwRVEsNkNBQTZDO2tHQUE3Qyw2Q0FBNkMsc0RBUjNDO1lBQ1AsVUFBVTtZQUNWO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkNBQTZDLENBQUM7YUFDL0U7U0FDSixpREM3QkwsMjdOQTJNQSw0Q0R4TGMsaUJBQWlCLCtKQUFFLFVBQVUsK0NBQUUsZ0JBQWdCLDBGQUFFLGtCQUFrQjs7MkZBWXBFLDZDQUE2QztrQkFkekQsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsWUFDcEUsU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLFVBQVU7d0JBQ1Y7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsOENBQThDLENBQUM7eUJBQy9FO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENMQVNTRVMsXG4gICAgS0NfQ09OVEVYVCxcbiAgICBVU0VfREVGQVVMVF9DU1Ncbn0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgU2NyaXB0IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL21vZGVscyc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgS2NDb250ZXh0IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IGdldEtjQ2xzeCB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29udGFpbmVycy90ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFkdmFuY2VkTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL2FkdmFuY2VkLW1zZy1zdHIucGlwZSc7XG5pbXBvcnQgeyBNc2dTdHJQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvbXNnLXN0ci5waXBlJztcbmltcG9ydCB7IExvZ2luUmVzb3VyY2VJbmplY3RvclNlcnZpY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RlbXBsYXRlQ29tcG9uZW50LCBNc2dTdHJQaXBlLCBLY0NsYXNzRGlyZWN0aXZlLCBBZHZhbmNlZE1zZ1N0clBpcGVdLFxuICAgIHNlbGVjdG9yOiAna2Mtcm9vdCcsXG4gICAgdGVtcGxhdGVVcmw6ICdsb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNc2dTdHJQaXBlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2dpblBhc3NrZXlzQ29uZGl0aW9uYWxBdXRoZW50aWNhdGVDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luUGFzc2tleXNDb25kaXRpb25hbEF1dGhlbnRpY2F0ZUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAga2NDb250ZXh0ID1cbiAgICAgICAgaW5qZWN0PFxuICAgICAgICAgICAgRXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAnbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmZ0bCcgfT5cbiAgICAgICAgPihLQ19DT05URVhUKTtcbiAgICBsb2dpblJlc291cmNlSW5qZWN0b3JTZXJ2aWNlID0gaW5qZWN0KExvZ2luUmVzb3VyY2VJbmplY3RvclNlcnZpY2UpO1xuICAgIG1zZ1N0ciA9IGluamVjdChNc2dTdHJQaXBlKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG4gICAgZGlzcGxheUluZm86IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgYXV0aEJ1dHRvbklkID0gJ2F1dGhlbnRpY2F0ZVdlYkF1dGhuQnV0dG9uJztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICBjaGFsbGVuZ2UsXG4gICAgICAgICAgICBycElkLFxuICAgICAgICAgICAgdXNlclZlcmlmaWNhdGlvbixcbiAgICAgICAgICAgIGlzVXNlcklkZW50aWZpZWQsXG5cbiAgICAgICAgICAgIGNyZWF0ZVRpbWVvdXRcbiAgICAgICAgfSA9IHRoaXMua2NDb250ZXh0O1xuICAgICAgICBjb25zdCBzY3JpcHRzOiBTY3JpcHRbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbW9kdWxlJyxcbiAgICAgICAgICAgICAgICBpZDogJ0xvZ2luUmVjb3ZlcnlBdXRobkNvZGVDb25maWcnLFxuICAgICAgICAgICAgICAgIHRleHRDb250ZW50OiBgXG4gICAgICAgICAgICAgICAgICAgIGltcG9ydCB7IGF1dGhlbnRpY2F0ZUJ5V2ViQXV0aG4gfSBmcm9tIFwiJHt1cmwucmVzb3VyY2VzUGF0aH0vanMvd2ViYXV0aG5BdXRoZW50aWNhdGUuanNcIjtcbiAgICAgICAgICAgICAgICAgICAgaW1wb3J0IHsgaW5pdEF1dGhlbnRpY2F0ZSB9IGZyb20gXCIke3VybC5yZXNvdXJjZXNQYXRofS9qcy9wYXNza2V5c0NvbmRpdGlvbmFsQXV0aC5qc1wiO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF1dGhCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIiR7dGhpcy5hdXRoQnV0dG9uSWR9XCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVXNlcklkZW50aWZpZWQgOiAke2lzVXNlcklkZW50aWZpZWR9LFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlIDogJHtKU09OLnN0cmluZ2lmeShjaGFsbGVuZ2UpfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJWZXJpZmljYXRpb24gOiAke0pTT04uc3RyaW5naWZ5KHVzZXJWZXJpZmljYXRpb24pfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJwSWQgOiAke0pTT04uc3RyaW5naWZ5KHJwSWQpfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVRpbWVvdXQgOiAke2NyZWF0ZVRpbWVvdXR9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGF1dGhCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhlbnRpY2F0ZUJ5V2ViQXV0aG4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm1zZyA6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5tc2dTdHIudHJhbnNmb3JtKCd3ZWJhdXRobi11bnN1cHBvcnRlZC1icm93c2VyLXRleHQnKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5pdEF1dGhlbnRpY2F0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm1zZyA6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5tc2dTdHIudHJhbnNmb3JtKCdwYXNza2V5LXVuc3VwcG9ydGVkLWJyb3dzZXItdGV4dCcpKX1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICB0aGlzLmxvZ2luUmVzb3VyY2VJbmplY3RvclNlcnZpY2UuaW5zZXJ0QWRkaXRpb25hbFNjcmlwdHMoc2NyaXB0cyk7XG4gICAgfVxuXG4gICAgc2VsZWN0QXV0aExpc3RJdGVtSWNvbkNsYXNzKGljb25DbGFzczogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGtjQ2xzeCA9IGdldEtjQ2xzeCh7XG4gICAgICAgICAgICBkb1VzZURlZmF1bHRDc3M6IHRoaXMuZG9Vc2VEZWZhdWx0Q3NzID8/IHRydWUsXG4gICAgICAgICAgICBjbGFzc2VzOiB0aGlzLmNsYXNzZXNcbiAgICAgICAgfSkua2NDbHN4O1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBrY0Nsc3goaWNvbkNsYXNzIGFzIGFueSk7XG4gICAgICAgIGlmIChjbGFzc05hbWUgPT09IGljb25DbGFzcykge1xuICAgICAgICAgICAgcmV0dXJuIGtjQ2xzeCgna2NXZWJBdXRobkRlZmF1bHRJY29uJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgICB9XG59XG4iLCJAbGV0IGF1dGhlbnRpY2F0b3JzID0ga2NDb250ZXh0LmF1dGhlbnRpY2F0b3JzO1xuQGxldCByZWFsbSA9IGtjQ29udGV4dC5yZWFsbTtcbkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgc2hvdWxkRGlzcGxheUF1dGhlbnRpY2F0b3JzID0ga2NDb250ZXh0LnNob3VsZERpc3BsYXlBdXRoZW50aWNhdG9ycztcbkBsZXQgbG9naW4gPSBrY0NvbnRleHQubG9naW47XG5AbGV0IG1lc3NhZ2VzUGVyRmllbGQgPSBrY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZDtcbkBsZXQgdXNlcm5hbWVIaWRkZW4gPSBrY0NvbnRleHQudXNlcm5hbWVIaWRkZW47XG5AbGV0IHJlZ2lzdHJhdGlvbkRpc2FibGVkID0ga2NDb250ZXh0LnJlZ2lzdHJhdGlvbkRpc2FibGVkO1xuPGtjLWxvZ2luLXRlbXBsYXRlIFtkaXNwbGF5SW5mb109XCJkaXNwbGF5SW5mb1wiPlxuICA8bmctY29udGFpbmVyIGhlYWRlck5vZGU+XG4gICAge3sgJ3Bhc3NrZXktbG9naW4tdGl0bGUnIHwgbXNnU3RyIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIGluZm9Ob2RlPlxuICAgIEBpZiAocmVhbG0ucmVnaXN0cmF0aW9uQWxsb3dlZCAmJiAhcmVnaXN0cmF0aW9uRGlzYWJsZWQpIHtcbiAgICAgIDxkaXYgaWQ9XCJrYy1yZWdpc3RyYXRpb25cIj5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge3sgJ25vQWNjb3VudCcgfCBtc2dTdHIgfX1cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgdGFiSW5kZXg9XCI2XCJcbiAgICAgICAgICAgIFtocmVmXT1cInVybC5yZWdpc3RyYXRpb25VcmxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdkb1JlZ2lzdGVyJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyIGNvbnRlbnQ+XG4gICAgPGZvcm1cbiAgICAgIGlkPVwid2ViYXV0aFwiXG4gICAgICBbYWN0aW9uXT1cInVybC5sb2dpbkFjdGlvblwiXG4gICAgICBtZXRob2Q9XCJwb3N0XCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgIGlkPVwiY2xpZW50RGF0YUpTT05cIlxuICAgICAgICBuYW1lPVwiY2xpZW50RGF0YUpTT05cIlxuICAgICAgLz5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgaWQ9XCJhdXRoZW50aWNhdG9yRGF0YVwiXG4gICAgICAgIG5hbWU9XCJhdXRoZW50aWNhdG9yRGF0YVwiXG4gICAgICAvPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICBpZD1cInNpZ25hdHVyZVwiXG4gICAgICAgIG5hbWU9XCJzaWduYXR1cmVcIlxuICAgICAgLz5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgaWQ9XCJjcmVkZW50aWFsSWRcIlxuICAgICAgICBuYW1lPVwiY3JlZGVudGlhbElkXCJcbiAgICAgIC8+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgIGlkPVwidXNlckhhbmRsZVwiXG4gICAgICAgIG5hbWU9XCJ1c2VySGFuZGxlXCJcbiAgICAgIC8+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgIGlkPVwiZXJyb3JcIlxuICAgICAgICBuYW1lPVwiZXJyb3JcIlxuICAgICAgLz5cbiAgICA8L2Zvcm0+XG4gICAgPGRpdlxuICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCJcbiAgICAgIG5vLWJvdHRvbS1tYXJnaW49XCJ0cnVlXCJcbiAgICAgIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMFwiXG4gICAgPlxuICAgICAgQGlmIChhdXRoZW50aWNhdG9ycyAhPT0gdW5kZWZpbmVkICYmIGF1dGhlbnRpY2F0b3JzLmF1dGhlbnRpY2F0b3JzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICA8Zm9ybVxuICAgICAgICAgIGlkPVwiYXV0aG5fc2VsZWN0XCJcbiAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtQ2xhc3MnXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBmb3IgKGF1dGhlbnRpY2F0b3Igb2YgYXV0aGVudGljYXRvcnMuYXV0aGVudGljYXRvcnM7IHRyYWNrIGF1dGhlbnRpY2F0b3I7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgICAgICAgIG5hbWU9XCJhdXRobl91c2VfY2hrXCJcbiAgICAgICAgICAgICAgcmVhZE9ubHlcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImF1dGhlbnRpY2F0b3IuY3JlZGVudGlhbElkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Zvcm0+XG5cbiAgICAgICAgQGlmIChzaG91bGREaXNwbGF5QXV0aGVudGljYXRvcnMpIHtcbiAgICAgICAgICBAaWYgKGF1dGhlbnRpY2F0b3JzLmF1dGhlbnRpY2F0b3JzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIDxwIFtrY0NsYXNzXT1cIidrY1NlbGVjdEF1dGhMaXN0SXRlbVRpdGxlJ1wiPlxuICAgICAgICAgICAgICB7eyAncGFzc2tleS1hdmFpbGFibGUtYXV0aGVudGljYXRvcnMnIHwgbXNnU3RyIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtQ2xhc3MnXCI+XG4gICAgICAgICAgICBAZm9yIChhdXRoZW50aWNhdG9yIG9mIGF1dGhlbnRpY2F0b3JzLmF1dGhlbnRpY2F0b3JzOyB0cmFjayBhdXRoZW50aWNhdG9yOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgaWQ9XCIna2Mtd2ViYXV0aG4tYXV0aGVudGljYXRvci1pdGVtLScgKyBpXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NTZWxlY3RBdXRoTGlzdEl0ZW1DbGFzcydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdEF1dGhMaXN0SXRlbUljb25DbGFzcyhhdXRoZW50aWNhdG9yLnRyYW5zcG9ydHMuaWNvbkNsYXNzKVwiXG4gICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NDb21tb25Mb2dvSWRQJ1wiXG4gICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NTZWxlY3RBdXRoTGlzdEl0ZW1Cb2R5Q2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCIna2Mtd2ViYXV0aG4tYXV0aGVudGljYXRvci1sYWJlbC0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY1NlbGVjdEF1dGhMaXN0SXRlbUhlYWRpbmdDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBhdXRoZW50aWNhdG9yLmxhYmVsIHwgYWR2YW5jZWRNc2dTdHIgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRvci50cmFuc3BvcnRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRvci50cmFuc3BvcnRzLmRpc3BsYXlOYW1lUHJvcGVydGllcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICAgIGF1dGhlbnRpY2F0b3IudHJhbnNwb3J0cy5kaXNwbGF5TmFtZVByb3BlcnRpZXMubGVuZ3RoICE9PSAwXG4gICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCIna2Mtd2ViYXV0aG4tYXV0aGVudGljYXRvci10cmFuc3BvcnQtJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY1NlbGVjdEF1dGhMaXN0SXRlbURlc2NyaXB0aW9uQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZVByb3BlcnR5IG9mIGF1dGhlbnRpY2F0b3IudHJhbnNwb3J0cy5kaXNwbGF5TmFtZVByb3BlcnRpZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBuYW1lUHJvcGVydHk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaSA9ICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IHt7IG5hbWVQcm9wZXJ0eSB8IGFkdmFuY2VkTXNnU3RyIH19IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaSAhPT0gYXV0aGVudGljYXRvci50cmFuc3BvcnRzLmRpc3BsYXlOYW1lUHJvcGVydGllcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiwgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjU2VsZWN0QXV0aExpc3RJdGVtRGVzY3JpcHRpb25DbGFzcydcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwiJ2tjLXdlYmF1dGhuLWF1dGhlbnRpY2F0b3ItY3JlYXRlZGxhYmVsLScgKyBpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAncGFzc2tleS1jcmVhdGVkQXQtbGFiZWwnIHwgbXNnU3RyIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtpZF09XCIna2Mtd2ViYXV0aG4tYXV0aGVudGljYXRvci1jcmVhdGVkLScgKyBpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBhdXRoZW50aWNhdG9yLmNyZWF0ZWRBdCB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjU2VsZWN0QXV0aExpc3RJdGVtRmlsbENsYXNzJ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPGRpdiBpZD1cImtjLWZvcm0td3JhcHBlclwiPlxuICAgICAgICBAaWYgKHJlYWxtLnBhc3N3b3JkKSB7XG4gICAgICAgICAgPGZvcm1cbiAgICAgICAgICAgIGlkPVwia2MtZm9ybS1wYXNza2V5XCJcbiAgICAgICAgICAgIFthY3Rpb25dPVwidXJsLmxvZ2luQWN0aW9uXCJcbiAgICAgICAgICAgIG1ldGhvZD1cInBvc3RcIlxuICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBub25lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKCF1c2VybmFtZUhpZGRlbikge1xuICAgICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgZm9yPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxDbGFzcydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7ICdwYXNza2V5LWF1dG9maWxsLXNlbGVjdCcgfCBtc2dTdHIgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9XCIxXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3VzZXJuYW1lJylcIlxuICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJsb2dpbi51c2VybmFtZSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICBAaWYgKG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3VzZXJuYW1lJykpIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiaW5wdXQtZXJyb3ItdXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEVycm9yTWVzc2FnZUNsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IG1lc3NhZ2VzUGVyRmllbGQuZ2V0KCd1c2VybmFtZScpIH19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJrYy1mb3JtLXBhc3NrZXktYnV0dG9uXCJcbiAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1CdXR0b25zQ2xhc3MnXCJcbiAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwiYXV0aEJ1dHRvbklkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICB2YWx1ZT1cInt7ICdwYXNza2V5LWRvQXV0aGVudGljYXRlJyB8IG1zZ1N0ciB9fVwiXG4gICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkJsb2NrQ2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9rYy1sb2dpbi10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,6 +1,7 @@
1
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
2
- import { KcContext } from "keycloakify/login/KcContext";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
1
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
2
+ import { KcContext } from 'keycloakify/login/KcContext';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class LoginPasswordComponent extends ComponentReference {
5
6
  kcContext: KcContext.LoginPassword;
6
7
  doUseDefaultCss: boolean;
@@ -11,4 +12,6 @@ export declare class LoginPasswordComponent extends ComponentReference {
11
12
  displayInfo: boolean;
12
13
  displayMessage: boolean;
13
14
  isLoginButtonDisabled: import("@angular/core").WritableSignal<boolean>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginPasswordComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginPasswordComponent, "kc-root", never, { "displayRequiredFields": { "alias": "displayRequiredFields"; "required": false; "isSignal": true; }; "documentTitle": { "alias": "documentTitle"; "required": false; "isSignal": true; }; "bodyClassName": { "alias": "bodyClassName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
14
17
  }
@@ -0,0 +1,46 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, input, signal } from '@angular/core';
2
+ import { CLASSES, KC_CONTEXT, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { PasswordWrapperComponent } from '../../../login/components/password-wrapper/password-wrapper.component';
5
+ import { TemplateComponent } from '../../../login/containers/template.component';
6
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
7
+ import { KcSanitizePipe } from '../../../login/pipes/kc-sanitize.pipe';
8
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
9
+ import * as i0 from "@angular/core";
10
+ export class LoginPasswordComponent extends ComponentReference {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.kcContext = inject(KC_CONTEXT);
14
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
15
+ this.classes = inject(CLASSES);
16
+ this.displayRequiredFields = input(false);
17
+ this.documentTitle = input();
18
+ this.bodyClassName = input();
19
+ this.displayInfo = false;
20
+ this.displayMessage = this.kcContext.messagesPerField.existsError('password');
21
+ this.isLoginButtonDisabled = signal(false);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginPasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: LoginPasswordComponent, 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: [
25
+ {
26
+ provide: ComponentReference,
27
+ useExisting: forwardRef(() => LoginPasswordComponent)
28
+ }
29
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let realm = kcContext.realm;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"documentTitle()\"\n>\n <ng-container headerNode>\n {{ 'doLogIn' | msgStr }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-form\">\n <div id=\"kc-form-wrapper\">\n <form\n id=\"kc-form-login\"\n (onSubmit)=\"isLoginButtonDisabled.set(true)\"\n [action]=\"url?.loginAction\"\n method=\"post\"\n >\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n class=\"no-bottom-margin\"\n >\n <hr />\n <label\n for=\"password\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'password' | msgStr }}\n </label>\n <kc-password-wrapper passwordInputId=\"password\">\n <input\n type=\"password\"\n id=\"password\"\n name=\"password\"\n [kcClass]=\"'kcInputClass'\"\n [required]=\"true\"\n [autofocus]=\"true\"\n [tabindex]=\"1\"\n aria-describedby=\"input-error-password\"\n />\n </kc-password-wrapper>\n\n @if (messagesPerField.existsError('password')) {\n <span\n id=\"input-error-password\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n [innerHTML]=\"messagesPerField.getFirstError('password') | kcSanitize: 'html'\"\n >\n </span>\n }\n </div>\n <div [kcClass]=\"['kcFormGroupClass', 'kcFormSettingClass']\">\n <div id=\"kc-form-options\"></div>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n @if (realm.resetPasswordAllowed) {\n <span>\n <a\n tabindex=\"5\"\n href=\"{{ url.loginResetCredentialsUrl }}\"\n >\n {{ 'doForgotPassword' | msgStr }}\n </a>\n </span>\n }\n </div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <input\n type=\"submit\"\n id=\"kc-login\"\n name=\"login\"\n [value]=\"'doLogIn' | msgStr\"\n [disabled]=\"isLoginButtonDisabled()\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [tabindex]=\"4\"\n />\n </div>\n </form>\n </div>\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: MsgStrPipe, name: "msgStr" }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: PasswordWrapperComponent, selector: "kc-password-wrapper", inputs: ["passwordInputId"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginPasswordComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ standalone: true, imports: [
34
+ TemplateComponent,
35
+ MsgStrPipe,
36
+ KcClassDirective,
37
+ PasswordWrapperComponent,
38
+ KcSanitizePipe
39
+ ], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
40
+ {
41
+ provide: ComponentReference,
42
+ useExisting: forwardRef(() => LoginPasswordComponent)
43
+ }
44
+ ], template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let realm = kcContext.realm;\n<kc-login-template\n [displayInfo]=\"displayInfo\"\n [bodyClassName]=\"bodyClassName()\"\n [displayMessage]=\"displayMessage\"\n [displayRequiredFields]=\"displayRequiredFields()\"\n [documentTitle]=\"documentTitle()\"\n>\n <ng-container headerNode>\n {{ 'doLogIn' | msgStr }}\n </ng-container>\n <ng-container content>\n <div id=\"kc-form\">\n <div id=\"kc-form-wrapper\">\n <form\n id=\"kc-form-login\"\n (onSubmit)=\"isLoginButtonDisabled.set(true)\"\n [action]=\"url?.loginAction\"\n method=\"post\"\n >\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n class=\"no-bottom-margin\"\n >\n <hr />\n <label\n for=\"password\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'password' | msgStr }}\n </label>\n <kc-password-wrapper passwordInputId=\"password\">\n <input\n type=\"password\"\n id=\"password\"\n name=\"password\"\n [kcClass]=\"'kcInputClass'\"\n [required]=\"true\"\n [autofocus]=\"true\"\n [tabindex]=\"1\"\n aria-describedby=\"input-error-password\"\n />\n </kc-password-wrapper>\n\n @if (messagesPerField.existsError('password')) {\n <span\n id=\"input-error-password\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n [innerHTML]=\"messagesPerField.getFirstError('password') | kcSanitize: 'html'\"\n >\n </span>\n }\n </div>\n <div [kcClass]=\"['kcFormGroupClass', 'kcFormSettingClass']\">\n <div id=\"kc-form-options\"></div>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n @if (realm.resetPasswordAllowed) {\n <span>\n <a\n tabindex=\"5\"\n href=\"{{ url.loginResetCredentialsUrl }}\"\n >\n {{ 'doForgotPassword' | msgStr }}\n </a>\n </span>\n }\n </div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <input\n type=\"submit\"\n id=\"kc-login\"\n name=\"login\"\n [value]=\"'doLogIn' | msgStr\"\n [disabled]=\"isLoginButtonDisabled()\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [tabindex]=\"4\"\n />\n </div>\n </form>\n </div>\n </div>\n </ng-container>\n</kc-login-template>\n" }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tcGFzc3dvcmQvbG9naW4tcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tcGFzc3dvcmQvbG9naW4tcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxPQUFPLEVBQ1AsVUFBVSxFQUNWLGVBQWUsRUFDbEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUc3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUM3SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQXFCM0UsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQW5COUQ7O1FBb0JJLGNBQVMsR0FBRyxNQUFNLENBQXVELFVBQVUsQ0FBQyxDQUFDO1FBQzVFLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLDBCQUFxQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RSwwQkFBcUIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekM7OEdBWFksc0JBQXNCO2tHQUF0QixzQkFBc0IsMGdCQVBwQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDeEQ7U0FDSixpREN2Q0wseTdGQTBGQSw0Q0RqRVEsaUJBQWlCLCtKQUNqQixVQUFVLCtDQUNWLGdCQUFnQiwrRkFDaEIsd0JBQXdCLHdGQUN4QixjQUFjOzsyRkFZVCxzQkFBc0I7a0JBbkJsQyxTQUFTO2lDQUNNLElBQUksV0FDUDt3QkFDTCxpQkFBaUI7d0JBQ2pCLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQix3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2pCLFlBQ1MsU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDO3lCQUN4RDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ0xBU1NFUyxcbiAgICBLQ19DT05URVhULFxuICAgIFVTRV9ERUZBVUxUX0NTU1xufSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgS2NDb250ZXh0IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb250YWluZXJzL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2NTYW5pdGl6ZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9rYy1zYW5pdGl6ZS5waXBlJztcbmltcG9ydCB7IE1zZ1N0clBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9tc2ctc3RyLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgVGVtcGxhdGVDb21wb25lbnQsXG4gICAgICAgIE1zZ1N0clBpcGUsXG4gICAgICAgIEtjQ2xhc3NEaXJlY3RpdmUsXG4gICAgICAgIFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudCxcbiAgICAgICAgS2NTYW5pdGl6ZVBpcGVcbiAgICBdLFxuICAgIHNlbGVjdG9yOiAna2Mtcm9vdCcsXG4gICAgdGVtcGxhdGVVcmw6ICdsb2dpbi1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ2luUGFzc3dvcmRDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luUGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxFeHRyYWN0PEtjQ29udGV4dCwgeyBwYWdlSWQ6ICdsb2dpbi1wYXNzd29yZC5mdGwnIH0+PihLQ19DT05URVhUKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG4gICAgZGlzcGxheVJlcXVpcmVkRmllbGRzID0gaW5wdXQoZmFsc2UpO1xuICAgIGRvY3VtZW50VGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgYm9keUNsYXNzTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgICBkaXNwbGF5SW5mbyA9IGZhbHNlO1xuICAgIGRpc3BsYXlNZXNzYWdlID0gdGhpcy5rY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigncGFzc3dvcmQnKTtcblxuICAgIGlzTG9naW5CdXR0b25EaXNhYmxlZCA9IHNpZ25hbChmYWxzZSk7XG59XG4iLCJAbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG5AbGV0IG1lc3NhZ2VzUGVyRmllbGQgPSBrY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZDtcbkBsZXQgcmVhbG0gPSBrY0NvbnRleHQucmVhbG07XG48a2MtbG9naW4tdGVtcGxhdGVcbiAgW2Rpc3BsYXlJbmZvXT1cImRpc3BsYXlJbmZvXCJcbiAgW2JvZHlDbGFzc05hbWVdPVwiYm9keUNsYXNzTmFtZSgpXCJcbiAgW2Rpc3BsYXlNZXNzYWdlXT1cImRpc3BsYXlNZXNzYWdlXCJcbiAgW2Rpc3BsYXlSZXF1aXJlZEZpZWxkc109XCJkaXNwbGF5UmVxdWlyZWRGaWVsZHMoKVwiXG4gIFtkb2N1bWVudFRpdGxlXT1cImRvY3VtZW50VGl0bGUoKVwiXG4+XG4gIDxuZy1jb250YWluZXIgaGVhZGVyTm9kZT5cbiAgICB7eyAnZG9Mb2dJbicgfCBtc2dTdHIgfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgY29udGVudD5cbiAgICA8ZGl2IGlkPVwia2MtZm9ybVwiPlxuICAgICAgPGRpdiBpZD1cImtjLWZvcm0td3JhcHBlclwiPlxuICAgICAgICA8Zm9ybVxuICAgICAgICAgIGlkPVwia2MtZm9ybS1sb2dpblwiXG4gICAgICAgICAgKG9uU3VibWl0KT1cImlzTG9naW5CdXR0b25EaXNhYmxlZC5zZXQodHJ1ZSlcIlxuICAgICAgICAgIFthY3Rpb25dPVwidXJsPy5sb2dpbkFjdGlvblwiXG4gICAgICAgICAgbWV0aG9kPVwicG9zdFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICAgICAgY2xhc3M9XCJuby1ib3R0b20tbWFyZ2luXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBmb3I9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ3Bhc3N3b3JkJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxrYy1wYXNzd29yZC13cmFwcGVyIHBhc3N3b3JkSW5wdXRJZD1cInBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIjFcIlxuICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJpbnB1dC1lcnJvci1wYXNzd29yZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2tjLXBhc3N3b3JkLXdyYXBwZXI+XG5cbiAgICAgICAgICAgIEBpZiAobWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigncGFzc3dvcmQnKSkge1xuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGlkPVwiaW5wdXQtZXJyb3ItcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0RXJyb3JNZXNzYWdlQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibWVzc2FnZXNQZXJGaWVsZC5nZXRGaXJzdEVycm9yKCdwYXNzd29yZCcpIHwga2NTYW5pdGl6ZTogJ2h0bWwnXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBba2NDbGFzc109XCJbJ2tjRm9ybUdyb3VwQ2xhc3MnLCAna2NGb3JtU2V0dGluZ0NsYXNzJ11cIj5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJrYy1mb3JtLW9wdGlvbnNcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybU9wdGlvbnNXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICAgIEBpZiAocmVhbG0ucmVzZXRQYXNzd29yZEFsbG93ZWQpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiNVwiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJ7eyB1cmwubG9naW5SZXNldENyZWRlbnRpYWxzVXJsIH19XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJ2RvRm9yZ290UGFzc3dvcmQnIHwgbXNnU3RyIH19XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBpZD1cImtjLWZvcm0tYnV0dG9uc1wiXG4gICAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgaWQ9XCJrYy1sb2dpblwiXG4gICAgICAgICAgICAgIG5hbWU9XCJsb2dpblwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCInZG9Mb2dJbicgfCBtc2dTdHJcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2dpbkJ1dHRvbkRpc2FibGVkKClcIlxuICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25CbG9ja0NsYXNzJywgJ2tjQnV0dG9uTGFyZ2VDbGFzcyddXCJcbiAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIjRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9rYy1sb2dpbi10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,6 +1,7 @@
1
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
2
- import { KcContext } from "keycloakify/login/KcContext";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
1
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
2
+ import { KcContext } from 'keycloakify/login/KcContext';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class LoginRecoveryAuthnCodeConfigComponent extends ComponentReference {
5
6
  kcContext: KcContext.LoginRecoveryAuthnCodeConfig;
6
7
  doUseDefaultCss: boolean;
@@ -12,4 +13,6 @@ export declare class LoginRecoveryAuthnCodeConfigComponent extends ComponentRefe
12
13
  displayMessage: boolean;
13
14
  toggleRecoveryCodesConfirmation: import("@angular/core").WritableSignal<boolean>;
14
15
  olRecoveryCodesListId: string;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginRecoveryAuthnCodeConfigComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginRecoveryAuthnCodeConfigComponent, "kc-root", never, { "displayRequiredFields": { "alias": "displayRequiredFields"; "required": false; "isSignal": true; }; "documentTitle": { "alias": "documentTitle"; "required": false; "isSignal": true; }; "bodyClassName": { "alias": "bodyClassName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
18
  }