@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 LoginUsernameComponent extends ComponentReference {
5
6
  kcContext: KcContext.LoginUsername;
6
7
  displayRequiredFields: import("@angular/core").InputSignal<boolean>;
@@ -11,4 +12,6 @@ export declare class LoginUsernameComponent extends ComponentReference {
11
12
  isLoginButtonDisabled: import("@angular/core").WritableSignal<boolean>;
12
13
  displayInfo: boolean;
13
14
  displayMessage: boolean;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginUsernameComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginUsernameComponent, "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,49 @@
1
+ import { AsyncPipe, NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, input, signal } from '@angular/core';
3
+ import { CLASSES, KC_CONTEXT, USE_DEFAULT_CSS } from '../../../lib/public-api';
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 { 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 LoginUsernameComponent extends ComponentReference {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.kcContext = inject(KC_CONTEXT);
14
+ this.displayRequiredFields = input(false);
15
+ this.documentTitle = input();
16
+ this.bodyClassName = input();
17
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
18
+ this.classes = inject(CLASSES);
19
+ this.isLoginButtonDisabled = signal(false);
20
+ this.displayInfo = !!this.kcContext?.realm?.password &&
21
+ !!this.kcContext?.realm?.registrationAllowed &&
22
+ !this.kcContext?.registrationDisabled;
23
+ this.displayMessage = !this.kcContext?.messagesPerField?.existsError('username');
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginUsernameComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: LoginUsernameComponent, 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: [
27
+ {
28
+ provide: ComponentReference,
29
+ useExisting: forwardRef(() => LoginUsernameComponent)
30
+ }
31
+ ], usesInheritance: true, ngImport: i0, template: "@let realm = kcContext.realm;\n@let social = kcContext.social;\n@let usernameHidden = kcContext.usernameHidden;\n@let messagesPerField = kcContext.messagesPerField;\n@let url = kcContext.url;\n@let login = kcContext.login;\n\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 infoNode>\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 </ng-container>\n <ng-container socialProvidersNode>\n @if (!!realm?.password && !!social?.providers?.length) {\n <div\n id=\"kc-social-providers\"\n [kcClass]=\"'kcFormSocialAccountSectionClass'\"\n >\n <hr />\n <h2>{{ 'identity-provider-login-label' | msgStr }}</h2>\n <ul\n [kcClass]=\"{\n kcFormSocialAccountListClass: true,\n kcFormSocialAccountListGridClass: (social?.providers?.length ?? 0) > 3,\n }\"\n >\n @for (provider of social?.providers; track provider.alias; let idx = $index) {\n <li>\n <a\n [id]=\"provider.alias\"\n [kcClass]=\"{\n kcFormSocialAccountListButtonClass: true,\n kcFormSocialAccountGridItem: (social?.providers?.length ?? 0) > 3,\n }\"\n type=\"button\"\n [href]=\"provider.loginUrl\"\n >\n @if (provider.iconClasses) {\n <i\n [ngClass]=\"provider.iconClasses\"\n [kcClass]=\"'kcCommonLogoIdP'\"\n aria-hidden=\"true\"\n ></i>\n }\n <span\n [ngClass]=\"{\n 'kc-social-icon-text': provider.iconClasses,\n }\"\n [kcClass]=\"'kcFormSocialAccountNameClass'\"\n [innerHTML]=\"provider.displayName | kcSanitize: 'html'\"\n ></span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n </ng-container>\n <ng-container content>\n <div id=\"kc-form\">\n <div id=\"kc-form-wrapper\">\n @if (realm.password) {\n <form\n id=\"kc-form-login\"\n (onSubmit)=\"isLoginButtonDisabled.set(true)\"\n [action]=\"url?.loginAction\"\n method=\"post\"\n >\n @if (!usernameHidden) {\n <div [kcClass]=\"'kcFormGroupClass'\">\n <label\n for=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n @if (!realm?.loginWithEmailAllowed) {\n {{ 'username' | msgStr }}\n } @else if (!realm?.registrationEmailAsUsername) {\n {{ 'usernameOrEmail' | msgStr }}\n } @else {\n {{ 'email' | msgStr }}\n }\n </label>\n <input\n tabindex=\"2\"\n id=\"username\"\n [kcClass]=\"'kcInputClass'\"\n name=\"username\"\n type=\"text\"\n autofocus\n autoComplete=\"off\"\n [defaultValue]=\"login?.username || ''\"\n [attr.aria-invalid]=\"messagesPerField?.existsError('username')\"\n />\n @if (messagesPerField?.existsError('username')) {\n <span\n id=\"input-error\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n [innerHTML]=\"messagesPerField?.getFirstError('username') | kcSanitize: 'html'\"\n >\n </span>\n }\n <!---->\n </div>\n }\n\n <div [kcClass]=\"['kcFormGroupClass', 'kcFormSettingClass']\">\n <div id=\"kc-form-options\">\n @if (realm.rememberMe && !usernameHidden) {\n <div class=\"checkbox\">\n <label>\n <input\n tabindex=\"5\"\n id=\"rememberMe\"\n name=\"rememberMe\"\n type=\"checkbox\"\n [defaultChecked]=\"!!login?.rememberMe\"\n />\n {{ 'rememberMe' | msgStr }}\n </label>\n </div>\n }\n </div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <input\n tabindex=\"4\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n [value]=\"'doLogIn' | msgStr\"\n />\n </div>\n </form>\n }\n </div>\n </div>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginUsernameComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'kc-root', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
36
+ KcClassDirective,
37
+ AsyncPipe,
38
+ KcSanitizePipe,
39
+ NgClass,
40
+ TemplateComponent,
41
+ MsgStrPipe
42
+ ], providers: [
43
+ {
44
+ provide: ComponentReference,
45
+ useExisting: forwardRef(() => LoginUsernameComponent)
46
+ }
47
+ ], template: "@let realm = kcContext.realm;\n@let social = kcContext.social;\n@let usernameHidden = kcContext.usernameHidden;\n@let messagesPerField = kcContext.messagesPerField;\n@let url = kcContext.url;\n@let login = kcContext.login;\n\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 infoNode>\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 </ng-container>\n <ng-container socialProvidersNode>\n @if (!!realm?.password && !!social?.providers?.length) {\n <div\n id=\"kc-social-providers\"\n [kcClass]=\"'kcFormSocialAccountSectionClass'\"\n >\n <hr />\n <h2>{{ 'identity-provider-login-label' | msgStr }}</h2>\n <ul\n [kcClass]=\"{\n kcFormSocialAccountListClass: true,\n kcFormSocialAccountListGridClass: (social?.providers?.length ?? 0) > 3,\n }\"\n >\n @for (provider of social?.providers; track provider.alias; let idx = $index) {\n <li>\n <a\n [id]=\"provider.alias\"\n [kcClass]=\"{\n kcFormSocialAccountListButtonClass: true,\n kcFormSocialAccountGridItem: (social?.providers?.length ?? 0) > 3,\n }\"\n type=\"button\"\n [href]=\"provider.loginUrl\"\n >\n @if (provider.iconClasses) {\n <i\n [ngClass]=\"provider.iconClasses\"\n [kcClass]=\"'kcCommonLogoIdP'\"\n aria-hidden=\"true\"\n ></i>\n }\n <span\n [ngClass]=\"{\n 'kc-social-icon-text': provider.iconClasses,\n }\"\n [kcClass]=\"'kcFormSocialAccountNameClass'\"\n [innerHTML]=\"provider.displayName | kcSanitize: 'html'\"\n ></span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n </ng-container>\n <ng-container content>\n <div id=\"kc-form\">\n <div id=\"kc-form-wrapper\">\n @if (realm.password) {\n <form\n id=\"kc-form-login\"\n (onSubmit)=\"isLoginButtonDisabled.set(true)\"\n [action]=\"url?.loginAction\"\n method=\"post\"\n >\n @if (!usernameHidden) {\n <div [kcClass]=\"'kcFormGroupClass'\">\n <label\n for=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n @if (!realm?.loginWithEmailAllowed) {\n {{ 'username' | msgStr }}\n } @else if (!realm?.registrationEmailAsUsername) {\n {{ 'usernameOrEmail' | msgStr }}\n } @else {\n {{ 'email' | msgStr }}\n }\n </label>\n <input\n tabindex=\"2\"\n id=\"username\"\n [kcClass]=\"'kcInputClass'\"\n name=\"username\"\n type=\"text\"\n autofocus\n autoComplete=\"off\"\n [defaultValue]=\"login?.username || ''\"\n [attr.aria-invalid]=\"messagesPerField?.existsError('username')\"\n />\n @if (messagesPerField?.existsError('username')) {\n <span\n id=\"input-error\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n [innerHTML]=\"messagesPerField?.getFirstError('username') | kcSanitize: 'html'\"\n >\n </span>\n }\n <!---->\n </div>\n }\n\n <div [kcClass]=\"['kcFormGroupClass', 'kcFormSettingClass']\">\n <div id=\"kc-form-options\">\n @if (realm.rememberMe && !usernameHidden) {\n <div class=\"checkbox\">\n <label>\n <input\n tabindex=\"5\"\n id=\"rememberMe\"\n name=\"rememberMe\"\n type=\"checkbox\"\n [defaultChecked]=\"!!login?.rememberMe\"\n />\n {{ 'rememberMe' | msgStr }}\n </label>\n </div>\n }\n </div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <input\n tabindex=\"4\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n [value]=\"'doLogIn' | msgStr\"\n />\n </div>\n </form>\n }\n </div>\n </div>\n </ng-container>\n</kc-login-template>\n" }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tdXNlcm5hbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tdXNlcm5hbWUvbG9naW4tdXNlcm5hbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tdXNlcm5hbWUvbG9naW4tdXNlcm5hbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILE9BQU8sRUFDUCxVQUFVLEVBQ1YsZUFBZSxFQUNsQixNQUFNLHFDQUFxQyxDQUFDO0FBRzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBc0IzRSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBcEI5RDs7UUFxQkksY0FBUyxHQUFHLE1BQU0sQ0FBdUQsVUFBVSxDQUFDLENBQUM7UUFDckYsMEJBQXFCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN2QixvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FBQztRQUN0RSwwQkFBcUIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsZ0JBQVcsR0FDUCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUTtZQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CO1lBQzVDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQztRQUMxQyxtQkFBYyxHQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDeEY7OEdBYlksc0JBQXNCO2tHQUF0QixzQkFBc0IsMGdCQVBwQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDeEQ7U0FDSixpREN4Q0wsbTdLQWlLQSw0Q0RySVEsZ0JBQWdCLDBGQUVoQixjQUFjLG1EQUNkLE9BQU8sb0ZBQ1AsaUJBQWlCLCtKQUNqQixVQUFVOzsyRkFTTCxzQkFBc0I7a0JBcEJsQyxTQUFTOytCQUNJLFNBQVMsY0FFUCxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGNBQWM7d0JBQ2QsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLFVBQVU7cUJBQ2IsYUFDVTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzt5QkFDeEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDTEFTU0VTLFxuICAgIEtDX0NPTlRFWFQsXG4gICAgVVNFX0RFRkFVTFRfQ1NTXG59IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBLY0NvbnRleHQgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29udGFpbmVycy90ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtjU2FuaXRpemVQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMva2Mtc2FuaXRpemUucGlwZSc7XG5pbXBvcnQgeyBNc2dTdHJQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvbXNnLXN0ci5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYy1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9naW4tdXNlcm5hbWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBLY0NsYXNzRGlyZWN0aXZlLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIEtjU2FuaXRpemVQaXBlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICAgICAgTXNnU3RyUGlwZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ2luVXNlcm5hbWVDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luVXNlcm5hbWVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxFeHRyYWN0PEtjQ29udGV4dCwgeyBwYWdlSWQ6ICdsb2dpbi11c2VybmFtZS5mdGwnIH0+PihLQ19DT05URVhUKTtcbiAgICBkaXNwbGF5UmVxdWlyZWRGaWVsZHMgPSBpbnB1dChmYWxzZSk7XG4gICAgZG9jdW1lbnRUaXRsZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgICBib2R5Q2xhc3NOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihDTEFTU0VTKTtcbiAgICBpc0xvZ2luQnV0dG9uRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xuICAgIGRpc3BsYXlJbmZvOiBib29sZWFuID1cbiAgICAgICAgISF0aGlzLmtjQ29udGV4dD8ucmVhbG0/LnBhc3N3b3JkICYmXG4gICAgICAgICEhdGhpcy5rY0NvbnRleHQ/LnJlYWxtPy5yZWdpc3RyYXRpb25BbGxvd2VkICYmXG4gICAgICAgICF0aGlzLmtjQ29udGV4dD8ucmVnaXN0cmF0aW9uRGlzYWJsZWQ7XG4gICAgZGlzcGxheU1lc3NhZ2U6IGJvb2xlYW4gPSAhdGhpcy5rY0NvbnRleHQ/Lm1lc3NhZ2VzUGVyRmllbGQ/LmV4aXN0c0Vycm9yKCd1c2VybmFtZScpO1xufVxuIiwiQGxldCByZWFsbSA9IGtjQ29udGV4dC5yZWFsbTtcbkBsZXQgc29jaWFsID0ga2NDb250ZXh0LnNvY2lhbDtcbkBsZXQgdXNlcm5hbWVIaWRkZW4gPSBrY0NvbnRleHQudXNlcm5hbWVIaWRkZW47XG5AbGV0IG1lc3NhZ2VzUGVyRmllbGQgPSBrY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZDtcbkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgbG9naW4gPSBrY0NvbnRleHQubG9naW47XG5cbjxrYy1sb2dpbi10ZW1wbGF0ZVxuICBbZGlzcGxheUluZm9dPVwiZGlzcGxheUluZm9cIlxuICBbYm9keUNsYXNzTmFtZV09XCJib2R5Q2xhc3NOYW1lKClcIlxuICBbZGlzcGxheU1lc3NhZ2VdPVwiZGlzcGxheU1lc3NhZ2VcIlxuICBbZGlzcGxheVJlcXVpcmVkRmllbGRzXT1cImRpc3BsYXlSZXF1aXJlZEZpZWxkcygpXCJcbiAgW2RvY3VtZW50VGl0bGVdPVwiZG9jdW1lbnRUaXRsZSgpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBoZWFkZXJOb2RlPlxuICAgIHt7ICdkb0xvZ0luJyB8IG1zZ1N0ciB9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBpbmZvTm9kZT5cbiAgICA8ZGl2IGlkPVwia2MtcmVnaXN0cmF0aW9uXCI+XG4gICAgICA8c3Bhbj5cbiAgICAgICAge3sgJ25vQWNjb3VudCcgfCBtc2dTdHIgfX1cbiAgICAgICAgPGFcbiAgICAgICAgICB0YWJpbmRleD1cIjZcIlxuICAgICAgICAgIFtocmVmXT1cInVybD8ucmVnaXN0cmF0aW9uVXJsXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdkb1JlZ2lzdGVyJyB8IG1zZ1N0ciB9fVxuICAgICAgICA8L2E+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIHNvY2lhbFByb3ZpZGVyc05vZGU+XG4gICAgQGlmICghIXJlYWxtPy5wYXNzd29yZCAmJiAhIXNvY2lhbD8ucHJvdmlkZXJzPy5sZW5ndGgpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgaWQ9XCJrYy1zb2NpYWwtcHJvdmlkZXJzXCJcbiAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybVNvY2lhbEFjY291bnRTZWN0aW9uQ2xhc3MnXCJcbiAgICAgID5cbiAgICAgICAgPGhyIC8+XG4gICAgICAgIDxoMj57eyAnaWRlbnRpdHktcHJvdmlkZXItbG9naW4tbGFiZWwnIHwgbXNnU3RyIH19PC9oMj5cbiAgICAgICAgPHVsXG4gICAgICAgICAgW2tjQ2xhc3NdPVwie1xuICAgICAgICAgICAga2NGb3JtU29jaWFsQWNjb3VudExpc3RDbGFzczogdHJ1ZSxcbiAgICAgICAgICAgIGtjRm9ybVNvY2lhbEFjY291bnRMaXN0R3JpZENsYXNzOiAoc29jaWFsPy5wcm92aWRlcnM/Lmxlbmd0aCA/PyAwKSA+IDMsXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICBAZm9yIChwcm92aWRlciBvZiBzb2NpYWw/LnByb3ZpZGVyczsgdHJhY2sgcHJvdmlkZXIuYWxpYXM7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbaWRdPVwicHJvdmlkZXIuYWxpYXNcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgIGtjRm9ybVNvY2lhbEFjY291bnRMaXN0QnV0dG9uQ2xhc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgICBrY0Zvcm1Tb2NpYWxBY2NvdW50R3JpZEl0ZW06IChzb2NpYWw/LnByb3ZpZGVycz8ubGVuZ3RoID8/IDApID4gMyxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJwcm92aWRlci5sb2dpblVybFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKHByb3ZpZGVyLmljb25DbGFzc2VzKSB7XG4gICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJwcm92aWRlci5pY29uQ2xhc3Nlc1wiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0NvbW1vbkxvZ29JZFAnXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdrYy1zb2NpYWwtaWNvbi10ZXh0JzogcHJvdmlkZXIuaWNvbkNsYXNzZXMsXG4gICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1Tb2NpYWxBY2NvdW50TmFtZUNsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInByb3ZpZGVyLmRpc3BsYXlOYW1lIHwga2NTYW5pdGl6ZTogJ2h0bWwnXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgY29udGVudD5cbiAgICA8ZGl2IGlkPVwia2MtZm9ybVwiPlxuICAgICAgPGRpdiBpZD1cImtjLWZvcm0td3JhcHBlclwiPlxuICAgICAgICBAaWYgKHJlYWxtLnBhc3N3b3JkKSB7XG4gICAgICAgICAgPGZvcm1cbiAgICAgICAgICAgIGlkPVwia2MtZm9ybS1sb2dpblwiXG4gICAgICAgICAgICAob25TdWJtaXQpPVwiaXNMb2dpbkJ1dHRvbkRpc2FibGVkLnNldCh0cnVlKVwiXG4gICAgICAgICAgICBbYWN0aW9uXT1cInVybD8ubG9naW5BY3Rpb25cIlxuICAgICAgICAgICAgbWV0aG9kPVwicG9zdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmICghdXNlcm5hbWVIaWRkZW4pIHtcbiAgICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgIGZvcj1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBAaWYgKCFyZWFsbT8ubG9naW5XaXRoRW1haWxBbGxvd2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHt7ICd1c2VybmFtZScgfCBtc2dTdHIgfX1cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCFyZWFsbT8ucmVnaXN0cmF0aW9uRW1haWxBc1VzZXJuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHt7ICd1c2VybmFtZU9yRW1haWwnIHwgbXNnU3RyIH19XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAge3sgJ2VtYWlsJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjJcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgYXV0b2ZvY3VzXG4gICAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJsb2dpbj8udXNlcm5hbWUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1lc3NhZ2VzUGVyRmllbGQ/LmV4aXN0c0Vycm9yKCd1c2VybmFtZScpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIEBpZiAobWVzc2FnZXNQZXJGaWVsZD8uZXhpc3RzRXJyb3IoJ3VzZXJuYW1lJykpIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiaW5wdXQtZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEVycm9yTWVzc2FnZUNsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibWVzc2FnZXNQZXJGaWVsZD8uZ2V0Rmlyc3RFcnJvcigndXNlcm5hbWUnKSB8IGtjU2FuaXRpemU6ICdodG1sJ1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwhLS0tLT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiWydrY0Zvcm1Hcm91cENsYXNzJywgJ2tjRm9ybVNldHRpbmdDbGFzcyddXCI+XG4gICAgICAgICAgICAgIDxkaXYgaWQ9XCJrYy1mb3JtLW9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHJlYWxtLnJlbWVtYmVyTWUgJiYgIXVzZXJuYW1lSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCI1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicmVtZW1iZXJNZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwicmVtZW1iZXJNZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDaGVja2VkXT1cIiEhbG9naW4/LnJlbWVtYmVyTWVcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ3JlbWVtYmVyTWUnIHwgbXNnU3RyIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGlkPVwia2MtZm9ybS1idXR0b25zXCJcbiAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCI0XCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25CbG9ja0NsYXNzJywgJ2tjQnV0dG9uTGFyZ2VDbGFzcyddXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwibG9naW5cIlxuICAgICAgICAgICAgICAgIGlkPVwia2MtbG9naW5cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCInZG9Mb2dJbicgfCBtc2dTdHJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9mb3JtPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+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 LoginVerifyEmailComponent extends ComponentReference {
5
6
  kcContext: KcContext.LoginVerifyEmail;
6
7
  doUseDefaultCss: boolean;
@@ -10,4 +11,6 @@ export declare class LoginVerifyEmailComponent extends ComponentReference {
10
11
  bodyClassName: import("@angular/core").InputSignal<string | undefined>;
11
12
  displayInfo: boolean;
12
13
  displayMessage: boolean;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginVerifyEmailComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginVerifyEmailComponent, "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';
6
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
7
+ import * as i0 from "@angular/core";
8
+ export class LoginVerifyEmailComponent 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 = true;
18
+ this.displayMessage = true;
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginVerifyEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: LoginVerifyEmailComponent, 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(() => LoginVerifyEmailComponent)
25
+ }
26
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let user = kcContext.user;\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 {{ 'emailVerifyTitle' | msgStr }}\n </ng-container>\n <ng-container infoNode>\n <p class=\"instruction\">\n {{ 'emailVerifyInstruction2' | msgStr }}\n <br />\n <a [href]=\"url.loginAction\">{{ 'doClickHere' | msgStr }}</a>\n &nbsp;\n {{ 'emailVerifyInstruction3' | msgStr }}\n </p>\n </ng-container>\n <ng-container content>\n <p class=\"instruction\">\n {{ 'emailVerifyInstruction1' | msgStr: user?.email ?? '' }}\n </p></ng-container\n >\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 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LoginVerifyEmailComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ standalone: true, imports: [KcClassDirective, TemplateComponent, MsgStrPipe], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
31
+ {
32
+ provide: ComponentReference,
33
+ useExisting: forwardRef(() => LoginVerifyEmailComponent)
34
+ }
35
+ ], template: "@let url = kcContext.url;\n@let user = kcContext.user;\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 {{ 'emailVerifyTitle' | msgStr }}\n </ng-container>\n <ng-container infoNode>\n <p class=\"instruction\">\n {{ 'emailVerifyInstruction2' | msgStr }}\n <br />\n <a [href]=\"url.loginAction\">{{ 'doClickHere' | msgStr }}</a>\n &nbsp;\n {{ 'emailVerifyInstruction3' | msgStr }}\n </p>\n </ng-container>\n <ng-container content>\n <p class=\"instruction\">\n {{ 'emailVerifyInstruction1' | msgStr: user?.email ?? '' }}\n </p></ng-container\n >\n</kc-login-template>\n" }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tdmVyaWZ5LWVtYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLXZlcmlmeS1lbWFpbC9sb2dpbi12ZXJpZnktZW1haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4tdmVyaWZ5LWVtYWlsL2xvZ2luLXZlcmlmeS1lbWFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLFVBQVUsRUFDVixlQUFlLEVBQ2xCLE1BQU0scUNBQXFDLENBQUM7QUFHN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQWUzRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsa0JBQWtCO0lBYmpFOztRQWNJLGNBQVMsR0FDTCxNQUFNLENBQTJELFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLDBCQUFxQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDaEMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsbUJBQWMsR0FBWSxJQUFJLENBQUM7S0FDbEM7OEdBVlkseUJBQXlCO2tHQUF6Qix5QkFBeUIsMGdCQVB2QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDM0Q7U0FDSixpREM5QkwsNnpCQTJCQSw0Q0ROZ0MsaUJBQWlCLCtKQUFFLFVBQVU7OzJGQVdoRCx5QkFBeUI7a0JBYnJDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLFlBQ2hELFNBQVMsbUJBRUYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzt5QkFDM0Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ0xBU1NFUyxcbiAgICBLQ19DT05URVhULFxuICAgIFVTRV9ERUZBVUxUX0NTU1xufSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgS2NDb250ZXh0IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbnRhaW5lcnMvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IE1zZ1N0clBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9tc2ctc3RyLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBUZW1wbGF0ZUNvbXBvbmVudCwgTXNnU3RyUGlwZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2xvZ2luLXZlcmlmeS1lbWFpbC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ2luVmVyaWZ5RW1haWxDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luVmVyaWZ5RW1haWxDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9XG4gICAgICAgIGluamVjdDxFeHRyYWN0PEtjQ29udGV4dCwgeyBwYWdlSWQ6ICdsb2dpbi12ZXJpZnktZW1haWwuZnRsJyB9Pj4oS0NfQ09OVEVYVCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xuICAgIGRpc3BsYXlSZXF1aXJlZEZpZWxkcyA9IGlucHV0KGZhbHNlKTtcbiAgICBkb2N1bWVudFRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIGJvZHlDbGFzc05hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgZGlzcGxheUluZm86IGJvb2xlYW4gPSB0cnVlO1xuICAgIGRpc3BsYXlNZXNzYWdlOiBib29sZWFuID0gdHJ1ZTtcbn1cbiIsIkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgdXNlciA9IGtjQ29udGV4dC51c2VyO1xuPGtjLWxvZ2luLXRlbXBsYXRlXG4gIFtkaXNwbGF5SW5mb109XCJkaXNwbGF5SW5mb1wiXG4gIFtib2R5Q2xhc3NOYW1lXT1cImJvZHlDbGFzc05hbWUoKVwiXG4gIFtkaXNwbGF5TWVzc2FnZV09XCJkaXNwbGF5TWVzc2FnZVwiXG4gIFtkaXNwbGF5UmVxdWlyZWRGaWVsZHNdPVwiZGlzcGxheVJlcXVpcmVkRmllbGRzKClcIlxuICBbZG9jdW1lbnRUaXRsZV09XCJkb2N1bWVudFRpdGxlKClcIlxuPlxuICA8bmctY29udGFpbmVyIGhlYWRlck5vZGU+XG4gICAge3sgJ2VtYWlsVmVyaWZ5VGl0bGUnIHwgbXNnU3RyIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIGluZm9Ob2RlPlxuICAgIDxwIGNsYXNzPVwiaW5zdHJ1Y3Rpb25cIj5cbiAgICAgIHt7ICdlbWFpbFZlcmlmeUluc3RydWN0aW9uMicgfCBtc2dTdHIgfX1cbiAgICAgIDxiciAvPlxuICAgICAgPGEgW2hyZWZdPVwidXJsLmxvZ2luQWN0aW9uXCI+e3sgJ2RvQ2xpY2tIZXJlJyB8IG1zZ1N0ciB9fTwvYT5cbiAgICAgICZuYnNwO1xuICAgICAge3sgJ2VtYWlsVmVyaWZ5SW5zdHJ1Y3Rpb24zJyB8IG1zZ1N0ciB9fVxuICAgIDwvcD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgY29udGVudD5cbiAgICA8cCBjbGFzcz1cImluc3RydWN0aW9uXCI+XG4gICAgICB7eyAnZW1haWxWZXJpZnlJbnN0cnVjdGlvbjEnIHwgbXNnU3RyOiB1c2VyPy5lbWFpbCA/PyAnJyB9fVxuICAgIDwvcD48L25nLWNvbnRhaW5lclxuICA+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 LoginX509InfoComponent extends ComponentReference {
5
6
  kcContext: KcContext.LoginX509Info;
6
7
  doUseDefaultCss: boolean;
@@ -10,4 +11,6 @@ export declare class LoginX509InfoComponent extends ComponentReference {
10
11
  bodyClassName: import("@angular/core").InputSignal<string | undefined>;
11
12
  displayInfo: boolean;
12
13
  displayMessage: boolean;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginX509InfoComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginX509InfoComponent, "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';
6
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
7
+ import * as i0 from "@angular/core";
8
+ export class LoginX509InfoComponent 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: LoginX509InfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: LoginX509InfoComponent, 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(() => LoginX509InfoComponent)
25
+ }
26
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let x509 = kcContext.x509;\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-x509-login-info\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"certificate_subjectDN\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'clientCertificate' | msgStr }}\n </label>\n </div>\n @if (x509.formData.subjectDN) {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n id=\"certificate_subjectDN\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ x509.formData.subjectDN }}\n </label>\n </div>\n } @else {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n id=\"certificate_subjectDN\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'noCertificate' | msgStr }}\n </label>\n </div>\n }\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n @if (x509.formData.isUserEnabled) {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'doX509Login' | msgStr }}\n </label>\n </div>\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n id=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ x509.formData.username }}\n </label>\n </div>\n }\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 <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <div [kcClass]=\"'kcFormButtonsWrapperClass'\">\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n [value]=\"'doContinue' | msgStr\"\n />\n @if (x509.formData.isUserEnabled) {\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel\"\n id=\"kc-cancel\"\n type=\"submit\"\n [value]=\"'doIgnore' | msgStr\"\n />\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: LoginX509InfoComponent, 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(() => LoginX509InfoComponent)
34
+ }
35
+ ], template: "@let url = kcContext.url;\n@let x509 = kcContext.x509;\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-x509-login-info\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n method=\"post\"\n >\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"certificate_subjectDN\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'clientCertificate' | msgStr }}\n </label>\n </div>\n @if (x509.formData.subjectDN) {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n id=\"certificate_subjectDN\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ x509.formData.subjectDN }}\n </label>\n </div>\n } @else {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n id=\"certificate_subjectDN\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'noCertificate' | msgStr }}\n </label>\n </div>\n }\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n @if (x509.formData.isUserEnabled) {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'doX509Login' | msgStr }}\n </label>\n </div>\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n id=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ x509.formData.username }}\n </label>\n </div>\n }\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 <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <div [kcClass]=\"'kcFormButtonsWrapperClass'\">\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n [value]=\"'doContinue' | msgStr\"\n />\n @if (x509.formData.isUserEnabled) {\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel\"\n id=\"kc-cancel\"\n type=\"submit\"\n [value]=\"'doIgnore' | msgStr\"\n />\n }\n </div>\n </div>\n </div>\n </form>\n </ng-container>\n</kc-login-template>\n" }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4teDUwOS1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLXg1MDktaW5mby9sb2dpbi14NTA5LWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9naW4teDUwOS1pbmZvL2xvZ2luLXg1MDktaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLFVBQVUsRUFDVixlQUFlLEVBQ2xCLE1BQU0scUNBQXFDLENBQUM7QUFHN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQWUzRSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBYjlEOztRQWNJLGNBQVMsR0FBRyxNQUFNLENBQXdELFVBQVUsQ0FBQyxDQUFDO1FBQzdFLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLDBCQUFxQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDaEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7S0FDbkM7OEdBVFksc0JBQXNCO2tHQUF0QixzQkFBc0IsMGdCQVBwQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDeEQ7U0FDSixpREM5QkwsK2xHQXNHQSw0Q0RqRmMsaUJBQWlCLCtKQUFFLFVBQVUsK0NBQUUsZ0JBQWdCOzsyRkFXaEQsc0JBQXNCO2tCQWJsQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUNoRCxTQUFTLG1CQUVGLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7eUJBQ3hEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENMQVNTRVMsXG4gICAgS0NfQ09OVEVYVCxcbiAgICBVU0VfREVGQVVMVF9DU1Ncbn0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IEtjQ29udGV4dCB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb250YWluZXJzL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBNc2dTdHJQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvbXNnLXN0ci5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGVtcGxhdGVDb21wb25lbnQsIE1zZ1N0clBpcGUsIEtjQ2xhc3NEaXJlY3RpdmVdLFxuICAgIHNlbGVjdG9yOiAna2Mtcm9vdCcsXG4gICAgdGVtcGxhdGVVcmw6ICdsb2dpbi14NTA5LWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2dpblg1MDlJbmZvQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpblg1MDlJbmZvQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBrY0NvbnRleHQgPSBpbmplY3Q8RXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAnbG9naW4teDUwOS1pbmZvLmZ0bCcgfT4+KEtDX0NPTlRFWFQpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihDTEFTU0VTKTtcbiAgICBkaXNwbGF5UmVxdWlyZWRGaWVsZHMgPSBpbnB1dChmYWxzZSk7XG4gICAgZG9jdW1lbnRUaXRsZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgICBib2R5Q2xhc3NOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIGRpc3BsYXlJbmZvOiBib29sZWFuID0gZmFsc2U7XG4gICAgZGlzcGxheU1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbn1cbiIsIkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgeDUwOSA9IGtjQ29udGV4dC54NTA5O1xuPGtjLWxvZ2luLXRlbXBsYXRlXG4gIFtkaXNwbGF5SW5mb109XCJkaXNwbGF5SW5mb1wiXG4gIFtib2R5Q2xhc3NOYW1lXT1cImJvZHlDbGFzc05hbWUoKVwiXG4gIFtkaXNwbGF5TWVzc2FnZV09XCJkaXNwbGF5TWVzc2FnZVwiXG4gIFtkaXNwbGF5UmVxdWlyZWRGaWVsZHNdPVwiZGlzcGxheVJlcXVpcmVkRmllbGRzKClcIlxuICBbZG9jdW1lbnRUaXRsZV09XCJkb2N1bWVudFRpdGxlKClcIlxuPlxuICA8bmctY29udGFpbmVyIGhlYWRlck5vZGU+XG4gICAge3sgJ2RvTG9nSW4nIHwgbXNnU3RyIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIGNvbnRlbnQ+XG4gICAgPGZvcm1cbiAgICAgIGlkPVwia2MteDUwOS1sb2dpbi1pbmZvXCJcbiAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1DbGFzcydcIlxuICAgICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuICAgICAgbWV0aG9kPVwicG9zdFwiXG4gICAgPlxuICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIj5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NMYWJlbFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIGZvcj1cImNlcnRpZmljYXRlX3N1YmplY3RETlwiXG4gICAgICAgICAgICBba2NDbGFzc109XCIna2NMYWJlbENsYXNzJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ2NsaWVudENlcnRpZmljYXRlJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKHg1MDkuZm9ybURhdGEuc3ViamVjdEROKSB7XG4gICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NMYWJlbFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBpZD1cImNlcnRpZmljYXRlX3N1YmplY3RETlwiXG4gICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgeDUwOS5mb3JtRGF0YS5zdWJqZWN0RE4gfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgaWQ9XCJjZXJ0aWZpY2F0ZV9zdWJqZWN0RE5cIlxuICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NMYWJlbENsYXNzJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdub0NlcnRpZmljYXRlJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICBAaWYgKHg1MDkuZm9ybURhdGEuaXNVc2VyRW5hYmxlZCkge1xuICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgZm9yPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NMYWJlbENsYXNzJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdkb1g1MDlMb2dpbicgfCBtc2dTdHIgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NMYWJlbFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBpZD1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyB4NTA5LmZvcm1EYXRhLnVzZXJuYW1lIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD1cImtjLWZvcm0tb3B0aW9uc1wiXG4gICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybU9wdGlvbnNDbGFzcydcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtT3B0aW9uc1dyYXBwZXJDbGFzcydcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD1cImtjLWZvcm0tYnV0dG9uc1wiXG4gICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtQnV0dG9uc1dyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICBuYW1lPVwibG9naW5cIlxuICAgICAgICAgICAgICBpZD1cImtjLWxvZ2luXCJcbiAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCInZG9Db250aW51ZScgfCBtc2dTdHJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIEBpZiAoeDUwOS5mb3JtRGF0YS5pc1VzZXJFbmFibGVkKSB7XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvbkRlZmF1bHRDbGFzcycsICdrY0J1dHRvbkxhcmdlQ2xhc3MnXVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImNhbmNlbFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJrYy1jYW5jZWxcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCInZG9JZ25vcmUnIHwgbXNnU3RyXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+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 LogoutConfirmComponent extends ComponentReference {
5
6
  kcContext: KcContext.LogoutConfirm;
6
7
  doUseDefaultCss: boolean;
@@ -10,4 +11,6 @@ export declare class LogoutConfirmComponent extends ComponentReference {
10
11
  bodyClassName: import("@angular/core").InputSignal<string | undefined>;
11
12
  displayInfo: boolean;
12
13
  displayMessage: boolean;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<LogoutConfirmComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<LogoutConfirmComponent, "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';
6
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
7
+ import * as i0 from "@angular/core";
8
+ export class LogoutConfirmComponent 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 = true;
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: LogoutConfirmComponent, 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(() => LogoutConfirmComponent)
25
+ }
26
+ ], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let logoutConfirm = kcContext.logoutConfirm;\n@let client = kcContext.client;\n\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 {{ 'logoutConfirmTitle' | msgStr }}\n </ng-container>\n <ng-container content>\n <div\n id=\"kc-logout-confirm\"\n class=\"content-area\"\n >\n <p class=\"instruction\">{{ 'logoutConfirmHeader' | msgStr }}</p>\n <form\n class=\"form-actions\"\n [action]=\"url.logoutConfirmAction\"\n method=\"POST\"\n >\n <input\n type=\"hidden\"\n name=\"session_code\"\n [value]=\"logoutConfirm.code\"\n />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div id=\"kc-form-options\">\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n class=\"kcFormGroupClass\"\n >\n <input\n tabIndex=\"4\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n name=\"confirmLogout\"\n id=\"kc-logout\"\n type=\"submit\"\n [value]=\"'doLogout' | msgStr\"\n />\n </div>\n </div>\n </form>\n <div id=\"kc-info-message\">\n @if (!logoutConfirm.skipLink && client.baseUrl) {\n <p>\n <a [href]=\"client.baseUrl\">{{ 'backToApplication' | msgStr }}</a>\n </p>\n }\n </div>\n </div>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "pipe", type: MsgStrPipe, name: "msgStr" }, { kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutConfirmComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ standalone: true, imports: [MsgStrPipe, TemplateComponent, KcClassDirective], selector: 'kc-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
31
+ {
32
+ provide: ComponentReference,
33
+ useExisting: forwardRef(() => LogoutConfirmComponent)
34
+ }
35
+ ], template: "@let url = kcContext.url;\n@let logoutConfirm = kcContext.logoutConfirm;\n@let client = kcContext.client;\n\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 {{ 'logoutConfirmTitle' | msgStr }}\n </ng-container>\n <ng-container content>\n <div\n id=\"kc-logout-confirm\"\n class=\"content-area\"\n >\n <p class=\"instruction\">{{ 'logoutConfirmHeader' | msgStr }}</p>\n <form\n class=\"form-actions\"\n [action]=\"url.logoutConfirmAction\"\n method=\"POST\"\n >\n <input\n type=\"hidden\"\n name=\"session_code\"\n [value]=\"logoutConfirm.code\"\n />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div id=\"kc-form-options\">\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n class=\"kcFormGroupClass\"\n >\n <input\n tabIndex=\"4\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n name=\"confirmLogout\"\n id=\"kc-logout\"\n type=\"submit\"\n [value]=\"'doLogout' | msgStr\"\n />\n </div>\n </div>\n </form>\n <div id=\"kc-info-message\">\n @if (!logoutConfirm.skipLink && client.baseUrl) {\n <p>\n <a [href]=\"client.baseUrl\">{{ 'backToApplication' | msgStr }}</a>\n </p>\n }\n </div>\n </div>\n </ng-container>\n</kc-login-template>\n" }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9nb3V0LWNvbmZpcm0vbG9nb3V0LWNvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvbG9nb3V0LWNvbmZpcm0vbG9nb3V0LWNvbmZpcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILE9BQU8sRUFDUCxVQUFVLEVBQ1YsZUFBZSxFQUNsQixNQUFNLHFDQUFxQyxDQUFDO0FBRzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFlM0UsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWI5RDs7UUFjSSxjQUFTLEdBQUcsTUFBTSxDQUF1RCxVQUFVLENBQUMsQ0FBQztRQUM1RSxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FBQztRQUN0RSwwQkFBcUIsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQVksSUFBSSxDQUFDO0tBQ2xDOzhHQVRZLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDBnQkFQcEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ3hEO1NBQ0osaURDOUJMLDB3REEyREEsdUNEdENjLFVBQVUsK0NBQUUsaUJBQWlCLG9LQUFFLGdCQUFnQjs7MkZBV2hELHNCQUFzQjtrQkFibEMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsWUFDaEQsU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDO3lCQUN4RDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDTEFTU0VTLFxuICAgIEtDX0NPTlRFWFQsXG4gICAgVVNFX0RFRkFVTFRfQ1NTXG59IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBLY0NvbnRleHQgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29udGFpbmVycy90ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL21zZy1zdHIucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01zZ1N0clBpcGUsIFRlbXBsYXRlQ29tcG9uZW50LCBLY0NsYXNzRGlyZWN0aXZlXSxcbiAgICBzZWxlY3RvcjogJ2tjLXJvb3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnbG9nb3V0LWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2dvdXRDb25maXJtQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dvdXRDb25maXJtQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBrY0NvbnRleHQgPSBpbmplY3Q8RXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAnbG9nb3V0LWNvbmZpcm0uZnRsJyB9Pj4oS0NfQ09OVEVYVCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xuICAgIGRpc3BsYXlSZXF1aXJlZEZpZWxkcyA9IGlucHV0KGZhbHNlKTtcbiAgICBkb2N1bWVudFRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIGJvZHlDbGFzc05hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgZGlzcGxheUluZm86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBkaXNwbGF5TWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XG59XG4iLCJAbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG5AbGV0IGxvZ291dENvbmZpcm0gPSBrY0NvbnRleHQubG9nb3V0Q29uZmlybTtcbkBsZXQgY2xpZW50ID0ga2NDb250ZXh0LmNsaWVudDtcblxuPGtjLWxvZ2luLXRlbXBsYXRlXG4gIFtkaXNwbGF5SW5mb109XCJkaXNwbGF5SW5mb1wiXG4gIFtib2R5Q2xhc3NOYW1lXT1cImJvZHlDbGFzc05hbWUoKVwiXG4gIFtkaXNwbGF5TWVzc2FnZV09XCJkaXNwbGF5TWVzc2FnZVwiXG4gIFtkaXNwbGF5UmVxdWlyZWRGaWVsZHNdPVwiZGlzcGxheVJlcXVpcmVkRmllbGRzKClcIlxuICBbZG9jdW1lbnRUaXRsZV09XCJkb2N1bWVudFRpdGxlKClcIlxuPlxuICA8bmctY29udGFpbmVyIGhlYWRlck5vZGU+XG4gICAge3sgJ2xvZ291dENvbmZpcm1UaXRsZScgfCBtc2dTdHIgfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgY29udGVudD5cbiAgICA8ZGl2XG4gICAgICBpZD1cImtjLWxvZ291dC1jb25maXJtXCJcbiAgICAgIGNsYXNzPVwiY29udGVudC1hcmVhXCJcbiAgICA+XG4gICAgICA8cCBjbGFzcz1cImluc3RydWN0aW9uXCI+e3sgJ2xvZ291dENvbmZpcm1IZWFkZXInIHwgbXNnU3RyIH19PC9wPlxuICAgICAgPGZvcm1cbiAgICAgICAgY2xhc3M9XCJmb3JtLWFjdGlvbnNcIlxuICAgICAgICBbYWN0aW9uXT1cInVybC5sb2dvdXRDb25maXJtQWN0aW9uXCJcbiAgICAgICAgbWV0aG9kPVwiUE9TVFwiXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICAgIG5hbWU9XCJzZXNzaW9uX2NvZGVcIlxuICAgICAgICAgIFt2YWx1ZV09XCJsb2dvdXRDb25maXJtLmNvZGVcIlxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJrYy1mb3JtLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybU9wdGlvbnNXcmFwcGVyQ2xhc3MnXCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJrYy1mb3JtLWJ1dHRvbnNcIlxuICAgICAgICAgICAgY2xhc3M9XCJrY0Zvcm1Hcm91cENsYXNzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdGFiSW5kZXg9XCI0XCJcbiAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiWydrY0J1dHRvbkNsYXNzJywgJ2tjQnV0dG9uUHJpbWFyeUNsYXNzJywgJ2tjQnV0dG9uQmxvY2tDbGFzcycsICdrY0J1dHRvbkxhcmdlQ2xhc3MnXVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJjb25maXJtTG9nb3V0XCJcbiAgICAgICAgICAgICAgaWQ9XCJrYy1sb2dvdXRcIlxuICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIidkb0xvZ291dCcgfCBtc2dTdHJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgICA8ZGl2IGlkPVwia2MtaW5mby1tZXNzYWdlXCI+XG4gICAgICAgIEBpZiAoIWxvZ291dENvbmZpcm0uc2tpcExpbmsgJiYgY2xpZW50LmJhc2VVcmwpIHtcbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgIDxhIFtocmVmXT1cImNsaWVudC5iYXNlVXJsXCI+e3sgJ2JhY2tUb0FwcGxpY2F0aW9uJyB8IG1zZ1N0ciB9fTwvYT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwva2MtbG9naW4tdGVtcGxhdGU+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 RegisterComponent extends ComponentReference {
5
6
  kcContext: KcContext.Register;
6
7
  displayRequiredFields: import("@angular/core").InputSignal<boolean>;
@@ -13,4 +14,6 @@ export declare class RegisterComponent extends ComponentReference {
13
14
  displayInfo: boolean;
14
15
  displayMessage: boolean;
15
16
  onCallback(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<RegisterComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<RegisterComponent, "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>;
16
19
  }
@@ -0,0 +1,55 @@
1
+ import { AsyncPipe, NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, input, signal } from '@angular/core';
3
+ import { CLASSES, KC_CONTEXT, USE_DEFAULT_CSS } from '../../../lib/public-api';
4
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
5
+ import { UserProfileFormFieldsComponent } from '../../../login/components/user-profile-form-fields/user-profile-form-fields.component';
6
+ import { TemplateComponent } from '../../../login/containers/template.component';
7
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
8
+ import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
9
+ import { KcSanitizePipe } from '../../../login/pipes/kc-sanitize.pipe';
10
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
11
+ import * as i0 from "@angular/core";
12
+ export class RegisterComponent extends ComponentReference {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.kcContext = inject(KC_CONTEXT);
16
+ this.displayRequiredFields = input(false);
17
+ this.documentTitle = input();
18
+ this.bodyClassName = input();
19
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
20
+ this.classes = inject(CLASSES);
21
+ this.isFormSubmittable = signal(false);
22
+ this.areTermsAccepted = signal(false);
23
+ this.displayInfo = false;
24
+ this.displayMessage = !this.kcContext?.messagesPerField?.existsError('global');
25
+ }
26
+ onCallback() {
27
+ document.getElementById('kc-register-form').submit();
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RegisterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: RegisterComponent, 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: [
31
+ {
32
+ provide: ComponentReference,
33
+ useExisting: forwardRef(() => RegisterComponent)
34
+ }
35
+ ], usesInheritance: true, ngImport: i0, template: "@let messageHeader = kcContext.messageHeader;\n@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let recaptchaRequired = kcContext.recaptchaRequired;\n@let recaptchaVisible = kcContext.recaptchaVisible;\n@let recaptchaSiteKey = kcContext.recaptchaSiteKey;\n@let recaptchaAction = kcContext.recaptchaAction;\n@let termsAcceptanceRequired = kcContext.termsAcceptanceRequired;\n\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 {{ messageHeader ?? 'registerTitle' | advancedMsgStr }}\n </ng-container>\n <ng-container content>\n <form\n id=\"kc-register-form\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.registrationAction\"\n method=\"post\"\n >\n <kc-user-profile-form-fields (onIsFormSubmittable)=\"isFormSubmittable.set($event)\"></kc-user-profile-form-fields>\n @if (termsAcceptanceRequired) {\n <div className=\"form-group\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n {{ 'termsTitle' | msgStr }}\n <div id=\"kc-registration-terms-text\">\n {{ 'termsText' | msgStr }}\n </div>\n </div>\n </div>\n <div className=\"form-group\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <input\n type=\"checkbox\"\n id=\"termsAccepted\"\n name=\"termsAccepted\"\n [kcClass]=\"'kcCheckboxInputClass'\"\n [checked]=\"areTermsAccepted()\"\n (change)=\"areTermsAccepted.set($any($event.target).checked)\"\n [attr.aria-invalid]=\"messagesPerField.existsError('termsAccepted')\"\n />\n <label\n for=\"termsAccepted\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'acceptTerms' | msgStr }}\n </label>\n </div>\n @if (messagesPerField.existsError('termsAccepted')) {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <span\n id=\"input-error-terms-accepted\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n [innerHtml]=\"messagesPerField.get('termsAccepted') | kcSanitize: 'html'\"\n ></span>\n </div>\n }\n </div>\n }\n @if (recaptchaRequired && (recaptchaVisible || recaptchaAction === undefined)) {\n <div className=\"form-group\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <div\n class=\"g-recaptcha\"\n data-size=\"compact\"\n [attr.data-sitekey]=\"recaptchaSiteKey\"\n [attr.data-action]=\"recaptchaAction\"\n ></div>\n </div>\n </div>\n }\n\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <span>\n <a\n [href]=\"url.loginUrl\"\n [innerHTML]=\"'backToLogin' | msgStr | kcSanitize: 'html'\"\n ></a>\n </span>\n </div>\n </div>\n @if (recaptchaRequired && !recaptchaVisible && recaptchaAction !== undefined) {\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <button\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n class=\"g-recaptcha\"\n [attr.data-sitekey]=\"recaptchaSiteKey\"\n [attr.data-callback]=\"onCallback\"\n [attr.data-action]=\"recaptchaAction\"\n type=\"submit\"\n >\n {{ 'doRegister' | msgStr }}\n </button>\n </div>\n } @else {\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [disabled]=\"!isFormSubmittable || (termsAcceptanceRequired && !areTermsAccepted)\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n type=\"submit\"\n [value]=\"'doRegister' | msgStr\"\n />\n </div>\n }\n </div>\n </form>\n </ng-container>\n</kc-login-template>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }, { kind: "component", type: TemplateComponent, selector: "kc-login-template", inputs: ["displayInfo", "displayMessage", "displayRequiredFields", "documentTitle", "bodyClassName"] }, { kind: "component", type: UserProfileFormFieldsComponent, selector: "kc-user-profile-form-fields", outputs: ["onIsFormSubmittable"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RegisterComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'kc-root', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
40
+ KcClassDirective,
41
+ AsyncPipe,
42
+ KcSanitizePipe,
43
+ NgClass,
44
+ TemplateComponent,
45
+ UserProfileFormFieldsComponent,
46
+ MsgStrPipe,
47
+ AdvancedMsgStrPipe
48
+ ], providers: [
49
+ {
50
+ provide: ComponentReference,
51
+ useExisting: forwardRef(() => RegisterComponent)
52
+ }
53
+ ], template: "@let messageHeader = kcContext.messageHeader;\n@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let recaptchaRequired = kcContext.recaptchaRequired;\n@let recaptchaVisible = kcContext.recaptchaVisible;\n@let recaptchaSiteKey = kcContext.recaptchaSiteKey;\n@let recaptchaAction = kcContext.recaptchaAction;\n@let termsAcceptanceRequired = kcContext.termsAcceptanceRequired;\n\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 {{ messageHeader ?? 'registerTitle' | advancedMsgStr }}\n </ng-container>\n <ng-container content>\n <form\n id=\"kc-register-form\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.registrationAction\"\n method=\"post\"\n >\n <kc-user-profile-form-fields (onIsFormSubmittable)=\"isFormSubmittable.set($event)\"></kc-user-profile-form-fields>\n @if (termsAcceptanceRequired) {\n <div className=\"form-group\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n {{ 'termsTitle' | msgStr }}\n <div id=\"kc-registration-terms-text\">\n {{ 'termsText' | msgStr }}\n </div>\n </div>\n </div>\n <div className=\"form-group\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <input\n type=\"checkbox\"\n id=\"termsAccepted\"\n name=\"termsAccepted\"\n [kcClass]=\"'kcCheckboxInputClass'\"\n [checked]=\"areTermsAccepted()\"\n (change)=\"areTermsAccepted.set($any($event.target).checked)\"\n [attr.aria-invalid]=\"messagesPerField.existsError('termsAccepted')\"\n />\n <label\n for=\"termsAccepted\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ 'acceptTerms' | msgStr }}\n </label>\n </div>\n @if (messagesPerField.existsError('termsAccepted')) {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <span\n id=\"input-error-terms-accepted\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n [innerHtml]=\"messagesPerField.get('termsAccepted') | kcSanitize: 'html'\"\n ></span>\n </div>\n }\n </div>\n }\n @if (recaptchaRequired && (recaptchaVisible || recaptchaAction === undefined)) {\n <div className=\"form-group\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <div\n class=\"g-recaptcha\"\n data-size=\"compact\"\n [attr.data-sitekey]=\"recaptchaSiteKey\"\n [attr.data-action]=\"recaptchaAction\"\n ></div>\n </div>\n </div>\n }\n\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <span>\n <a\n [href]=\"url.loginUrl\"\n [innerHTML]=\"'backToLogin' | msgStr | kcSanitize: 'html'\"\n ></a>\n </span>\n </div>\n </div>\n @if (recaptchaRequired && !recaptchaVisible && recaptchaAction !== undefined) {\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <button\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n class=\"g-recaptcha\"\n [attr.data-sitekey]=\"recaptchaSiteKey\"\n [attr.data-callback]=\"onCallback\"\n [attr.data-action]=\"recaptchaAction\"\n type=\"submit\"\n >\n {{ 'doRegister' | msgStr }}\n </button>\n </div>\n } @else {\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [disabled]=\"!isFormSubmittable || (termsAcceptanceRequired && !areTermsAccepted)\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n type=\"submit\"\n [value]=\"'doRegister' | msgStr\"\n />\n </div>\n }\n </div>\n </form>\n </ng-container>\n</kc-login-template>\n" }]
54
+ }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vcGFnZXMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILE9BQU8sRUFDUCxVQUFVLEVBQ1YsZUFBZSxFQUNsQixNQUFNLHFDQUFxQyxDQUFDO0FBRzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1HQUFtRyxDQUFDO0FBQ25KLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBd0IzRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBdEJ6RDs7UUF1QkksY0FBUyxHQUFHLE1BQU0sQ0FBaUQsVUFBVSxDQUFDLENBQUM7UUFDL0UsMEJBQXFCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN2QixvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FBQztRQUN0RSxzQkFBaUIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUt0RjtJQUhHLFVBQVU7UUFDTCxRQUFRLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlFLENBQUM7OEdBZFEsaUJBQWlCO2tHQUFqQixpQkFBaUIsMGdCQVBmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNuRDtTQUNKLGlEQzVDTCxxaUpBOEhBLDRDRGhHUSxnQkFBZ0IsMEZBRWhCLGNBQWMsbURBRWQsaUJBQWlCLG9LQUNqQiw4QkFBOEIscUdBQzlCLFVBQVUsMENBQ1Ysa0JBQWtCOzsyRkFTYixpQkFBaUI7a0JBdEI3QixTQUFTOytCQUNJLFNBQVMsY0FFUCxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGNBQWM7d0JBQ2QsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLDhCQUE4Qjt3QkFDOUIsVUFBVTt3QkFDVixrQkFBa0I7cUJBQ3JCLGFBQ1U7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7eUJBQ25EO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ0xBU1NFUyxcbiAgICBLQ19DT05URVhULFxuICAgIFVTRV9ERUZBVUxUX0NTU1xufSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgS2NDb250ZXh0IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBVc2VyUHJvZmlsZUZvcm1GaWVsZHNDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy91c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMuY29tcG9uZW50JztcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29udGFpbmVycy90ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFkdmFuY2VkTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL2FkdmFuY2VkLW1zZy1zdHIucGlwZSc7XG5pbXBvcnQgeyBLY1Nhbml0aXplUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL2tjLXNhbml0aXplLnBpcGUnO1xuaW1wb3J0IHsgTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL21zZy1zdHIucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2Mtcm9vdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgS2NDbGFzc0RpcmVjdGl2ZSxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBLY1Nhbml0aXplUGlwZSxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgVGVtcGxhdGVDb21wb25lbnQsXG4gICAgICAgIFVzZXJQcm9maWxlRm9ybUZpZWxkc0NvbXBvbmVudCxcbiAgICAgICAgTXNnU3RyUGlwZSxcbiAgICAgICAgQWR2YW5jZWRNc2dTdHJQaXBlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmVnaXN0ZXJDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBrY0NvbnRleHQgPSBpbmplY3Q8RXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAncmVnaXN0ZXIuZnRsJyB9Pj4oS0NfQ09OVEVYVCk7XG4gICAgZGlzcGxheVJlcXVpcmVkRmllbGRzID0gaW5wdXQoZmFsc2UpO1xuICAgIGRvY3VtZW50VGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgYm9keUNsYXNzTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG4gICAgaXNGb3JtU3VibWl0dGFibGUgPSBzaWduYWwoZmFsc2UpO1xuICAgIGFyZVRlcm1zQWNjZXB0ZWQgPSBzaWduYWwoZmFsc2UpO1xuICAgIGRpc3BsYXlJbmZvOiBib29sZWFuID0gZmFsc2U7XG4gICAgZGlzcGxheU1lc3NhZ2U6IGJvb2xlYW4gPSAhdGhpcy5rY0NvbnRleHQ/Lm1lc3NhZ2VzUGVyRmllbGQ/LmV4aXN0c0Vycm9yKCdnbG9iYWwnKTtcblxuICAgIG9uQ2FsbGJhY2soKSB7XG4gICAgICAgIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2MtcmVnaXN0ZXItZm9ybScpIGFzIEhUTUxGb3JtRWxlbWVudCkuc3VibWl0KCk7XG4gICAgfVxufVxuIiwiQGxldCBtZXNzYWdlSGVhZGVyID0ga2NDb250ZXh0Lm1lc3NhZ2VIZWFkZXI7XG5AbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG5AbGV0IG1lc3NhZ2VzUGVyRmllbGQgPSBrY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZDtcbkBsZXQgcmVjYXB0Y2hhUmVxdWlyZWQgPSBrY0NvbnRleHQucmVjYXB0Y2hhUmVxdWlyZWQ7XG5AbGV0IHJlY2FwdGNoYVZpc2libGUgPSBrY0NvbnRleHQucmVjYXB0Y2hhVmlzaWJsZTtcbkBsZXQgcmVjYXB0Y2hhU2l0ZUtleSA9IGtjQ29udGV4dC5yZWNhcHRjaGFTaXRlS2V5O1xuQGxldCByZWNhcHRjaGFBY3Rpb24gPSBrY0NvbnRleHQucmVjYXB0Y2hhQWN0aW9uO1xuQGxldCB0ZXJtc0FjY2VwdGFuY2VSZXF1aXJlZCA9IGtjQ29udGV4dC50ZXJtc0FjY2VwdGFuY2VSZXF1aXJlZDtcblxuPGtjLWxvZ2luLXRlbXBsYXRlXG4gIFtkaXNwbGF5SW5mb109XCJkaXNwbGF5SW5mb1wiXG4gIFtib2R5Q2xhc3NOYW1lXT1cImJvZHlDbGFzc05hbWUoKVwiXG4gIFtkaXNwbGF5TWVzc2FnZV09XCJkaXNwbGF5TWVzc2FnZVwiXG4gIFtkaXNwbGF5UmVxdWlyZWRGaWVsZHNdPVwiZGlzcGxheVJlcXVpcmVkRmllbGRzKClcIlxuICBbZG9jdW1lbnRUaXRsZV09XCJkb2N1bWVudFRpdGxlKClcIlxuPlxuICA8bmctY29udGFpbmVyIGhlYWRlck5vZGU+XG4gICAge3sgbWVzc2FnZUhlYWRlciA/PyAncmVnaXN0ZXJUaXRsZScgfCBhZHZhbmNlZE1zZ1N0ciB9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBjb250ZW50PlxuICAgIDxmb3JtXG4gICAgICBpZD1cImtjLXJlZ2lzdGVyLWZvcm1cIlxuICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiXG4gICAgICBbYWN0aW9uXT1cInVybC5yZWdpc3RyYXRpb25BY3Rpb25cIlxuICAgICAgbWV0aG9kPVwicG9zdFwiXG4gICAgPlxuICAgICAgPGtjLXVzZXItcHJvZmlsZS1mb3JtLWZpZWxkcyAob25Jc0Zvcm1TdWJtaXR0YWJsZSk9XCJpc0Zvcm1TdWJtaXR0YWJsZS5zZXQoJGV2ZW50KVwiPjwva2MtdXNlci1wcm9maWxlLWZvcm0tZmllbGRzPlxuICAgICAgQGlmICh0ZXJtc0FjY2VwdGFuY2VSZXF1aXJlZCkge1xuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0lucHV0V3JhcHBlckNsYXNzJ1wiPlxuICAgICAgICAgICAge3sgJ3Rlcm1zVGl0bGUnIHwgbXNnU3RyIH19XG4gICAgICAgICAgICA8ZGl2IGlkPVwia2MtcmVnaXN0cmF0aW9uLXRlcm1zLXRleHRcIj5cbiAgICAgICAgICAgICAge3sgJ3Rlcm1zVGV4dCcgfCBtc2dTdHIgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NMYWJlbFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBpZD1cInRlcm1zQWNjZXB0ZWRcIlxuICAgICAgICAgICAgICBuYW1lPVwidGVybXNBY2NlcHRlZFwiXG4gICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0NoZWNrYm94SW5wdXRDbGFzcydcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhcmVUZXJtc0FjY2VwdGVkKClcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cImFyZVRlcm1zQWNjZXB0ZWQuc2V0KCRhbnkoJGV2ZW50LnRhcmdldCkuY2hlY2tlZClcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwibWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigndGVybXNBY2NlcHRlZCcpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgZm9yPVwidGVybXNBY2NlcHRlZFwiXG4gICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ2FjY2VwdFRlcm1zJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBAaWYgKG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3Rlcm1zQWNjZXB0ZWQnKSkge1xuICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NMYWJlbFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBpZD1cImlucHV0LWVycm9yLXRlcm1zLWFjY2VwdGVkXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEVycm9yTWVzc2FnZUNsYXNzJ1wiXG4gICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIm1lc3NhZ2VzUGVyRmllbGQuZ2V0KCd0ZXJtc0FjY2VwdGVkJykgfCBrY1Nhbml0aXplOiAnaHRtbCdcIlxuICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBpZiAocmVjYXB0Y2hhUmVxdWlyZWQgJiYgKHJlY2FwdGNoYVZpc2libGUgfHwgcmVjYXB0Y2hhQWN0aW9uID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiZy1yZWNhcHRjaGFcIlxuICAgICAgICAgICAgICBkYXRhLXNpemU9XCJjb21wYWN0XCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1zaXRla2V5XT1cInJlY2FwdGNoYVNpdGVLZXlcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLWFjdGlvbl09XCJyZWNhcHRjaGFBY3Rpb25cIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPVwia2MtZm9ybS1vcHRpb25zXCJcbiAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtT3B0aW9uc0NsYXNzJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zV3JhcHBlckNsYXNzJ1wiPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwidXJsLmxvZ2luVXJsXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIidiYWNrVG9Mb2dpbicgfCBtc2dTdHIgfCBrY1Nhbml0aXplOiAnaHRtbCdcIlxuICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChyZWNhcHRjaGFSZXF1aXJlZCAmJiAhcmVjYXB0Y2hhVmlzaWJsZSAmJiByZWNhcHRjaGFBY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGlkPVwia2MtZm9ybS1idXR0b25zXCJcbiAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1CdXR0b25zQ2xhc3MnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkJsb2NrQ2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICBjbGFzcz1cImctcmVjYXB0Y2hhXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1zaXRla2V5XT1cInJlY2FwdGNoYVNpdGVLZXlcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLWNhbGxiYWNrXT1cIm9uQ2FsbGJhY2tcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLWFjdGlvbl09XCJyZWNhcHRjaGFBY3Rpb25cIlxuICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ2RvUmVnaXN0ZXInIHwgbXNnU3RyIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJrYy1mb3JtLWJ1dHRvbnNcIlxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzRm9ybVN1Ym1pdHRhYmxlIHx8ICh0ZXJtc0FjY2VwdGFuY2VSZXF1aXJlZCAmJiAhYXJlVGVybXNBY2NlcHRlZClcIlxuICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25CbG9ja0NsYXNzJywgJ2tjQnV0dG9uTGFyZ2VDbGFzcyddXCJcbiAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCInZG9SZWdpc3RlcicgfCBtc2dTdHJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L25nLWNvbnRhaW5lcj5cbjwva2MtbG9naW4tdGVtcGxhdGU+XG4iXX0=
@@ -1,7 +1,8 @@
1
- import { AfterViewInit } from "@angular/core";
2
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
3
- import { KcContext } from "keycloakify/login/KcContext";
4
- import { ComponentReference } from "../../../login/classes/component-reference.class";
1
+ import { AfterViewInit } from '@angular/core';
2
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
3
+ import { KcContext } from 'keycloakify/login/KcContext';
4
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
5
+ import * as i0 from "@angular/core";
5
6
  export declare class SamlPostFormComponent extends ComponentReference implements AfterViewInit {
6
7
  kcContext: KcContext.SamlPostForm;
7
8
  doUseDefaultCss: boolean;
@@ -13,4 +14,6 @@ export declare class SamlPostFormComponent extends ComponentReference implements
13
14
  displayMessage: boolean;
14
15
  htmlFormElement: HTMLFormElement;
15
16
  ngAfterViewInit(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<SamlPostFormComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<SamlPostFormComponent, "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>;
16
19
  }