@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
@@ -0,0 +1,89 @@
1
+ import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
2
+ import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { AttributesDirective } from '../../../login/directives/attributes.directive';
5
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
6
+ import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
7
+ import { InputTypePipe } from '../../../login/pipes/input-type.pipe';
8
+ import { ToArrayPipe } from '../../../login/pipes/to-array.pipe';
9
+ import { ToNumberPipe } from '../../../login/pipes/to-number.pipe';
10
+ import { AddRemoveButtonsMultiValuedAttributeComponent } from '../../../login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component';
11
+ import { FieldErrorsComponent } from '../../../login/components/field-errors/field-errors.component';
12
+ import * as i0 from "@angular/core";
13
+ export class InputTagComponent extends ComponentReference {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.attribute = input();
17
+ this.valueOrValues = input();
18
+ this.fieldIndex = input(undefined);
19
+ this.values = input();
20
+ this.displayableErrors = input();
21
+ this.dispatchFormAction = output();
22
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
23
+ this.classes = inject(CLASSES);
24
+ this.value = computed(() => {
25
+ const valueOrValues = this.valueOrValues();
26
+ const index = this.fieldIndex();
27
+ if (valueOrValues instanceof Array) {
28
+ if (index) {
29
+ return valueOrValues[index] ?? null;
30
+ }
31
+ return null;
32
+ }
33
+ return valueOrValues ?? null;
34
+ });
35
+ }
36
+ onChange(event) {
37
+ const valueOrValues = this.valueOrValues();
38
+ this.dispatchFormAction.emit({
39
+ action: 'update',
40
+ name: this.attribute()?.name ?? '',
41
+ valueOrValues: (() => {
42
+ if (this.fieldIndex !== undefined) {
43
+ if (valueOrValues instanceof Array) {
44
+ return valueOrValues.map((value, i) => {
45
+ if (i === this.fieldIndex()) {
46
+ return event.target?.value;
47
+ }
48
+ return value;
49
+ });
50
+ }
51
+ }
52
+ return event.target?.value;
53
+ })()
54
+ });
55
+ }
56
+ onBlur() {
57
+ this.dispatchFormAction.emit({
58
+ action: 'focus lost',
59
+ name: this.attribute()?.name ?? '',
60
+ fieldIndex: this.fieldIndex()
61
+ });
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputTagComponent, isStandalone: true, selector: "kc-input-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
65
+ {
66
+ provide: ComponentReference,
67
+ useExisting: forwardRef(() => InputTagComponent)
68
+ }
69
+ ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"attr.annotations.inputTypePlaceholder ?? '' | advancedMsgStr\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"\n !attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\n \"\n [attr.minlength]=\"\n !attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\n \"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n ></kc-field-errors>\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-add-remove-buttons-multi-valued-attribute>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: InputTypePipe, name: "inputType" }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }, { kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: AddRemoveButtonsMultiValuedAttributeComponent, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: ["attribute", "values", "fieldIndex"], outputs: ["dispatchFormAction"] }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ standalone: true, imports: [
74
+ InputTypePipe,
75
+ KcClassDirective,
76
+ ToNumberPipe,
77
+ AttributesDirective,
78
+ ToArrayPipe,
79
+ FieldErrorsComponent,
80
+ AddRemoveButtonsMultiValuedAttributeComponent,
81
+ AdvancedMsgStrPipe
82
+ ], selector: 'kc-input-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
83
+ {
84
+ provide: ComponentReference,
85
+ useExisting: forwardRef(() => InputTagComponent)
86
+ }
87
+ ], template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"attr.annotations.inputTypePlaceholder ?? '' | advancedMsgStr\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"\n !attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\n \"\n [attr.minlength]=\"\n !attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\n \"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n ></kc-field-errors>\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-add-remove-buttons-multi-valued-attribute>\n }\n}\n", styles: [":host{display:contents}\n"] }]
88
+ }] });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtdGFnL2lucHV0LXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy9pbnB1dC10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBSy9FLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxNQUFNLHFJQUFxSSxDQUFDO0FBQ3BNLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJFQUEyRSxDQUFDOztBQStCakgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQTdC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Q3BCLDZDQUE2Qzt3QkFDN0Msa0JBQWtCO3FCQUNyQixZQUNTLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzt5QkFDbkQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBvdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTEFTU0VTLCBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9hdHRyaWJ1dGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWR2YW5jZWRNc2dTdHJQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvYWR2YW5jZWQtbXNnLXN0ci5waXBlJztcbmltcG9ydCB7IElucHV0VHlwZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9pbnB1dC10eXBlLnBpcGUnO1xuaW1wb3J0IHsgVG9BcnJheVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy90by1hcnJheS5waXBlJztcbmltcG9ydCB7IFRvTnVtYmVyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL3RvLW51bWJlci5waXBlJztcbmltcG9ydCB7XG4gICAgRm9ybUFjdGlvbixcbiAgICBGb3JtRmllbGRFcnJvclxufSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZFJlbW92ZUJ1dHRvbnNNdWx0aVZhbHVlZEF0dHJpYnV0ZUNvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9maWVsZC1lcnJvcnMvZmllbGQtZXJyb3JzLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBJbnB1dFR5cGVQaXBlLFxuICAgICAgICBLY0NsYXNzRGlyZWN0aXZlLFxuICAgICAgICBUb051bWJlclBpcGUsXG4gICAgICAgIEF0dHJpYnV0ZXNEaXJlY3RpdmUsXG4gICAgICAgIFRvQXJyYXlQaXBlLFxuICAgICAgICBGaWVsZEVycm9yc0NvbXBvbmVudCxcbiAgICAgICAgQWRkUmVtb3ZlQnV0dG9uc011bHRpVmFsdWVkQXR0cmlidXRlQ29tcG9uZW50LFxuICAgICAgICBBZHZhbmNlZE1zZ1N0clBpcGVcbiAgICBdLFxuICAgIHNlbGVjdG9yOiAna2MtaW5wdXQtdGFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2lucHV0LXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGFnQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRhZ0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlT3JWYWx1ZXMgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgICBmaWVsZEluZGV4ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHZhbHVlcyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG5cbiAgICB2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVPclZhbHVlcyA9IHRoaXMudmFsdWVPclZhbHVlcygpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZmllbGRJbmRleCgpO1xuICAgICAgICBpZiAodmFsdWVPclZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICBpZiAoaW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVPclZhbHVlc1tpbmRleF0gPz8gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZU9yVmFsdWVzID8/IG51bGw7XG4gICAgfSk7XG5cbiAgICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdmFsdWVPclZhbHVlcyA9IHRoaXMudmFsdWVPclZhbHVlcygpO1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgdmFsdWVPclZhbHVlczogKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWVsZEluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlT3JWYWx1ZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlT3JWYWx1ZXMubWFwKCh2YWx1ZSwgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID09PSB0aGlzLmZpZWxkSW5kZXgoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWU7XG4gICAgICAgICAgICB9KSgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICdmb2N1cyBsb3N0JyxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuYXR0cmlidXRlKCk/Lm5hbWUgPz8gJycsXG4gICAgICAgICAgICBmaWVsZEluZGV4OiB0aGlzLmZpZWxkSW5kZXgoKVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJAbGV0IGF0dHIgPSBhdHRyaWJ1dGUoKTtcbkBsZXQgaW5kZXggPSBmaWVsZEluZGV4KCk7XG5AaWYgKGF0dHIpIHtcbiAgPGlucHV0XG4gICAgW3R5cGVdPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGUgfCBpbnB1dFR5cGVcIlxuICAgIFtpZF09XCJhdHRyLm5hbWVcIlxuICAgIFtuYW1lXT1cImF0dHIubmFtZVwiXG4gICAgW3ZhbHVlXT1cInZhbHVlKClcIlxuICAgIFtrY0NsYXNzXT1cIidrY0lucHV0Q2xhc3MnXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW5kZXggJiYgZGlzcGxheWFibGVFcnJvcnMoKT8uW2luZGV4XSAhPT0gdW5kZWZpbmVkXCJcbiAgICBbZGlzYWJsZWRdPVwiYXR0ci5yZWFkT25seVwiXG4gICAgW2F1dG9jb21wbGV0ZV09XCJhdHRyLmF1dG9jb21wbGV0ZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUGxhY2Vob2xkZXIgPz8gJycgfCBhZHZhbmNlZE1zZ1N0clwiXG4gICAgW2F0dHIucGF0dGVybl09XCJhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVBhdHRlcm5cIlxuICAgIFthdHRyLnNpemVdPVwiXG4gICAgICAhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplXG4gICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgIDogKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlU2l6ZSB8IHRvTnVtYmVyKSA9PT0gMFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplIHwgdG9OdW1iZXIpXG4gICAgXCJcbiAgICBbYXR0ci5tYXhsZW5ndGhdPVwiXG4gICAgICAhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhsZW5ndGggPyB1bmRlZmluZWQgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhsZW5ndGggfCB0b051bWJlcilcbiAgICBcIlxuICAgIFthdHRyLm1pbmxlbmd0aF09XCJcbiAgICAgICFhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZU1pbmxlbmd0aCA/IHVuZGVmaW5lZCA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZU1pbmxlbmd0aCB8IHRvTnVtYmVyKVxuICAgIFwiXG4gICAgW2F0dHIubWF4XT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWF4XCJcbiAgICBbYXR0ci5taW5dPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNaW5cIlxuICAgIFthdHRyLnN0ZXBdPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTdGVwXCJcbiAgICBba2NBdHRyaWJ1dGVzXT1cImF0dHIuaHRtbDVEYXRhQW5ub3RhdGlvbnNcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAvPlxuICBAaWYgKGluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICBAbGV0IHZhbHVlcyA9IHZhbHVlT3JWYWx1ZXMoKSA/PyBbXSB8IHRvQXJyYXk7XG4gICAgPGtjLWZpZWxkLWVycm9yc1xuICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyXCJcbiAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgIFtmaWVsZEluZGV4XT1cImluZGV4XCJcbiAgICA+PC9rYy1maWVsZC1lcnJvcnM+XG4gICAgPGtjLWFkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlXG4gICAgICBbYXR0cmlidXRlXT1cImF0dHJcIlxuICAgICAgW3ZhbHVlc109XCJ2YWx1ZXNcIlxuICAgICAgW2ZpZWxkSW5kZXhdPVwiaW5kZXhcIlxuICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICA+PC9rYy1hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZT5cbiAgfVxufVxuIl19
@@ -1,8 +1,9 @@
1
- import { Signal } from "@angular/core";
2
- import { Attribute } from "keycloakify/login/KcContext";
3
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
4
- import { ComponentReference } from "../../../login/classes/component-reference.class";
5
- import { FormAction, FormFieldError } from "../../../login/services/user-profile-form.service";
1
+ import { Signal } from '@angular/core';
2
+ import { Attribute } from 'keycloakify/login/KcContext';
3
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
4
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
5
+ import { FormAction, FormFieldError } from '../../../login/services/user-profile-form.service';
6
+ import * as i0 from "@angular/core";
6
7
  export declare class InputTagSelectsComponent extends ComponentReference {
7
8
  attribute: import("@angular/core").InputSignal<Attribute | undefined>;
8
9
  valueOrValues: import("@angular/core").InputSignal<string | string[] | undefined>;
@@ -11,7 +12,7 @@ export declare class InputTagSelectsComponent extends ComponentReference {
11
12
  doUseDefaultCss: boolean;
12
13
  classes: Partial<Record<ClassKey, string>>;
13
14
  context: Signal<{
14
- inputType: "radio" | "checkbox";
15
+ inputType: 'radio' | 'checkbox';
15
16
  classDiv: ClassKey;
16
17
  classInput: ClassKey;
17
18
  classLabel: ClassKey;
@@ -20,4 +21,6 @@ export declare class InputTagSelectsComponent extends ComponentReference {
20
21
  checked(option: string): boolean;
21
22
  onChange(event: Event, option: string): void;
22
23
  onBlur(): void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputTagSelectsComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputTagSelectsComponent, "kc-input-tag-selects", never, { "attribute": { "alias": "attribute"; "required": false; "isSignal": true; }; "valueOrValues": { "alias": "valueOrValues"; "required": false; "isSignal": true; }; "displayableErrors": { "alias": "displayableErrors"; "required": false; "isSignal": true; }; }, { "dispatchFormAction": "dispatchFormAction"; }, never, never, true, never>;
23
26
  }
@@ -0,0 +1,115 @@
1
+ import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
2
+ import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
5
+ import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
6
+ import * as i0 from "@angular/core";
7
+ export class InputTagSelectsComponent extends ComponentReference {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.attribute = input();
11
+ this.valueOrValues = input();
12
+ this.dispatchFormAction = output();
13
+ this.displayableErrors = input();
14
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
15
+ this.classes = inject(CLASSES);
16
+ this.context = computed(() => {
17
+ const attribute = this.attribute();
18
+ if (attribute) {
19
+ const { inputType } = attribute.annotations;
20
+ switch (inputType) {
21
+ case 'select-radiobuttons':
22
+ return {
23
+ inputType: 'radio',
24
+ classDiv: 'kcInputClassRadio',
25
+ classInput: 'kcInputClassRadioInput',
26
+ classLabel: 'kcInputClassRadioLabel'
27
+ };
28
+ case 'multiselect-checkboxes':
29
+ return {
30
+ inputType: 'checkbox',
31
+ classDiv: 'kcInputClassCheckbox',
32
+ classInput: 'kcInputClassCheckboxInput',
33
+ classLabel: 'kcInputClassCheckboxLabel'
34
+ };
35
+ }
36
+ }
37
+ return null;
38
+ });
39
+ this.options = computed(() => {
40
+ const attribute = this.attribute();
41
+ if (attribute) {
42
+ return (() => {
43
+ walk: {
44
+ const { inputOptionsFromValidation } = attribute.annotations;
45
+ if (inputOptionsFromValidation === undefined) {
46
+ break walk;
47
+ }
48
+ const validator = attribute.validators[inputOptionsFromValidation];
49
+ if (validator === undefined) {
50
+ break walk;
51
+ }
52
+ if (validator.options === undefined) {
53
+ break walk;
54
+ }
55
+ return validator.options;
56
+ }
57
+ return attribute.validators.options?.options ?? [];
58
+ })();
59
+ }
60
+ return [];
61
+ });
62
+ }
63
+ checked(option) {
64
+ const valueOrValues = this.valueOrValues();
65
+ if (valueOrValues instanceof Array) {
66
+ return valueOrValues.includes(option);
67
+ }
68
+ return valueOrValues === option;
69
+ }
70
+ onChange(event, option) {
71
+ const valueOrValues = this.valueOrValues();
72
+ const isChecked = event.target.checked;
73
+ this.dispatchFormAction.emit({
74
+ action: 'update',
75
+ name: this.attribute()?.name ?? '',
76
+ valueOrValues: (() => {
77
+ if (valueOrValues instanceof Array) {
78
+ const newValues = [...valueOrValues];
79
+ if (isChecked) {
80
+ newValues.push(option);
81
+ }
82
+ else {
83
+ newValues.splice(newValues.indexOf(option), 1);
84
+ }
85
+ return newValues;
86
+ }
87
+ return event.target?.checked ? option : '';
88
+ })()
89
+ });
90
+ }
91
+ onBlur() {
92
+ this.dispatchFormAction.emit({
93
+ action: 'focus lost',
94
+ name: this.attribute()?.name ?? '',
95
+ fieldIndex: undefined
96
+ });
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagSelectsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputTagSelectsComponent, isStandalone: true, selector: "kc-input-tag-selects", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
100
+ {
101
+ provide: ComponentReference,
102
+ useExisting: forwardRef(() => InputTagSelectsComponent)
103
+ }
104
+ ], usesInheritance: true, ngImport: i0, template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ option | advancedMsgStr }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
+ }
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagSelectsComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ standalone: true, imports: [KcClassDirective, AdvancedMsgStrPipe], selector: 'kc-input-tag-selects', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
109
+ {
110
+ provide: ComponentReference,
111
+ useExisting: forwardRef(() => InputTagSelectsComponent)
112
+ }
113
+ ], template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ option | advancedMsgStr }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"] }]
114
+ }] });
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLXNlbGVjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWctc2VsZWN0cy9pbnB1dC10YWctc2VsZWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy1zZWxlY3RzL2lucHV0LXRhZy1zZWxlY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7QUEwQjVGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFwQmhFOztRQXFCSSxjQUFTLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFDM0MsdUJBQWtCLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDMUMsc0JBQWlCLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO1FBRXRF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cG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG91dHB1dCxcbiAgICBTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTEFTU0VTLCBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWR2YW5jZWRNc2dTdHJQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvYWR2YW5jZWQtbXNnLXN0ci5waXBlJztcbmltcG9ydCB7XG4gICAgRm9ybUFjdGlvbixcbiAgICBGb3JtRmllbGRFcnJvclxufSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUtZm9ybS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgQWR2YW5jZWRNc2dTdHJQaXBlXSxcbiAgICBzZWxlY3RvcjogJ2tjLWlucHV0LXRhZy1zZWxlY3RzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2lucHV0LXRhZy1zZWxlY3RzLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUYWdTZWxlY3RzQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRhZ1NlbGVjdHNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGF0dHJpYnV0ZSA9IGlucHV0PEF0dHJpYnV0ZT4oKTtcbiAgICB2YWx1ZU9yVmFsdWVzID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG4gICAgZGlzcGxheWFibGVFcnJvcnMgPSBpbnB1dDxGb3JtRmllbGRFcnJvcltdPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihDTEFTU0VTKTtcblxuICAgIGNvbnRleHQ6IFNpZ25hbDx7XG4gICAgICAgIGlucHV0VHlwZTogJ3JhZGlvJyB8ICdjaGVja2JveCc7XG4gICAgICAgIGNsYXNzRGl2OiBDbGFzc0tleTtcbiAgICAgICAgY2xhc3NJbnB1dDogQ2xhc3NLZXk7XG4gICAgICAgIGNsYXNzTGFiZWw6IENsYXNzS2V5O1xuICAgIH0gfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGUoKTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY29uc3QgeyBpbnB1dFR5cGUgfSA9IGF0dHJpYnV0ZS5hbm5vdGF0aW9ucztcbiAgICAgICAgICAgIHN3aXRjaCAoaW5wdXRUeXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc2VsZWN0LXJhZGlvYnV0dG9ucyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFR5cGU6ICdyYWRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc0RpdjogJ2tjSW5wdXRDbGFzc1JhZGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzSW5wdXQ6ICdrY0lucHV0Q2xhc3NSYWRpb0lucHV0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTGFiZWw6ICdrY0lucHV0Q2xhc3NSYWRpb0xhYmVsJ1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ211bHRpc2VsZWN0LWNoZWNrYm94ZXMnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NEaXY6ICdrY0lucHV0Q2xhc3NDaGVja2JveCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc0lucHV0OiAna2NJbnB1dENsYXNzQ2hlY2tib3hJbnB1dCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc0xhYmVsOiAna2NJbnB1dENsYXNzQ2hlY2tib3hMYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcblxuICAgIG9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHJldHVybiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHdhbGs6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbiB9ID0gYXR0cmlidXRlLmFubm90YXRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhayB3YWxrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlLnZhbGlkYXRvcnMgYXMgUmVjb3JkPHN0cmluZywgeyBvcHRpb25zPzogc3RyaW5nW10gfT5cbiAgICAgICAgICAgICAgICAgICAgKVtpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbl07XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhayB3YWxrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvci5vcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHdhbGs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdG9yLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZS52YWxpZGF0b3JzLm9wdGlvbnM/Lm9wdGlvbnMgPz8gW107XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcblxuICAgIGNoZWNrZWQob3B0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgdmFsdWVPclZhbHVlcyA9IHRoaXMudmFsdWVPclZhbHVlcygpO1xuICAgICAgICBpZiAodmFsdWVPclZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWVPclZhbHVlcy5pbmNsdWRlcyhvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZU9yVmFsdWVzID09PSBvcHRpb247XG4gICAgfVxuXG4gICAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50LCBvcHRpb246IHN0cmluZykge1xuICAgICAgICBjb25zdCB2YWx1ZU9yVmFsdWVzID0gdGhpcy52YWx1ZU9yVmFsdWVzKCk7XG4gICAgICAgIGNvbnN0IGlzQ2hlY2tlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6ICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlT3JWYWx1ZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZXMgPSBbLi4udmFsdWVPclZhbHVlc107XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWVzLnB1c2gob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlcy5zcGxpY2UobmV3VmFsdWVzLmluZGV4T2Yob3B0aW9uKSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3VmFsdWVzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy5jaGVja2VkID8gb3B0aW9uIDogJyc7XG4gICAgICAgICAgICB9KSgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICdmb2N1cyBsb3N0JyxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuYXR0cmlidXRlKCk/Lm5hbWUgPz8gJycsXG4gICAgICAgICAgICBmaWVsZEluZGV4OiB1bmRlZmluZWRcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGxldCBpbnB1dFR5cGUgPSBjb250ZXh0KCk/LmlucHV0VHlwZTtcbkBsZXQgY2xhc3NJbnB1dCA9IGNvbnRleHQoKT8uY2xhc3NJbnB1dDtcbkBsZXQgY2xhc3NMYWJlbCA9IGNvbnRleHQoKT8uY2xhc3NMYWJlbDtcbkBsZXQgY2xhc3NEaXYgPSBjb250ZXh0KCk/LmNsYXNzRGl2O1xuQGxldCBhdHRyID0gYXR0cmlidXRlKCk7XG5AaWYgKGF0dHIpIHtcbiAgQGZvciAob3B0aW9uIG9mIG9wdGlvbnMoKTsgdHJhY2sgb3B0aW9uKSB7XG4gICAgPGRpdiBba2NDbGFzc109XCJjbGFzc0RpdlwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIFt0eXBlXT1cImlucHV0VHlwZVwiXG4gICAgICAgIFtpZF09XCJhdHRyLm5hbWUgKyAnLScgKyBvcHRpb25cIlxuICAgICAgICBbbmFtZV09XCJhdHRyLm5hbWVcIlxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgW2tjQ2xhc3NdPVwiY2xhc3NJbnB1dFwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCIhIWRpc3BsYXlhYmxlRXJyb3JzKCk/Lmxlbmd0aFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhdHRyLnJlYWRPbmx5XCJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZChvcHRpb24pXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQsIG9wdGlvbilcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsXG4gICAgICAgIFtmb3JdPVwiYXR0ci5uYW1lICsgJy0nICsgb3B0aW9uXCJcbiAgICAgICAgW2tjQ2xhc3NdPVwiW2NsYXNzTGFiZWwhLCBhdHRyLnJlYWRPbmx5ID8gJ2tjSW5wdXRDbGFzc1JhZGlvQ2hlY2tib3hMYWJlbERpc2FibGVkJyA6ICRhbnkoJycpXVwiXG4gICAgICA+XG4gICAgICAgIHt7IG9wdGlvbiB8IGFkdmFuY2VkTXNnU3RyIH19XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICB9XG59XG4iXX0=
@@ -1,6 +1,9 @@
1
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
2
- import { ComponentReference } from "../../../login/classes/component-reference.class";
1
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
2
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
3
+ import * as i0 from "@angular/core";
3
4
  export declare class LogoutOtherSessionsComponent extends ComponentReference {
4
5
  doUseDefaultCss: boolean;
5
6
  classes: Partial<Record<ClassKey, string>>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<LogoutOtherSessionsComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<LogoutOtherSessionsComponent, "kc-logout-other-sessions", never, {}, {}, never, never, true, never>;
6
9
  }
@@ -0,0 +1,30 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';
2
+ import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
5
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
6
+ import * as i0 from "@angular/core";
7
+ export class LogoutOtherSessionsComponent extends ComponentReference {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
11
+ this.classes = inject(CLASSES);
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutOtherSessionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: LogoutOtherSessionsComponent, isStandalone: true, selector: "kc-logout-other-sessions", providers: [
15
+ {
16
+ provide: ComponentReference,
17
+ useExisting: forwardRef(() => LogoutOtherSessionsComponent)
18
+ }
19
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <div class=\"checkbox\">\n <label for=\"logout-sessions\">\n <input\n type=\"checkbox\"\n id=\"logout-sessions\"\n name=\"logout-sessions\"\n value=\"on\"\n defaultChecked=\"true\"\n />\n {{ 'logoutOtherSessions' | msgStr }}\n </label>\n </div>\n </div>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutOtherSessionsComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'kc-logout-other-sessions', standalone: true, imports: [KcClassDirective, MsgStrPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
24
+ {
25
+ provide: ComponentReference,
26
+ useExisting: forwardRef(() => LogoutOtherSessionsComponent)
27
+ }
28
+ ], template: "<div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <div class=\"checkbox\">\n <label for=\"logout-sessions\">\n <input\n type=\"checkbox\"\n id=\"logout-sessions\"\n name=\"logout-sessions\"\n value=\"on\"\n defaultChecked=\"true\"\n />\n {{ 'logoutOtherSessions' | msgStr }}\n </label>\n </div>\n </div>\n</div>\n", styles: [":host{display:contents}\n"] }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LW90aGVyLXNlc3Npb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvbG9nb3V0LW90aGVyLXNlc3Npb25zL2xvZ291dC1vdGhlci1zZXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2xvZ291dC1vdGhlci1zZXNzaW9ucy9sb2dvdXQtb3RoZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQXNCM0UsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGtCQUFrQjtJQXBCcEU7O1FBcUJhLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO0tBQ3pFOzhHQUhZLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHVFQVAxQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7YUFDOUQ7U0FDSixpREN6QkwseWRBbUJBLG1GREZjLGdCQUFnQiwwRkFBRSxVQUFVOzsyRkFVN0IsNEJBQTRCO2tCQXBCeEMsU0FBUzsrQkFDSSwwQkFBMEIsY0FReEIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLG1CQUN0Qix1QkFBdUIsQ0FBQyxNQUFNLGFBRXBDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDO3lCQUM5RDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ0xBU1NFUywgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL21zZy1zdHIucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2MtbG9nb3V0LW90aGVyLXNlc3Npb25zJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBNc2dTdHJQaXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9nb3V0LW90aGVyLXNlc3Npb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTG9nb3V0T3RoZXJTZXNzaW9uc0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTG9nb3V0T3RoZXJTZXNzaW9uc0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xufVxuIiwiPGRpdlxuICBpZD1cImtjLWZvcm0tb3B0aW9uc1wiXG4gIFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zQ2xhc3MnXCJcbj5cbiAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtT3B0aW9uc1dyYXBwZXJDbGFzcydcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJsb2dvdXQtc2Vzc2lvbnNcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICBpZD1cImxvZ291dC1zZXNzaW9uc1wiXG4gICAgICAgICAgbmFtZT1cImxvZ291dC1zZXNzaW9uc1wiXG4gICAgICAgICAgdmFsdWU9XCJvblwiXG4gICAgICAgICAgZGVmYXVsdENoZWNrZWQ9XCJ0cnVlXCJcbiAgICAgICAgLz5cbiAgICAgICAge3sgJ2xvZ291dE90aGVyU2Vzc2lvbnMnIHwgbXNnU3RyIH19XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,6 +1,7 @@
1
- import { WritableSignal } from "@angular/core";
2
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
1
+ import { WritableSignal } from '@angular/core';
2
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class PasswordWrapperComponent extends ComponentReference {
5
6
  private renderer;
6
7
  passwordInputId: import("@angular/core").InputSignal<string>;
@@ -9,4 +10,6 @@ export declare class PasswordWrapperComponent extends ComponentReference {
9
10
  isPasswordRevealed: WritableSignal<boolean>;
10
11
  togglePasswordVisibility(): void;
11
12
  private setPasswordInputType;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<PasswordWrapperComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<PasswordWrapperComponent, "kc-password-wrapper", never, { "passwordInputId": { "alias": "passwordInputId"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
12
15
  }
@@ -0,0 +1,44 @@
1
+ import { AsyncPipe } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, input, Renderer2, signal } from '@angular/core';
3
+ import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
4
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
5
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
6
+ import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
7
+ import * as i0 from "@angular/core";
8
+ export class PasswordWrapperComponent extends ComponentReference {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.renderer = inject(Renderer2);
12
+ this.passwordInputId = input.required();
13
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
14
+ this.classes = inject(CLASSES);
15
+ this.isPasswordRevealed = signal(false);
16
+ }
17
+ togglePasswordVisibility() {
18
+ this.isPasswordRevealed.update(revealed => !revealed);
19
+ this.setPasswordInputType();
20
+ }
21
+ setPasswordInputType() {
22
+ const input = document.getElementById(this.passwordInputId());
23
+ if (input) {
24
+ this.renderer.setProperty(input, 'type', this.isPasswordRevealed() ? 'text' : 'password');
25
+ }
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PasswordWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: PasswordWrapperComponent, isStandalone: true, selector: "kc-password-wrapper", inputs: { passwordInputId: { classPropertyName: "passwordInputId", publicName: "passwordInputId", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
29
+ {
30
+ provide: ComponentReference,
31
+ useExisting: forwardRef(() => PasswordWrapperComponent)
32
+ }
33
+ ], usesInheritance: true, ngImport: i0, template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content></ng-content>\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"(isPasswordRevealed() ? 'hidePassword' : 'showPassword') | msgStr\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n aria-hidden=\"true\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PasswordWrapperComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'kc-password-wrapper', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [KcClassDirective, AsyncPipe, MsgStrPipe], providers: [
38
+ {
39
+ provide: ComponentReference,
40
+ useExisting: forwardRef(() => PasswordWrapperComponent)
41
+ }
42
+ ], template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content></ng-content>\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"(isPasswordRevealed() ? 'hidePassword' : 'showPassword') | msgStr\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n aria-hidden=\"true\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"] }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFzQjNFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFwQmhFOztRQXFCWSxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO1FBRXRFLHVCQUFrQixHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FpQi9EO0lBZkcsd0JBQXdCO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQ3JCLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUNsRCxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7OEdBdEJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG1PQVB0QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDMUQ7U0FDSixpRENuQ0wsa2hCQWVBLG1GRGFjLGdCQUFnQiwwRkFBYSxVQUFVOzsyRkFTeEMsd0JBQXdCO2tCQXBCcEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FRbkIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxhQUV2Qzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzt5QkFDMUQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIHNpZ25hbCxcbiAgICBXcml0YWJsZVNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENMQVNTRVMsIFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1zZ1N0clBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9tc2ctc3RyLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tjLXBhc3N3b3JkLXdyYXBwZXInLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIEFzeW5jUGlwZSwgTXNnU3RyUGlwZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHBhc3N3b3JkSW5wdXRJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG5cbiAgICBpc1Bhc3N3b3JkUmV2ZWFsZWQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Bhc3N3b3JkUmV2ZWFsZWQudXBkYXRlKHJldmVhbGVkID0+ICFyZXZlYWxlZCk7XG4gICAgICAgIHRoaXMuc2V0UGFzc3dvcmRJbnB1dFR5cGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhc3N3b3JkSW5wdXRUeXBlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMucGFzc3dvcmRJbnB1dElkKCkpO1xuICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgICAgICAgJ3R5cGUnLFxuICAgICAgICAgICAgICAgIHRoaXMuaXNQYXNzd29yZFJldmVhbGVkKCkgPyAndGV4dCcgOiAncGFzc3dvcmQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBba2NDbGFzc109XCIna2NJbnB1dEdyb3VwJ1wiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBba2NDbGFzc109XCIna2NGb3JtUGFzc3dvcmRWaXNpYmlsaXR5QnV0dG9uQ2xhc3MnXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihpc1Bhc3N3b3JkUmV2ZWFsZWQoKSA/ICdoaWRlUGFzc3dvcmQnIDogJ3Nob3dQYXNzd29yZCcpIHwgbXNnU3RyXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInBhc3N3b3JkSW5wdXRJZCgpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KClcIlxuICA+XG4gICAgPGlcbiAgICAgIFtrY0NsYXNzXT1cImlzUGFzc3dvcmRSZXZlYWxlZCgpID8gJ2tjRm9ybVBhc3N3b3JkVmlzaWJpbGl0eUljb25IaWRlJyA6ICdrY0Zvcm1QYXNzd29yZFZpc2liaWxpdHlJY29uU2hvdydcIlxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICA+PC9pPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,7 +1,8 @@
1
- import { Attribute } from "keycloakify/login/KcContext";
2
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
4
- import { FormAction, FormFieldError } from "../../../login/services/user-profile-form.service";
1
+ import { Attribute } from 'keycloakify/login/KcContext';
2
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { FormAction, FormFieldError } from '../../../login/services/user-profile-form.service';
5
+ import * as i0 from "@angular/core";
5
6
  export declare class SelectTagComponent extends ComponentReference {
6
7
  attribute: import("@angular/core").InputSignal<Attribute | undefined>;
7
8
  valueOrValues: import("@angular/core").InputSignal<string | string[] | undefined>;
@@ -13,4 +14,6 @@ export declare class SelectTagComponent extends ComponentReference {
13
14
  options: import("@angular/core").Signal<string[]>;
14
15
  onChange(event: Event): void;
15
16
  onBlur(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectTagComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectTagComponent, "kc-select-tag", never, { "attribute": { "alias": "attribute"; "required": false; "isSignal": true; }; "valueOrValues": { "alias": "valueOrValues"; "required": false; "isSignal": true; }; "displayableErrors": { "alias": "displayableErrors"; "required": false; "isSignal": true; }; }, { "dispatchFormAction": "dispatchFormAction"; }, never, never, true, never>;
16
19
  }
@@ -0,0 +1,80 @@
1
+ import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
2
+ import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
5
+ import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
6
+ import { ToNumberPipe } from '../../../login/pipes/to-number.pipe';
7
+ import * as i0 from "@angular/core";
8
+ export class SelectTagComponent extends ComponentReference {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.attribute = input();
12
+ this.valueOrValues = input();
13
+ this.displayableErrors = input();
14
+ this.dispatchFormAction = output();
15
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
16
+ this.classes = inject(CLASSES);
17
+ this.isMultiple = computed(() => {
18
+ return this.attribute()?.annotations?.inputType === 'multiselect';
19
+ });
20
+ this.options = computed(() => {
21
+ const attribute = this.attribute();
22
+ if (attribute) {
23
+ return (() => {
24
+ walk: {
25
+ const { inputOptionsFromValidation } = attribute.annotations;
26
+ if (inputOptionsFromValidation === undefined) {
27
+ break walk;
28
+ }
29
+ const validator = attribute.validators[inputOptionsFromValidation];
30
+ if (validator === undefined) {
31
+ break walk;
32
+ }
33
+ if (validator.options === undefined) {
34
+ break walk;
35
+ }
36
+ return validator.options;
37
+ }
38
+ return attribute.validators.options?.options ?? [];
39
+ })();
40
+ }
41
+ return [];
42
+ });
43
+ }
44
+ onChange(event) {
45
+ this.dispatchFormAction.emit({
46
+ action: 'update',
47
+ name: this.attribute()?.name ?? '',
48
+ valueOrValues: (() => {
49
+ if (this.isMultiple()) {
50
+ return Array.from(event.target.selectedOptions).map(option => option.value);
51
+ }
52
+ return event.target.value;
53
+ })()
54
+ });
55
+ }
56
+ onBlur() {
57
+ this.dispatchFormAction.emit({
58
+ action: 'focus lost',
59
+ name: this.attribute()?.name ?? '',
60
+ fieldIndex: undefined
61
+ });
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SelectTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: SelectTagComponent, isStandalone: true, selector: "kc-select-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
65
+ {
66
+ provide: ComponentReference,
67
+ useExisting: forwardRef(() => SelectTagComponent)
68
+ }
69
+ ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let multiple = isMultiple();\n@if (attr) {\n <select\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"valueOrValues()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [multiple]=\"multiple\"\n [size]=\"!attr.annotations.inputTypeSize ? undefined : (attr.annotations.inputTypeSize | toNumber)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n >\n @if (!multiple) {\n <option value=\"\"></option>\n }\n @for (option of options(); track option) {\n <option [value]=\"option\">\n @if (!!attr.annotations.inputOptionLabels) {\n {{ attr.annotations.inputOptionLabels[option] ?? option | advancedMsgStr }}\n } @else if (!!attr.annotations.inputOptionLabelsI18nPrefix) {\n {{ attr.annotations.inputOptionLabelsI18nPrefix + '.' + option | advancedMsgStr }}\n } @else {\n {{ option }}\n }\n </option>\n }\n </select>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SelectTagComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe, AdvancedMsgStrPipe], selector: 'kc-select-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
74
+ {
75
+ provide: ComponentReference,
76
+ useExisting: forwardRef(() => SelectTagComponent)
77
+ }
78
+ ], template: "@let attr = attribute();\n@let multiple = isMultiple();\n@if (attr) {\n <select\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"valueOrValues()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [multiple]=\"multiple\"\n [size]=\"!attr.annotations.inputTypeSize ? undefined : (attr.annotations.inputTypeSize | toNumber)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n >\n @if (!multiple) {\n <option value=\"\"></option>\n }\n @for (option of options(); track option) {\n <option [value]=\"option\">\n @if (!!attr.annotations.inputOptionLabels) {\n {{ attr.annotations.inputOptionLabels[option] ?? option | advancedMsgStr }}\n } @else if (!!attr.annotations.inputOptionLabelsI18nPrefix) {\n {{ attr.annotations.inputOptionLabelsI18nPrefix + '.' + option | advancedMsgStr }}\n } @else {\n {{ option }}\n }\n </option>\n }\n </select>\n}\n", styles: [":host{display:contents}\n"] }]
79
+ }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3NlbGVjdC10YWcvc2VsZWN0LXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3NlbGVjdC10YWcvc2VsZWN0LXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQTBCL0UsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtJQXBCMUQ7O1FBcUJJLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixrQkFBYSxHQUFHLEtBQUssRUFBcUIsQ0FBQztRQUMzQyxzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDOUMsdUJBQWtCLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDakMsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsT0FBTyxDQUFDLENB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgb3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ0xBU1NFUywgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQXR0cmlidXRlIH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFkdmFuY2VkTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL2FkdmFuY2VkLW1zZy1zdHIucGlwZSc7XG5pbXBvcnQgeyBUb051bWJlclBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy90by1udW1iZXIucGlwZSc7XG5pbXBvcnQge1xuICAgIEZvcm1BY3Rpb24sXG4gICAgRm9ybUZpZWxkRXJyb3Jcbn0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvdXNlci1wcm9maWxlLWZvcm0uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIFRvTnVtYmVyUGlwZSwgQWR2YW5jZWRNc2dTdHJQaXBlXSxcbiAgICBzZWxlY3RvcjogJ2tjLXNlbGVjdC10YWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnc2VsZWN0LXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdFRhZ0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0VGFnQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgdmFsdWVPclZhbHVlcyA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG5cbiAgICBpc011bHRpcGxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGUoKT8uYW5ub3RhdGlvbnM/LmlucHV0VHlwZSA9PT0gJ211bHRpc2VsZWN0JztcbiAgICB9KTtcblxuICAgIG9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHJldHVybiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHdhbGs6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbiB9ID0gYXR0cmlidXRlLmFubm90YXRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhayB3YWxrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlLnZhbGlkYXRvcnMgYXMgUmVjb3JkPHN0cmluZywgeyBvcHRpb25zPzogc3RyaW5nW10gfT5cbiAgICAgICAgICAgICAgICAgICAgKVtpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbl07XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhayB3YWxrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvci5vcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHdhbGs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdG9yLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZS52YWxpZGF0b3JzLm9wdGlvbnM/Lm9wdGlvbnMgPz8gW107XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcblxuICAgIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgdmFsdWVPclZhbHVlczogKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc011bHRpcGxlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50KS5zZWxlY3RlZE9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgKS5tYXAob3B0aW9uID0+IG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICAgICAgfSkoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgYWN0aW9uOiAnZm9jdXMgbG9zdCcsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgZmllbGRJbmRleDogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBsZXQgYXR0ciA9IGF0dHJpYnV0ZSgpO1xuQGxldCBtdWx0aXBsZSA9IGlzTXVsdGlwbGUoKTtcbkBpZiAoYXR0cikge1xuICA8c2VsZWN0XG4gICAgW2lkXT1cImF0dHIubmFtZVwiXG4gICAgW25hbWVdPVwiYXR0ci5uYW1lXCJcbiAgICBbdmFsdWVdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhZGlzcGxheWFibGVFcnJvcnMoKT8ubGVuZ3RoXCJcbiAgICBbZGlzYWJsZWRdPVwiYXR0ci5yZWFkT25seVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICBbc2l6ZV09XCIhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplID8gdW5kZWZpbmVkIDogKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlU2l6ZSB8IHRvTnVtYmVyKVwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gID5cbiAgICBAaWYgKCFtdWx0aXBsZSkge1xuICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPjwvb3B0aW9uPlxuICAgIH1cbiAgICBAZm9yIChvcHRpb24gb2Ygb3B0aW9ucygpOyB0cmFjayBvcHRpb24pIHtcbiAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICBAaWYgKCEhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dE9wdGlvbkxhYmVscykge1xuICAgICAgICAgIHt7IGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRPcHRpb25MYWJlbHNbb3B0aW9uXSA/PyBvcHRpb24gfCBhZHZhbmNlZE1zZ1N0ciB9fVxuICAgICAgICB9IEBlbHNlIGlmICghIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRPcHRpb25MYWJlbHNJMThuUHJlZml4KSB7XG4gICAgICAgICAge3sgYXR0ci5hbm5vdGF0aW9ucy5pbnB1dE9wdGlvbkxhYmVsc0kxOG5QcmVmaXggKyAnLicgKyBvcHRpb24gfCBhZHZhbmNlZE1zZ1N0ciB9fVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB7eyBvcHRpb24gfX1cbiAgICAgICAgfVxuICAgICAgPC9vcHRpb24+XG4gICAgfVxuICA8L3NlbGVjdD5cbn1cbiJdfQ==
@@ -1,7 +1,8 @@
1
- import { Attribute } from "keycloakify/login/KcContext";
2
- import { ClassKey } from "keycloakify/login/lib/kcClsx";
3
- import { ComponentReference } from "../../../login/classes/component-reference.class";
4
- import { FormAction, FormFieldError } from "../../../login/services/user-profile-form.service";
1
+ import { Attribute } from 'keycloakify/login/KcContext';
2
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { FormAction, FormFieldError } from '../../../login/services/user-profile-form.service';
5
+ import * as i0 from "@angular/core";
5
6
  export declare class TextareaTagComponent extends ComponentReference {
6
7
  attribute: import("@angular/core").InputSignal<Attribute | undefined>;
7
8
  value: import("@angular/core").InputSignal<string | undefined>;
@@ -11,4 +12,6 @@ export declare class TextareaTagComponent extends ComponentReference {
11
12
  classes: Partial<Record<ClassKey, string>>;
12
13
  onChange(event: Event): void;
13
14
  onBlur(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextareaTagComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextareaTagComponent, "kc-textarea-tag", never, { "attribute": { "alias": "attribute"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "displayableErrors": { "alias": "displayableErrors"; "required": false; "isSignal": true; }; }, { "dispatchFormAction": "dispatchFormAction"; }, never, never, true, never>;
14
17
  }