@keycloakify/angular 0.0.1-rc.3 → 0.0.1-rc.5

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 (316) hide show
  1. package/lib/tokens/use-default-css.token.d.ts +2 -0
  2. package/lib/tokens/use-default-css.token.js +3 -0
  3. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +3 -1
  4. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.js +106 -0
  5. package/login/components/field-errors/field-errors.component.d.ts +2 -2
  6. package/login/components/field-errors/{field-errors.component.mjs → field-errors.component.js} +4 -3
  7. package/login/components/group-label/group-label.component.d.ts +3 -1
  8. package/login/components/group-label/group-label.component.js +43 -0
  9. package/login/components/input-field-by-type/{input-field-by-type.component.mjs → input-field-by-type.component.js} +4 -3
  10. package/login/components/input-tag/input-tag.component.d.ts +4 -2
  11. package/login/components/input-tag/input-tag.component.js +90 -0
  12. package/login/components/input-tag-selects/input-tag-selects.component.d.ts +4 -2
  13. package/login/components/input-tag-selects/input-tag-selects.component.js +117 -0
  14. package/login/components/logout-other-sessions/logout-other-sessions.component.d.ts +3 -1
  15. package/login/components/logout-other-sessions/logout-other-sessions.component.js +32 -0
  16. package/login/components/password-wrapper/password-wrapper.component.d.ts +3 -1
  17. package/login/components/password-wrapper/password-wrapper.component.js +46 -0
  18. package/login/components/select-tag/select-tag.component.d.ts +4 -2
  19. package/login/components/select-tag/select-tag.component.js +82 -0
  20. package/login/components/textarea-tag/textarea-tag.component.js +49 -0
  21. package/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +4 -2
  22. package/login/components/user-profile-form-fields/user-profile-form-fields.component.js +59 -0
  23. package/login/containers/template.component.js +72 -0
  24. package/login/pages/code/code.component.d.ts +4 -2
  25. package/login/pages/code/code.component.js +35 -0
  26. package/login/pages/delete-account-confirm/delete-account-confirm.component.d.ts +4 -2
  27. package/login/pages/delete-account-confirm/delete-account-confirm.component.js +35 -0
  28. package/login/pages/delete-credential/delete-credential.component.d.ts +4 -2
  29. package/login/pages/delete-credential/delete-credential.component.js +40 -0
  30. package/login/pages/error/error.component.d.ts +4 -2
  31. package/login/pages/error/error.component.js +35 -0
  32. package/login/pages/frontchannel-logout/frontchannel-logout.component.d.ts +4 -2
  33. package/login/pages/frontchannel-logout/frontchannel-logout.component.js +44 -0
  34. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +4 -2
  35. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.js +45 -0
  36. package/login/pages/info/info.component.d.ts +4 -8
  37. package/login/pages/info/info.component.js +49 -0
  38. package/login/pages/login/login.component.d.ts +4 -2
  39. package/login/pages/login/login.component.js +44 -0
  40. package/login/pages/login-config-totp/login-config-totp.component.d.ts +4 -2
  41. package/login/pages/login-config-totp/login-config-totp.component.js +42 -0
  42. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.d.ts +4 -2
  43. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.js +40 -0
  44. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.d.ts +4 -2
  45. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.js +40 -0
  46. package/login/pages/login-idp-link-email/login-idp-link-email.component.d.ts +4 -2
  47. package/login/pages/login-idp-link-email/login-idp-link-email.component.js +40 -0
  48. package/login/pages/login-oauth-grant/login-oauth-grant.component.d.ts +4 -2
  49. package/login/pages/login-oauth-grant/login-oauth-grant.component.js +40 -0
  50. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +4 -2
  51. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.js +40 -0
  52. package/login/pages/login-otp/login-otp.component.d.ts +4 -2
  53. package/login/pages/login-otp/login-otp.component.js +41 -0
  54. package/login/pages/login-page-expired/login-page-expired.component.d.ts +4 -2
  55. package/login/pages/login-page-expired/login-page-expired.component.js +39 -0
  56. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.d.ts +5 -5
  57. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.js +84 -0
  58. package/login/pages/login-password/login-password.component.d.ts +4 -2
  59. package/login/pages/login-password/login-password.component.js +43 -0
  60. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.d.ts +4 -2
  61. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.js +43 -0
  62. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.d.ts +4 -2
  63. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.js +41 -0
  64. package/login/pages/login-reset-otp/login-reset-otp.component.d.ts +4 -2
  65. package/login/pages/login-reset-otp/login-reset-otp.component.js +40 -0
  66. package/login/pages/login-reset-password/login-reset-password.component.d.ts +4 -2
  67. package/login/pages/login-reset-password/login-reset-password.component.js +41 -0
  68. package/login/pages/login-update-password/login-update-password.component.d.ts +4 -2
  69. package/login/pages/login-update-password/login-update-password.component.js +43 -0
  70. package/login/pages/login-update-profile/login-update-profile.component.d.ts +4 -2
  71. package/login/pages/login-update-profile/login-update-profile.component.js +42 -0
  72. package/login/pages/login-username/login-username.component.d.ts +4 -2
  73. package/login/pages/login-username/login-username.component.js +43 -0
  74. package/login/pages/login-verify-email/login-verify-email.component.d.ts +4 -2
  75. package/login/pages/login-verify-email/login-verify-email.component.js +40 -0
  76. package/login/pages/login-x509-info/login-x509-info.component.d.ts +4 -2
  77. package/login/pages/login-x509-info/login-x509-info.component.js +40 -0
  78. package/login/pages/logout-confirm/logout-confirm.component.d.ts +4 -2
  79. package/login/pages/logout-confirm/logout-confirm.component.js +40 -0
  80. package/login/pages/register/register.component.d.ts +4 -2
  81. package/login/pages/register/register.component.js +48 -0
  82. package/login/pages/saml-post-form/saml-post-form.component.d.ts +4 -2
  83. package/login/pages/saml-post-form/saml-post-form.component.js +52 -0
  84. package/login/pages/select-authenticator/select-authenticator.component.d.ts +4 -2
  85. package/login/pages/select-authenticator/select-authenticator.component.js +41 -0
  86. package/login/pages/terms/terms.component.d.ts +4 -2
  87. package/login/pages/terms/terms.component.js +40 -0
  88. package/login/pages/update-email/update-email.component.d.ts +4 -2
  89. package/login/pages/update-email/update-email.component.js +43 -0
  90. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.d.ts +5 -5
  91. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.js +80 -0
  92. package/login/pages/webauthn-error/webauthn-error.component.d.ts +4 -2
  93. package/login/pages/webauthn-error/webauthn-error.component.js +49 -0
  94. package/login/pages/webauthn-register/webauthn-register.component.d.ts +5 -5
  95. package/login/pages/webauthn-register/webauthn-register.component.js +76 -0
  96. package/login/pipes/kc-sanitize.pipe.d.ts +3 -4
  97. package/login/pipes/kc-sanitize.pipe.js +29 -0
  98. package/login/pipes/{to-array.pipe.mjs → to-array.pipe.js} +1 -2
  99. package/login/providers/keycloakify-angular.providers.d.ts +16 -0
  100. package/login/providers/keycloakify-angular.providers.js +53 -0
  101. package/login/services/i18n.service.d.ts +6 -0
  102. package/{lib/services/i18n.service.mjs → login/services/i18n.service.js} +1 -1
  103. package/login/services/login-resource-injector.service.d.ts +1 -1
  104. package/login/services/login-resource-injector.service.js +68 -0
  105. package/login/services/user-profile-form.service.js +1019 -0
  106. package/{lib/providers/keycloakify-angular.providers.d.ts → login/tokens/classes.token.d.ts} +1 -24
  107. package/login/tokens/classes.token.js +3 -0
  108. package/login/tokens/i18n.token.d.ts +2 -0
  109. package/login/tokens/i18n.token.js +3 -0
  110. package/login/tokens/kc-context.token.d.ts +3 -0
  111. package/login/tokens/kc-context.token.js +3 -0
  112. package/login/tokens/make-user-confirm-password.token.d.ts +2 -0
  113. package/login/tokens/make-user-confirm-password.token.js +3 -0
  114. package/package.json +85 -104
  115. package/src/lib/tokens/use-default-css.token.ts +3 -0
  116. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html +2 -2
  117. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +6 -4
  118. package/src/login/components/field-errors/field-errors.component.ts +5 -4
  119. package/src/login/components/group-label/group-label.component.html +2 -2
  120. package/src/login/components/group-label/group-label.component.ts +9 -6
  121. package/src/login/components/input-field-by-type/input-field-by-type.component.ts +3 -2
  122. package/src/login/components/input-tag/input-tag.component.html +1 -1
  123. package/src/login/components/input-tag/input-tag.component.ts +11 -9
  124. package/src/login/components/input-tag-selects/input-tag-selects.component.html +1 -1
  125. package/src/login/components/input-tag-selects/input-tag-selects.component.ts +9 -6
  126. package/src/login/components/logout-other-sessions/logout-other-sessions.component.html +1 -1
  127. package/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +8 -5
  128. package/src/login/components/password-wrapper/password-wrapper.component.html +1 -1
  129. package/src/login/components/password-wrapper/password-wrapper.component.ts +8 -5
  130. package/src/login/components/select-tag/select-tag.component.html +2 -2
  131. package/src/login/components/select-tag/select-tag.component.ts +9 -6
  132. package/src/login/components/textarea-tag/textarea-tag.component.ts +3 -2
  133. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +3 -3
  134. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +14 -9
  135. package/src/login/containers/template.component.html +6 -6
  136. package/src/login/containers/template.component.ts +9 -7
  137. package/src/login/pages/code/code.component.html +4 -4
  138. package/src/login/pages/code/code.component.ts +11 -7
  139. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.html +8 -8
  140. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +12 -8
  141. package/src/login/pages/delete-credential/delete-credential.component.html +4 -4
  142. package/src/login/pages/delete-credential/delete-credential.component.ts +11 -7
  143. package/src/login/pages/error/error.component.html +2 -2
  144. package/src/login/pages/error/error.component.ts +11 -7
  145. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.html +4 -4
  146. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +11 -7
  147. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +2 -2
  148. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +11 -7
  149. package/src/login/pages/info/info.component.html +4 -4
  150. package/src/login/pages/info/info.component.ts +12 -17
  151. package/src/login/pages/login/login.component.html +13 -13
  152. package/src/login/pages/login/login.component.ts +11 -7
  153. package/src/login/pages/login-config-totp/login-config-totp.component.html +24 -24
  154. package/src/login/pages/login-config-totp/login-config-totp.component.ts +11 -9
  155. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +3 -3
  156. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +11 -7
  157. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +4 -4
  158. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +11 -7
  159. package/src/login/pages/login-idp-link-email/login-idp-link-email.component.html +8 -8
  160. package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +11 -7
  161. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.html +9 -9
  162. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +11 -8
  163. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +3 -3
  164. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +11 -7
  165. package/src/login/pages/login-otp/login-otp.component.html +3 -3
  166. package/src/login/pages/login-otp/login-otp.component.ts +11 -7
  167. package/src/login/pages/login-page-expired/login-page-expired.component.html +5 -5
  168. package/src/login/pages/login-page-expired/login-page-expired.component.ts +11 -7
  169. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +9 -9
  170. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +15 -15
  171. package/src/login/pages/login-password/login-password.component.html +5 -5
  172. package/src/login/pages/login-password/login-password.component.ts +11 -7
  173. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +11 -11
  174. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +12 -8
  175. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +3 -3
  176. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +12 -8
  177. package/src/login/pages/login-reset-otp/login-reset-otp.component.html +3 -3
  178. package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +12 -8
  179. package/src/login/pages/login-reset-password/login-reset-password.component.html +8 -8
  180. package/src/login/pages/login-reset-password/login-reset-password.component.ts +12 -8
  181. package/src/login/pages/login-update-password/login-update-password.component.html +5 -5
  182. package/src/login/pages/login-update-password/login-update-password.component.ts +12 -8
  183. package/src/login/pages/login-update-profile/login-update-profile.component.html +3 -3
  184. package/src/login/pages/login-update-profile/login-update-profile.component.ts +12 -8
  185. package/src/login/pages/login-username/login-username.component.html +10 -10
  186. package/src/login/pages/login-username/login-username.component.ts +11 -7
  187. package/src/login/pages/login-verify-email/login-verify-email.component.html +5 -5
  188. package/src/login/pages/login-verify-email/login-verify-email.component.ts +12 -8
  189. package/src/login/pages/login-x509-info/login-x509-info.component.html +6 -6
  190. package/src/login/pages/login-x509-info/login-x509-info.component.ts +12 -8
  191. package/src/login/pages/logout-confirm/logout-confirm.component.html +4 -4
  192. package/src/login/pages/logout-confirm/logout-confirm.component.ts +12 -8
  193. package/src/login/pages/register/register.component.html +7 -7
  194. package/src/login/pages/register/register.component.ts +11 -17
  195. package/src/login/pages/saml-post-form/saml-post-form.component.html +4 -4
  196. package/src/login/pages/saml-post-form/saml-post-form.component.ts +11 -7
  197. package/src/login/pages/select-authenticator/select-authenticator.component.html +3 -3
  198. package/src/login/pages/select-authenticator/select-authenticator.component.ts +12 -9
  199. package/src/login/pages/terms/terms.component.html +4 -4
  200. package/src/login/pages/terms/terms.component.ts +12 -8
  201. package/src/login/pages/update-email/update-email.component.html +3 -3
  202. package/src/login/pages/update-email/update-email.component.ts +12 -8
  203. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +8 -8
  204. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +15 -15
  205. package/src/login/pages/webauthn-error/webauthn-error.component.html +3 -3
  206. package/src/login/pages/webauthn-error/webauthn-error.component.ts +12 -8
  207. package/src/login/pages/webauthn-register/webauthn-register.component.html +3 -3
  208. package/src/login/pages/webauthn-register/webauthn-register.component.ts +17 -15
  209. package/src/login/pipes/kc-sanitize.pipe.ts +9 -11
  210. package/src/login/pipes/to-array.pipe.ts +0 -1
  211. package/src/login/providers/keycloakify-angular.providers.ts +68 -0
  212. package/src/{lib → login}/services/i18n.service.ts +3 -2
  213. package/src/login/services/login-resource-injector.service.ts +4 -3
  214. package/src/login/services/user-profile-form.service.ts +5 -7
  215. package/src/login/tokens/classes.token.ts +6 -0
  216. package/src/login/tokens/i18n.token.ts +3 -0
  217. package/src/login/tokens/kc-context.token.ts +4 -0
  218. package/src/login/tokens/make-user-confirm-password.token.ts +5 -0
  219. package/src/tsconfig.json +6 -0
  220. package/lib/i18n.d.ts +0 -4
  221. package/lib/i18n.mjs +0 -6
  222. package/lib/models/index.d.ts +0 -1
  223. package/lib/models/index.mjs +0 -2
  224. package/lib/providers/keycloakify-angular.providers.mjs +0 -54
  225. package/lib/public-api.d.ts +0 -10
  226. package/lib/public-api.mjs +0 -4
  227. package/lib/services/i18n.service.d.ts +0 -6
  228. package/lib/services/index.d.ts +0 -2
  229. package/lib/services/index.mjs +0 -3
  230. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +0 -105
  231. package/login/components/group-label/group-label.component.mjs +0 -41
  232. package/login/components/hello-world/hello-world.component.d.ts +0 -5
  233. package/login/components/hello-world/hello-world.component.mjs +0 -11
  234. package/login/components/index.d.ts +0 -11
  235. package/login/components/index.mjs +0 -12
  236. package/login/components/input-tag/input-tag.component.mjs +0 -89
  237. package/login/components/input-tag-selects/input-tag-selects.component.mjs +0 -115
  238. package/login/components/logout-other-sessions/logout-other-sessions.component.mjs +0 -30
  239. package/login/components/password-wrapper/password-wrapper.component.mjs +0 -44
  240. package/login/components/select-tag/select-tag.component.mjs +0 -80
  241. package/login/components/textarea-tag/textarea-tag.component.mjs +0 -48
  242. package/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +0 -55
  243. package/login/containers/template.component.mjs +0 -70
  244. package/login/directives/index.d.ts +0 -2
  245. package/login/directives/index.mjs +0 -3
  246. package/login/pages/code/code.component.mjs +0 -32
  247. package/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +0 -32
  248. package/login/pages/delete-credential/delete-credential.component.mjs +0 -37
  249. package/login/pages/error/error.component.mjs +0 -32
  250. package/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +0 -41
  251. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +0 -42
  252. package/login/pages/info/info.component.mjs +0 -58
  253. package/login/pages/login/login.component.mjs +0 -41
  254. package/login/pages/login-config-totp/login-config-totp.component.mjs +0 -40
  255. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +0 -37
  256. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +0 -37
  257. package/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +0 -37
  258. package/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +0 -38
  259. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +0 -37
  260. package/login/pages/login-otp/login-otp.component.mjs +0 -38
  261. package/login/pages/login-page-expired/login-page-expired.component.mjs +0 -36
  262. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +0 -85
  263. package/login/pages/login-password/login-password.component.mjs +0 -40
  264. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +0 -40
  265. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +0 -38
  266. package/login/pages/login-reset-otp/login-reset-otp.component.mjs +0 -37
  267. package/login/pages/login-reset-password/login-reset-password.component.mjs +0 -38
  268. package/login/pages/login-update-password/login-update-password.component.mjs +0 -40
  269. package/login/pages/login-update-profile/login-update-profile.component.mjs +0 -39
  270. package/login/pages/login-username/login-username.component.mjs +0 -40
  271. package/login/pages/login-verify-email/login-verify-email.component.mjs +0 -37
  272. package/login/pages/login-x509-info/login-x509-info.component.mjs +0 -37
  273. package/login/pages/logout-confirm/logout-confirm.component.mjs +0 -37
  274. package/login/pages/register/register.component.mjs +0 -55
  275. package/login/pages/saml-post-form/saml-post-form.component.mjs +0 -49
  276. package/login/pages/select-authenticator/select-authenticator.component.mjs +0 -39
  277. package/login/pages/terms/terms.component.mjs +0 -37
  278. package/login/pages/update-email/update-email.component.mjs +0 -40
  279. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +0 -81
  280. package/login/pages/webauthn-error/webauthn-error.component.mjs +0 -46
  281. package/login/pages/webauthn-register/webauthn-register.component.mjs +0 -76
  282. package/login/pipes/advanced-msg-str.pipe.d.ts +0 -8
  283. package/login/pipes/advanced-msg-str.pipe.mjs +0 -19
  284. package/login/pipes/index.d.ts +0 -6
  285. package/login/pipes/index.mjs +0 -7
  286. package/login/pipes/kc-sanitize.pipe.mjs +0 -34
  287. package/login/pipes/msg-str.pipe.d.ts +0 -9
  288. package/login/pipes/msg-str.pipe.mjs +0 -19
  289. package/login/services/index.d.ts +0 -2
  290. package/login/services/index.mjs +0 -3
  291. package/login/services/login-resource-injector.service.mjs +0 -68
  292. package/login/services/user-profile-form.service.mjs +0 -1017
  293. package/src/lib/i18n.ts +0 -9
  294. package/src/lib/models/index.ts +0 -1
  295. package/src/lib/providers/keycloakify-angular.providers.ts +0 -92
  296. package/src/lib/public-api.ts +0 -12
  297. package/src/lib/services/index.ts +0 -2
  298. package/src/login/components/hello-world/hello-world.component.css +0 -0
  299. package/src/login/components/hello-world/hello-world.component.html +0 -1
  300. package/src/login/components/hello-world/hello-world.component.ts +0 -10
  301. package/src/login/components/index.ts +0 -11
  302. package/src/login/directives/index.ts +0 -2
  303. package/src/login/pipes/advanced-msg-str.pipe.ts +0 -13
  304. package/src/login/pipes/index.ts +0 -6
  305. package/src/login/pipes/msg-str.pipe.ts +0 -14
  306. package/src/login/services/index.ts +0 -2
  307. /package/lib/models/{script.model.mjs → script.model.js} +0 -0
  308. /package/lib/services/{resource-injector.service.mjs → resource-injector.service.js} +0 -0
  309. /package/login/{DefaultPage.mjs → DefaultPage.js} +0 -0
  310. /package/login/{KcContext.mjs → KcContext.js} +0 -0
  311. /package/login/classes/{component-reference.class.mjs → component-reference.class.js} +0 -0
  312. /package/login/directives/{attributes.directive.mjs → attributes.directive.js} +0 -0
  313. /package/login/directives/{kc-class.directive.mjs → kc-class.directive.js} +0 -0
  314. /package/login/{i18n.mjs → i18n.js} +0 -0
  315. /package/login/pipes/{input-type.pipe.mjs → input-type.pipe.js} +0 -0
  316. /package/login/pipes/{to-number.pipe.mjs → to-number.pipe.js} +0 -0
@@ -0,0 +1,2 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const USE_DEFAULT_CSS: InjectionToken<boolean>;
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const USE_DEFAULT_CSS = new InjectionToken('use default css');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRlZmF1bHQtY3NzLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQVUsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBVU0VfREVGQVVMVF9DU1MgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ3VzZSBkZWZhdWx0IGNzcycpO1xuIl19
@@ -1,7 +1,9 @@
1
- import { Attribute } from 'keycloakify/login/KcContext';
2
1
  import { FormAction } from '../../../login/services/user-profile-form.service';
2
+ import { Attribute } from 'keycloakify/login/KcContext';
3
+ import { I18n } from '../../i18n';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class AddRemoveButtonsMultiValuedAttributeComponent {
6
+ i18n: I18n;
5
7
  attribute: import("@angular/core").InputSignal<Attribute | undefined>;
6
8
  values: import("@angular/core").InputSignal<string[] | undefined>;
7
9
  fieldIndex: import("@angular/core").InputSignal<number | undefined>;
@@ -0,0 +1,106 @@
1
+ import { ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';
2
+ import { LOGIN_I18N } from '../../../login/tokens/i18n.token';
3
+ import * as i0 from "@angular/core";
4
+ export class AddRemoveButtonsMultiValuedAttributeComponent {
5
+ constructor() {
6
+ this.i18n = inject(LOGIN_I18N);
7
+ this.attribute = input();
8
+ this.values = input();
9
+ this.fieldIndex = input();
10
+ this.dispatchFormAction = output();
11
+ this.hasRemove = computed(() => {
12
+ const attribute = this.attribute();
13
+ const values = this.values();
14
+ const fieldIndex = this.fieldIndex();
15
+ if (attribute && values && fieldIndex) {
16
+ return this.getButtonToDisplayForMultivaluedAttributeField({
17
+ attribute,
18
+ values,
19
+ fieldIndex
20
+ }).hasRemove;
21
+ }
22
+ return false;
23
+ });
24
+ this.hasAdd = computed(() => {
25
+ const attribute = this.attribute();
26
+ const values = this.values();
27
+ const fieldIndex = this.fieldIndex();
28
+ if (attribute && values && fieldIndex) {
29
+ return this.getButtonToDisplayForMultivaluedAttributeField({
30
+ attribute,
31
+ values,
32
+ fieldIndex
33
+ }).hasAdd;
34
+ }
35
+ return false;
36
+ });
37
+ }
38
+ onAdd() {
39
+ this.dispatchFormAction.emit({
40
+ action: 'update',
41
+ name: this.attribute()?.name ?? '',
42
+ valueOrValues: [...(this.values() ?? []), '']
43
+ });
44
+ }
45
+ onRemove() {
46
+ this.dispatchFormAction.emit({
47
+ action: 'update',
48
+ name: this.attribute()?.name ?? '',
49
+ valueOrValues: (this.values() ?? []).filter((_, i) => i !== this.fieldIndex())
50
+ });
51
+ }
52
+ getButtonToDisplayForMultivaluedAttributeField(params) {
53
+ const { attribute, values, fieldIndex } = params;
54
+ const hasRemove = (() => {
55
+ if (values.length === 1) {
56
+ return false;
57
+ }
58
+ const minCount = (() => {
59
+ const { multivalued } = attribute.validators;
60
+ if (multivalued === undefined) {
61
+ return undefined;
62
+ }
63
+ const minStr = multivalued.min;
64
+ if (minStr === undefined) {
65
+ return undefined;
66
+ }
67
+ return parseInt(`${minStr}`);
68
+ })();
69
+ if (minCount === undefined) {
70
+ return true;
71
+ }
72
+ if (values.length === minCount) {
73
+ return false;
74
+ }
75
+ return true;
76
+ })();
77
+ const hasAdd = (() => {
78
+ if (fieldIndex + 1 !== values.length) {
79
+ return false;
80
+ }
81
+ const maxCount = (() => {
82
+ const { multivalued } = attribute.validators;
83
+ if (multivalued === undefined) {
84
+ return undefined;
85
+ }
86
+ const maxStr = multivalued.max;
87
+ if (maxStr === undefined) {
88
+ return undefined;
89
+ }
90
+ return parseInt(`${maxStr}`);
91
+ })();
92
+ if (maxCount === undefined) {
93
+ return true;
94
+ }
95
+ return values.length !== maxCount;
96
+ })();
97
+ return { hasRemove, hasAdd };
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: AddRemoveButtonsMultiValuedAttributeComponent, isStandalone: true, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, ngImport: i0, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n [id]=\"'kc-remove-' + idPostfix\"\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n &nbsp;|&nbsp;\n }\n}\n@if (hasAdd()) {\n <button\n [id]=\"'kc-add-' + idPostfix\"\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ standalone: true, imports: [], selector: 'kc-add-remove-buttons-multi-valued-attribute', changeDetection: ChangeDetectionStrategy.OnPush, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n [id]=\"'kc-remove-' + idPostfix\"\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n &nbsp;|&nbsp;\n }\n}\n@if (hasAdd()) {\n <button\n [id]=\"'kc-add-' + idPostfix\"\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"] }]
105
+ }] });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vY29tcG9uZW50cy9hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZS9hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlL2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFrQjFFLE1BQU0sT0FBTyw2Q0FBNkM7SUFkMUQ7UUFlSSxTQUFJLEdBQUcsTUFBTSxDQUFPLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixXQUFNLEdBQUcsS0FBSyxFQUFZLENBQUM7UUFDM0IsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLE1BQU0sRUFBYyxDQUFDO1FBRTFDLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxJ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Z2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvdXNlci1wcm9maWxlLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4udG9rZW4nO1xuaW1wb3J0IHsgQXR0cmlidXRlIH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IEkxOG4gfSBmcm9tICcuLi8uLi9pMThuJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBzZWxlY3RvcjogJ2tjLWFkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBZGRSZW1vdmVCdXR0b25zTXVsdGlWYWx1ZWRBdHRyaWJ1dGVDb21wb25lbnQge1xuICAgIGkxOG4gPSBpbmplY3Q8STE4bj4oTE9HSU5fSTE4Tik7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlcyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICAgIGZpZWxkSW5kZXggPSBpbnB1dDxudW1iZXI+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG5cbiAgICBoYXNSZW1vdmUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzKCk7XG4gICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSB0aGlzLmZpZWxkSW5kZXgoKTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZSAmJiB2YWx1ZXMgJiYgZmllbGRJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QnV0dG9uVG9EaXNwbGF5Rm9yTXVsdGl2YWx1ZWRBdHRyaWJ1dGVGaWVsZCh7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlLFxuICAgICAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgICAgICBmaWVsZEluZGV4XG4gICAgICAgICAgICB9KS5oYXNSZW1vdmU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICAgIGhhc0FkZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGUoKTtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy52YWx1ZXMoKTtcbiAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IHRoaXMuZmllbGRJbmRleCgpO1xuICAgICAgICBpZiAoYXR0cmlidXRlICYmIHZhbHVlcyAmJiBmaWVsZEluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCdXR0b25Ub0Rpc3BsYXlGb3JNdWx0aXZhbHVlZEF0dHJpYnV0ZUZpZWxkKHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICAgICAgICAgIGZpZWxkSW5kZXhcbiAgICAgICAgICAgIH0pLmhhc0FkZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBvbkFkZCgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IFsuLi4odGhpcy52YWx1ZXMoKSA/PyBbXSksICcnXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblJlbW92ZSgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6ICh0aGlzLnZhbHVlcygpID8/IFtdKS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IHRoaXMuZmllbGRJbmRleCgpKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJ1dHRvblRvRGlzcGxheUZvck11bHRpdmFsdWVkQXR0cmlidXRlRmllbGQocGFyYW1zOiB7IGF0dHJpYnV0ZTogQXR0cmlidXRlOyB2YWx1ZXM6IHN0cmluZ1tdOyBmaWVsZEluZGV4OiBudW1iZXIgfSkge1xuICAgICAgICBjb25zdCB7IGF0dHJpYnV0ZSwgdmFsdWVzLCBmaWVsZEluZGV4IH0gPSBwYXJhbXM7XG5cbiAgICAgICAgY29uc3QgaGFzUmVtb3ZlID0gKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtaW5Db3VudCA9ICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBtdWx0aXZhbHVlZCB9ID0gYXR0cmlidXRlLnZhbGlkYXRvcnM7XG5cbiAgICAgICAgICAgICAgICBpZiAobXVsdGl2YWx1ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG1pblN0ciA9IG11bHRpdmFsdWVkLm1pbjtcblxuICAgICAgICAgICAgICAgIGlmIChtaW5TdHIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUludChgJHttaW5TdHJ9YCk7XG4gICAgICAgICAgICB9KSgpO1xuXG4gICAgICAgICAgICBpZiAobWluQ291bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gbWluQ291bnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSgpO1xuXG4gICAgICAgIGNvbnN0IGhhc0FkZCA9ICgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGRJbmRleCArIDEgIT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG1heENvdW50ID0gKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG11bHRpdmFsdWVkIH0gPSBhdHRyaWJ1dGUudmFsaWRhdG9ycztcblxuICAgICAgICAgICAgICAgIGlmIChtdWx0aXZhbHVlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF4U3RyID0gbXVsdGl2YWx1ZWQubWF4O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heFN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KGAke21heFN0cn1gKTtcbiAgICAgICAgICAgIH0pKCk7XG5cbiAgICAgICAgICAgIGlmIChtYXhDb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoICE9PSBtYXhDb3VudDtcbiAgICAgICAgfSkoKTtcblxuICAgICAgICByZXR1cm4geyBoYXNSZW1vdmUsIGhhc0FkZCB9O1xuICAgIH1cbn1cbiIsIkBsZXQgaWRQb3N0Zml4ID0gYXR0cmlidXRlKCk/Lm5hbWUgPz8gJycgKyAnLScgKyAoZmllbGRJbmRleCgpID8/IDAgKyAxKTtcbkBpZiAoaGFzUmVtb3ZlKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIFtpZF09XCIna2MtcmVtb3ZlLScgKyBpZFBvc3RmaXhcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJwZi1jLWJ1dHRvbiBwZi1tLWlubGluZSBwZi1tLWxpbmtcIlxuICAgICAgICAoY2xpY2spPVwib25SZW1vdmUoKVwiXG4gICAgPlxuICAgICAgICB7eyBpMThuLm1zZ1N0cigncmVtb3ZlJykgfX1cbiAgICA8L2J1dHRvbj5cbiAgICBAaWYgKGhhc0FkZCgpKSB7XG4gICAgICAgICZuYnNwO3wmbmJzcDtcbiAgICB9XG59XG5AaWYgKGhhc0FkZCgpKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBbaWRdPVwiJ2tjLWFkZC0nICsgaWRQb3N0Zml4XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwicGYtYy1idXR0b24gcGYtbS1pbmxpbmUgcGYtbS1saW5rXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWRkKClcIlxuICAgID5cbiAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2FkZFZhbHVlJykgfX1cbiAgICA8L2J1dHRvbj5cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { Attribute } from 'keycloakify/login/KcContext';
2
- import { ClassKey } from 'keycloakify/login/lib/kcClsx';
3
1
  import { ComponentReference } from '../../../login/classes/component-reference.class';
4
2
  import { FormFieldError } from '../../../login/services/user-profile-form.service';
3
+ import { Attribute } from 'keycloakify/login/KcContext';
4
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class FieldErrorsComponent extends ComponentReference {
7
7
  attribute: import("@angular/core").InputSignal<Attribute | undefined>;
@@ -1,7 +1,8 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';
2
- import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
2
+ import { USE_DEFAULT_CSS } from '../../../lib/tokens/use-default-css.token';
3
3
  import { ComponentReference } from '../../../login/classes/component-reference.class';
4
4
  import { KcClassDirective } from '../../../login/directives/kc-class.directive';
5
+ import { LOGIN_CLASSES } from '../../../login/tokens/classes.token';
5
6
  import * as i0 from "@angular/core";
6
7
  export class FieldErrorsComponent extends ComponentReference {
7
8
  constructor() {
@@ -10,7 +11,7 @@ export class FieldErrorsComponent extends ComponentReference {
10
11
  this.displayableErrors = input();
11
12
  this.fieldIndex = input();
12
13
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
13
- this.classes = inject(CLASSES);
14
+ this.classes = inject(LOGIN_CLASSES);
14
15
  }
15
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FieldErrorsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
17
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: FieldErrorsComponent, isStandalone: true, selector: "kc-field-errors", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
@@ -29,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
29
30
  }
30
31
  ], template: "@let index = fieldIndex();\n<span\n [id]=\"'input-error-' + attribute.name + (index === undefined ? '' : '-' + index)\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n>\n @for (error of displayableErrors(); track error; let i = $index) {\n @if (error.fieldIndex === index) {\n <span [innerHTML]=\"error.errorMessage\"></span>\n @if (displayableErrors()?.length ?? 0 - 1 !== i) {\n <br />\n }\n }\n }\n</span>\n", styles: [":host{display:contents}\n"] }]
31
32
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvZmllbGQtZXJyb3JzL2ZpZWxkLWVycm9ycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOztBQXVCNUYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQXBCNUQ7O1FBcUJJLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDOUMsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO0tBQ3pFOzhHQU5ZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGlmQVBsQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDdEQ7U0FDSixpREMxQkwsNmZBZUEsbUZERWMsZ0JBQWdCOzsyRkFXakIsb0JBQW9CO2tCQXBCaEMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNqQixpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzt5QkFDdEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTEFTU0VTLCBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybUZpZWxkRXJyb3IgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUtZm9ybS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1maWVsZC1lcnJvcnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnZmllbGQtZXJyb3JzLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmllbGRFcnJvcnNDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkRXJyb3JzQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgZGlzcGxheWFibGVFcnJvcnMgPSBpbnB1dDxGb3JtRmllbGRFcnJvcltdPigpO1xuICAgIGZpZWxkSW5kZXggPSBpbnB1dDxudW1iZXI+KCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xufVxuIiwiQGxldCBpbmRleCA9IGZpZWxkSW5kZXgoKTtcbjxzcGFuXG4gICAgW2lkXT1cIidpbnB1dC1lcnJvci0nICsgYXR0cmlidXRlLm5hbWUgKyAoaW5kZXggPT09IHVuZGVmaW5lZCA/ICcnIDogJy0nICsgaW5kZXgpXCJcbiAgICBba2NDbGFzc109XCIna2NJbnB1dEVycm9yTWVzc2FnZUNsYXNzJ1wiXG4gICAgYXJpYS1saXZlPVwicG9saXRlXCJcbj5cbiAgICBAZm9yIChlcnJvciBvZiBkaXNwbGF5YWJsZUVycm9ycygpOyB0cmFjayBlcnJvcjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgQGlmIChlcnJvci5maWVsZEluZGV4ID09PSBpbmRleCkge1xuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJlcnJvci5lcnJvck1lc3NhZ2VcIj48L3NwYW4+XG4gICAgICAgICAgICBAaWYgKGRpc3BsYXlhYmxlRXJyb3JzKCk/Lmxlbmd0aCA/PyAwIC0gMSAhPT0gaSkge1xuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zcGFuPlxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvZmllbGQtZXJyb3JzL2ZpZWxkLWVycm9ycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFNUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQXdCaEYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQXBCNUQ7O1FBcUJJLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDOUMsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGFBQWEsQ0FBQyxDQUFDO0tBQy9FOzhHQU5ZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGlmQVBsQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDdEQ7U0FDSixpREMzQkwsNmZBZUEsbUZER2MsZ0JBQWdCOzsyRkFXakIsb0JBQW9CO2tCQXBCaEMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNqQixpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzt5QkFDdEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvdG9rZW5zL3VzZS1kZWZhdWx0LWNzcy50b2tlbic7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1GaWVsZEVycm9yIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvdXNlci1wcm9maWxlLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMudG9rZW4nO1xuaW1wb3J0IHsgQXR0cmlidXRlIH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmVdLFxuICAgIHNlbGVjdG9yOiAna2MtZmllbGQtZXJyb3JzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2ZpZWxkLWVycm9ycy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpZWxkRXJyb3JzQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEVycm9yc0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBmaWVsZEluZGV4ID0gaW5wdXQ8bnVtYmVyPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcbn1cbiIsIkBsZXQgaW5kZXggPSBmaWVsZEluZGV4KCk7XG48c3BhblxuICAgIFtpZF09XCInaW5wdXQtZXJyb3ItJyArIGF0dHJpYnV0ZS5uYW1lICsgKGluZGV4ID09PSB1bmRlZmluZWQgPyAnJyA6ICctJyArIGluZGV4KVwiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRFcnJvck1lc3NhZ2VDbGFzcydcIlxuICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4+XG4gICAgQGZvciAoZXJyb3Igb2YgZGlzcGxheWFibGVFcnJvcnMoKTsgdHJhY2sgZXJyb3I7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIEBpZiAoZXJyb3IuZmllbGRJbmRleCA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZXJyb3IuZXJyb3JNZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgQGlmIChkaXNwbGF5YWJsZUVycm9ycygpPy5sZW5ndGggPz8gMCAtIDEgIT09IGkpIHtcbiAgICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbjwvc3Bhbj5cbiJdfQ==
@@ -1,8 +1,10 @@
1
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
1
2
  import { Attribute } from 'keycloakify/login/KcContext';
2
3
  import { ClassKey } from 'keycloakify/login/lib/kcClsx';
3
- import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { I18n } from '../../i18n';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class GroupLabelComponent extends ComponentReference {
7
+ i18n: I18n;
6
8
  attribute: import("@angular/core").InputSignal<Attribute | undefined>;
7
9
  groupName: import("@angular/core").InputSignal<string | undefined>;
8
10
  doUseDefaultCss: boolean;
@@ -0,0 +1,43 @@
1
+ import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input } from '@angular/core';
2
+ import { USE_DEFAULT_CSS } from '../../../lib/tokens/use-default-css.token';
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 { LOGIN_CLASSES } from '../../../login/tokens/classes.token';
7
+ import { LOGIN_I18N } from '../../../login/tokens/i18n.token';
8
+ import * as i0 from "@angular/core";
9
+ export class GroupLabelComponent extends ComponentReference {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.i18n = inject(LOGIN_I18N);
13
+ this.attribute = input();
14
+ this.groupName = input();
15
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
16
+ this.classes = inject(LOGIN_CLASSES);
17
+ this.groupNameRef = computed(() => {
18
+ const attribute = this.attribute();
19
+ const groupName = this.groupName();
20
+ if (attribute?.group?.name !== groupName) {
21
+ return attribute?.group?.name ?? '';
22
+ }
23
+ return '';
24
+ });
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GroupLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: GroupLabelComponent, isStandalone: true, selector: "kc-group-label", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
28
+ {
29
+ provide: ComponentReference,
30
+ useExisting: forwardRef(() => GroupLabelComponent)
31
+ }
32
+ ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GroupLabelComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ standalone: true, imports: [KcClassDirective, AttributesDirective], selector: 'kc-group-label', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
37
+ {
38
+ provide: ComponentReference,
39
+ useExisting: forwardRef(() => GroupLabelComponent)
40
+ }
41
+ ], template: "@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vY29tcG9uZW50cy9ncm91cC1sYWJlbC9ncm91cC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2dyb3VwLWxhYmVsL2dyb3VwLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQXlCMUUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQXBCM0Q7O1FBcUJJLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGNBQVMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNuQixvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxJQUFJLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN2QyxPQUFPLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztLQUNOOzhHQWRZLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlWQVBqQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDckQ7U0FDSixpREM3QkwsNm9DQThCQSxtRkRWYyxnQkFBZ0IsK0ZBQUUsbUJBQW1COzsyRkFXdEMsbUJBQW1CO2tCQXBCL0IsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxZQUN0QyxnQkFBZ0IsbUJBRVQsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzt5QkFDckQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MudG9rZW4nO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2F0dHJpYnV0ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMudG9rZW4nO1xuaW1wb3J0IHsgTE9HSU5fSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9pMThuLnRva2VuJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgSTE4biB9IGZyb20gJy4uLy4uL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBBdHRyaWJ1dGVzRGlyZWN0aXZlXSxcbiAgICBzZWxlY3RvcjogJ2tjLWdyb3VwLWxhYmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2dyb3VwLWxhYmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR3JvdXBMYWJlbENvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBMYWJlbENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgZ3JvdXBOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcbiAgICBncm91cE5hbWVSZWYgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGNvbnN0IGdyb3VwTmFtZSA9IHRoaXMuZ3JvdXBOYW1lKCk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGU/Lmdyb3VwPy5uYW1lICE9PSBncm91cE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBhdHRyaWJ1dGU/Lmdyb3VwPy5uYW1lID8/ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9KTtcbn1cbiIsIkBsZXQgYXR0ciA9IGF0dHJpYnV0ZSgpO1xuQGxldCBncm91cE5hbWUgPSBncm91cE5hbWVSZWYoKTtcbkBpZiAoYXR0ciAmJiBncm91cE5hbWUgIT09ICcnKSB7XG4gICAgPGRpdlxuICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICBba2NBdHRyaWJ1dGVzXT1cImF0dHIuZ3JvdXA/Lmh0bWw1RGF0YUFubm90YXRpb25zXCJcbiAgICA+XG4gICAgICAgIEBsZXQgZ3JvdXBEaXNwbGF5SGVhZGVyID0gYXR0ci5ncm91cD8uZGlzcGxheUhlYWRlciA/PyAnJztcbiAgICAgICAgQGxldCBncm91cEhlYWRlclRleHQgPSBncm91cERpc3BsYXlIZWFkZXIgIT09ICcnID8gZ3JvdXBEaXNwbGF5SGVhZGVyIDogKGF0dHIuZ3JvdXA/Lm5hbWUgPz8gJycpO1xuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0NvbnRlbnRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ2hlYWRlci0nICsgYXR0ci5ncm91cD8ubmFtZVwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwSGVhZGVyJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaTE4bi5hZHZhbmNlZE1zZ1N0cihncm91cEhlYWRlclRleHQpIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGxldCBncm91cERpc3BsYXlEZXNjcmlwdGlvbiA9IGF0dHIuZ3JvdXA/LmRpc3BsYXlEZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgICAgQGlmIChncm91cERpc3BsYXlEZXNjcmlwdGlvbiAhPT0gJycpIHtcbiAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCInZGVzY3JpcHRpb24tJyArIGF0dHIuZ3JvdXA/Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NMYWJlbENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLmFkdmFuY2VkTXNnU3RyKGdyb3VwRGlzcGxheURlc2NyaXB0aW9uKSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
2
- import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
2
+ import { USE_DEFAULT_CSS } from '../../../lib/tokens/use-default-css.token';
3
+ import { LOGIN_CLASSES } from '../../../login/tokens/classes.token';
3
4
  import { ComponentReference } from '../../../login/classes/component-reference.class';
4
5
  import { ToArrayPipe } from '../../../login/pipes/to-array.pipe';
5
6
  import { InputTagSelectsComponent } from '../../../login/components/input-tag-selects/input-tag-selects.component';
@@ -16,7 +17,7 @@ export class InputFieldByTypeComponent extends ComponentReference {
16
17
  this.displayableErrors = input();
17
18
  this.dispatchFormAction = output();
18
19
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
19
- this.classes = inject(CLASSES);
20
+ this.classes = inject(LOGIN_CLASSES);
20
21
  this.attributePassword = computed(() => {
21
22
  const attribute = this.attribute() ?? {};
22
23
  return {
@@ -42,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
42
43
  }
43
44
  ], template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-textarea-tag>\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-select-tag>\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag-selects>\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"] }]
44
45
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUvaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUvaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUZBQXFGLENBQUM7QUFDL0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUZBQW1GLENBQUM7QUFDN0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDM0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkVBQTJFLENBQUM7O0FBc0JqSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsa0JBQWtCO0lBcEJqRTs7UUFxQkksY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsS0FBSyxFQUFxQixDQUFDO1FBQzNDLHNCQUFpQixHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FBQztRQUV0RSxzQkFBaUIsR0FBRyxRQUFRLENBQVksR0FBRyxFQUFFO1lBQ3pDLE1BQU0sU0FBUyxHQUFjLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSyxFQUFnQixDQUFDO1lBQ25FLE9BQU87Z0JBQ0gsR0FBRyxTQUFTO2dCQUNaLFdBQVcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUU7YUFDM0UsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047OEdBZlkseUJBQXlCO2tHQUF6Qix5QkFBeUIsd2pCQVB2QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDM0Q7U0FDSixpREMvQkwsNjFGQStEQSw4RUR6Q2MsV0FBVyxnREFBRSxvQkFBb0Isa0pBQUUsa0JBQWtCLHdKQUFFLHdCQUF3QiwrSkFBRSxpQkFBaUIsK0tBQUUsd0JBQXdCOzsyRkFXN0gseUJBQXlCO2tCQXBCckMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUMsWUFDN0gsd0JBQXdCLG1CQUVqQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO3lCQUMzRDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENMQVNTRVMsIFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IFRvQXJyYXlQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvdG8tYXJyYXkucGlwZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5wdXRUYWdTZWxlY3RzQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWctc2VsZWN0cy9pbnB1dC10YWctc2VsZWN0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRUYWdDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy9pbnB1dC10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvcGFzc3dvcmQtd3JhcHBlci9wYXNzd29yZC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RUYWdDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3NlbGVjdC10YWcvc2VsZWN0LXRhZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFUYWdDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3RleHRhcmVhLXRhZy90ZXh0YXJlYS10YWcuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbVG9BcnJheVBpcGUsIFRleHRhcmVhVGFnQ29tcG9uZW50LCBTZWxlY3RUYWdDb21wb25lbnQsIElucHV0VGFnU2VsZWN0c0NvbXBvbmVudCwgSW5wdXRUYWdDb21wb25lbnQsIFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudF0sXG4gICAgc2VsZWN0b3I6ICdrYy1pbnB1dC1maWVsZC1ieS10eXBlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2lucHV0LWZpZWxkLWJ5LXR5cGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dEZpZWxkQnlUeXBlQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQnlUeXBlQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgdmFsdWVPclZhbHVlcyA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG5cbiAgICBhdHRyaWJ1dGVQYXNzd29yZCA9IGNvbXB1dGVkPEF0dHJpYnV0ZT4oKCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGU6IEF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCkgPz8gKHt9IGFzIEF0dHJpYnV0ZSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5hdHRyaWJ1dGUsXG4gICAgICAgICAgICBhbm5vdGF0aW9uczogeyAuLi4oYXR0cmlidXRlLmFubm90YXRpb25zID8/IHt9KSwgaW5wdXRUeXBlOiAncGFzc3dvcmQnIH1cbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbiIsIkBsZXQgYXR0ciA9IGF0dHJpYnV0ZSgpO1xuQGlmIChhdHRyKSB7XG4gICAgQGxldCB0eXBlID0gYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGU7XG4gICAgQHN3aXRjaCAodHlwZSkge1xuICAgICAgICBAY2FzZSAoJ3RleHRhcmVhJykge1xuICAgICAgICAgICAgPGtjLXRleHRhcmVhLXRhZ1xuICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCIkYW55KHZhbHVlT3JWYWx1ZXMoKSlcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPjwva2MtdGV4dGFyZWEtdGFnPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICh0eXBlID09PSAnc2VsZWN0JyB8fCB0eXBlID09PSAnbXVsdGlzZWxlY3QnID8gdHlwZSA6ICcnKSB7XG4gICAgICAgICAgICA8a2Mtc2VsZWN0LXRhZ1xuICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cInZhbHVlT3JWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9rYy1zZWxlY3QtdGFnPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICh0eXBlID09PSAnc2VsZWN0LXJhZGlvYnV0dG9ucycgfHwgdHlwZSA9PT0gJ211bHRpc2VsZWN0LWNoZWNrYm94ZXMnID8gdHlwZSA6ICcnKSB7XG4gICAgICAgICAgICA8a2MtaW5wdXQtdGFnLXNlbGVjdHNcbiAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPjwva2MtaW5wdXQtdGFnLXNlbGVjdHM+XG4gICAgICAgIH1cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgQGxldCB2YWx1ZXMgPSB2YWx1ZU9yVmFsdWVzKCk7XG4gICAgICAgICAgICA8IS0tIGlmIHZhbHVlT3JWYWx1ZXMgaXMgc3RyaW5nIHNraXAgLS0+XG4gICAgICAgICAgICBAaWYgKHZhbHVlcyAmJiAodmFsdWVzIHwgdG9BcnJheTogdHJ1ZSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgQGZvciAodmFsdWUgb2YgdmFsdWVzOyB0cmFjayB2YWx1ZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGtjLWlucHV0LXRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkSW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9rYy1pbnB1dC10YWc+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmIChhdHRyLm5hbWUgPT09ICdwYXNzd29yZCcgfHwgYXR0ci5uYW1lID09PSAncGFzc3dvcmQtY29uZmlybScpIHtcbiAgICAgICAgICAgICAgICAgICAgPGtjLXBhc3N3b3JkLXdyYXBwZXIgW3Bhc3N3b3JkSW5wdXRJZF09XCJhdHRyLm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxrYy1pbnB1dC10YWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZVBhc3N3b3JkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cInZhbHVlT3JWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9rYy1pbnB1dC10YWc+XG4gICAgICAgICAgICAgICAgICAgIDwva2MtcGFzc3dvcmQtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPGtjLWlucHV0LXRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwva2MtaW5wdXQtdGFnPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUvaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUvaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUdoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUZBQXFGLENBQUM7QUFDL0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUZBQW1GLENBQUM7QUFDN0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDM0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkVBQTJFLENBQUM7O0FBc0JqSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsa0JBQWtCO0lBcEJqRTs7UUFxQkksY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsS0FBSyxFQUFxQixDQUFDO1FBQzNDLHNCQUFpQixHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUU1RSxzQkFBaUIsR0FBRyxRQUFRLENBQVksR0FBRyxFQUFFO1lBQ3pDLE1BQU0sU0FBUyxHQUFjLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSyxFQUFnQixDQUFDO1lBQ25FLE9BQU87Z0JBQ0gsR0FBRyxTQUFTO2dCQUNaLFdBQVcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUU7YUFDM0UsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047OEdBZlkseUJBQXlCO2tHQUF6Qix5QkFBeUIsd2pCQVB2QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDM0Q7U0FDSixpRENoQ0wsNjFGQStEQSw4RUR4Q2MsV0FBVyxnREFBRSxvQkFBb0Isa0pBQUUsa0JBQWtCLHdKQUFFLHdCQUF3QiwrSkFBRSxpQkFBaUIsK0tBQUUsd0JBQXdCOzsyRkFXN0gseUJBQXlCO2tCQXBCckMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUMsWUFDN0gsd0JBQXdCLG1CQUVqQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO3lCQUMzRDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzLnRva2VuJztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcy50b2tlbic7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBUb0FycmF5UGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL3RvLWFycmF5LnBpcGUnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiwgRm9ybUZpZWxkRXJyb3IgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IElucHV0VGFnU2VsZWN0c0NvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtdGFnLXNlbGVjdHMvaW5wdXQtdGFnLXNlbGVjdHMuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0VGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWcvaW5wdXQtdGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0VGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9zZWxlY3QtdGFnL3NlbGVjdC10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRhcmVhVGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy90ZXh0YXJlYS10YWcvdGV4dGFyZWEtdGFnLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW1RvQXJyYXlQaXBlLCBUZXh0YXJlYVRhZ0NvbXBvbmVudCwgU2VsZWN0VGFnQ29tcG9uZW50LCBJbnB1dFRhZ1NlbGVjdHNDb21wb25lbnQsIElucHV0VGFnQ29tcG9uZW50LCBQYXNzd29yZFdyYXBwZXJDb21wb25lbnRdLFxuICAgIHNlbGVjdG9yOiAna2MtaW5wdXQtZmllbGQtYnktdHlwZScsXG4gICAgdGVtcGxhdGVVcmw6ICdpbnB1dC1maWVsZC1ieS10eXBlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRGaWVsZEJ5VHlwZUNvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGaWVsZEJ5VHlwZUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlT3JWYWx1ZXMgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgICBkaXNwbGF5YWJsZUVycm9ycyA9IGlucHV0PEZvcm1GaWVsZEVycm9yW10+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgYXR0cmlidXRlUGFzc3dvcmQgPSBjb21wdXRlZDxBdHRyaWJ1dGU+KCgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlOiBBdHRyaWJ1dGUgPSB0aGlzLmF0dHJpYnV0ZSgpID8/ICh7fSBhcyBBdHRyaWJ1dGUpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYXR0cmlidXRlLFxuICAgICAgICAgICAgYW5ub3RhdGlvbnM6IHsgLi4uKGF0dHJpYnV0ZS5hbm5vdGF0aW9ucyA/PyB7fSksIGlucHV0VHlwZTogJ3Bhc3N3b3JkJyB9XG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iLCJAbGV0IGF0dHIgPSBhdHRyaWJ1dGUoKTtcbkBpZiAoYXR0cikge1xuICAgIEBsZXQgdHlwZSA9IGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlO1xuICAgIEBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgQGNhc2UgKCd0ZXh0YXJlYScpIHtcbiAgICAgICAgICAgIDxrYy10ZXh0YXJlYS10YWdcbiAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiJGFueSh2YWx1ZU9yVmFsdWVzKCkpXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2tjLXRleHRhcmVhLXRhZz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAodHlwZSA9PT0gJ3NlbGVjdCcgfHwgdHlwZSA9PT0gJ211bHRpc2VsZWN0JyA/IHR5cGUgOiAnJykge1xuICAgICAgICAgICAgPGtjLXNlbGVjdC10YWdcbiAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPjwva2Mtc2VsZWN0LXRhZz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAodHlwZSA9PT0gJ3NlbGVjdC1yYWRpb2J1dHRvbnMnIHx8IHR5cGUgPT09ICdtdWx0aXNlbGVjdC1jaGVja2JveGVzJyA/IHR5cGUgOiAnJykge1xuICAgICAgICAgICAgPGtjLWlucHV0LXRhZy1zZWxlY3RzXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGUoKVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2tjLWlucHV0LXRhZy1zZWxlY3RzPlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgIEBsZXQgdmFsdWVzID0gdmFsdWVPclZhbHVlcygpO1xuICAgICAgICAgICAgPCEtLSBpZiB2YWx1ZU9yVmFsdWVzIGlzIHN0cmluZyBza2lwIC0tPlxuICAgICAgICAgICAgQGlmICh2YWx1ZXMgJiYgKHZhbHVlcyB8IHRvQXJyYXk6IHRydWUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIEBmb3IgKHZhbHVlIG9mIHZhbHVlczsgdHJhY2sgdmFsdWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxrYy1pbnB1dC10YWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZEluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwva2MtaW5wdXQtdGFnPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAoYXR0ci5uYW1lID09PSAncGFzc3dvcmQnIHx8IGF0dHIubmFtZSA9PT0gJ3Bhc3N3b3JkLWNvbmZpcm0nKSB7XG4gICAgICAgICAgICAgICAgICAgIDxrYy1wYXNzd29yZC13cmFwcGVyIFtwYXNzd29yZElucHV0SWRdPVwiYXR0ci5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8a2MtaW5wdXQtdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGVQYXNzd29yZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwva2MtaW5wdXQtdGFnPlxuICAgICAgICAgICAgICAgICAgICA8L2tjLXBhc3N3b3JkLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxrYy1pbnB1dC10YWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2tjLWlucHV0LXRhZz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,9 +1,11 @@
1
- import { Attribute } from 'keycloakify/login/KcContext';
2
- import { ClassKey } from 'keycloakify/login/lib/kcClsx';
3
1
  import { ComponentReference } from '../../../login/classes/component-reference.class';
4
2
  import { FormAction, FormFieldError } from '../../../login/services/user-profile-form.service';
3
+ import { Attribute } from 'keycloakify/login/KcContext';
4
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
5
+ import { I18n } from '../../i18n';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class InputTagComponent extends ComponentReference {
8
+ i18n: I18n;
7
9
  attribute: import("@angular/core").InputSignal<Attribute | undefined>;
8
10
  valueOrValues: import("@angular/core").InputSignal<string | string[] | undefined>;
9
11
  fieldIndex: import("@angular/core").InputSignal<number | undefined>;
@@ -0,0 +1,90 @@
1
+ import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
2
+ import { USE_DEFAULT_CSS } from '../../../lib/tokens/use-default-css.token';
3
+ import { ComponentReference } from '../../../login/classes/component-reference.class';
4
+ import { AddRemoveButtonsMultiValuedAttributeComponent } from '../../../login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component';
5
+ import { FieldErrorsComponent } from '../../../login/components/field-errors/field-errors.component';
6
+ import { AttributesDirective } from '../../../login/directives/attributes.directive';
7
+ import { KcClassDirective } from '../../../login/directives/kc-class.directive';
8
+ import { InputTypePipe } from '../../../login/pipes/input-type.pipe';
9
+ import { ToArrayPipe } from '../../../login/pipes/to-array.pipe';
10
+ import { ToNumberPipe } from '../../../login/pipes/to-number.pipe';
11
+ import { LOGIN_CLASSES } from '../../../login/tokens/classes.token';
12
+ import { LOGIN_I18N } from '../../../login/tokens/i18n.token';
13
+ import * as i0 from "@angular/core";
14
+ export class InputTagComponent extends ComponentReference {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.i18n = inject(LOGIN_I18N);
18
+ this.attribute = input();
19
+ this.valueOrValues = input();
20
+ this.fieldIndex = input(undefined);
21
+ this.values = input();
22
+ this.displayableErrors = input();
23
+ this.dispatchFormAction = output();
24
+ this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
25
+ this.classes = inject(LOGIN_CLASSES);
26
+ this.value = computed(() => {
27
+ const valueOrValues = this.valueOrValues();
28
+ const index = this.fieldIndex();
29
+ if (valueOrValues instanceof Array) {
30
+ if (index) {
31
+ return valueOrValues[index] ?? null;
32
+ }
33
+ return null;
34
+ }
35
+ return valueOrValues ?? null;
36
+ });
37
+ }
38
+ onChange(event) {
39
+ const valueOrValues = this.valueOrValues();
40
+ this.dispatchFormAction.emit({
41
+ action: 'update',
42
+ name: this.attribute()?.name ?? '',
43
+ valueOrValues: (() => {
44
+ if (this.fieldIndex !== undefined) {
45
+ if (valueOrValues instanceof Array) {
46
+ return valueOrValues.map((value, i) => {
47
+ if (i === this.fieldIndex()) {
48
+ return event.target?.value;
49
+ }
50
+ return value;
51
+ });
52
+ }
53
+ }
54
+ return event.target?.value;
55
+ })()
56
+ });
57
+ }
58
+ onBlur() {
59
+ this.dispatchFormAction.emit({
60
+ action: 'focus lost',
61
+ name: this.attribute()?.name ?? '',
62
+ fieldIndex: this.fieldIndex()
63
+ });
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ 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: [
67
+ {
68
+ provide: ComponentReference,
69
+ useExisting: forwardRef(() => InputTagComponent)
70
+ }
71
+ ], 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]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\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]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ standalone: true, imports: [
76
+ InputTypePipe,
77
+ KcClassDirective,
78
+ ToNumberPipe,
79
+ AttributesDirective,
80
+ ToArrayPipe,
81
+ FieldErrorsComponent,
82
+ AddRemoveButtonsMultiValuedAttributeComponent
83
+ ], selector: 'kc-input-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
84
+ {
85
+ provide: ComponentReference,
86
+ useExisting: forwardRef(() => InputTagComponent)
87
+ }
88
+ ], 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]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\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]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\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"] }]
89
+ }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtdGFnL2lucHV0LXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy9pbnB1dC10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxxSUFBcUksQ0FBQztBQUNwTSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUUvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWlDMUUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQTVCekQ7O1FBNkJJLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsS0FBSyxFQUFxQixDQUFDO1FBQzNDLGVBQVUsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELFdBQU0sR0FBRyxLQUFLLEVBQVksQ0FBQztRQUMzQixzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDOUMsdUJBQWtCLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDakMsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFFNUUsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxJQUFJLGFBQWEsWUFBWSxLQUFLLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDUixPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7Z0JBQ3hDLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sYUFBYSxJQUFJLElBQUksQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztLQWdDTjtJQTlCRyxRQUFRLENBQUMsS0FBWTtRQUNqQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2xDLGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUNoQyxJQUFJLGFBQWEsWUFBWSxLQUFLLEVBQUUsQ0FBQzt3QkFDakMsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFOzRCQUNsQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQ0FDMUIsT0FBUSxLQUFLLENBQUMsTUFBMkIsRUFBRSxLQUFLLENBQUM7NEJBQ3JELENBQUM7NEJBRUQsT0FBTyxLQUFLLENBQUM7d0JBQ2pCLENBQUMsQ0FBQyxDQUFDO29CQUNQLENBQUM7Z0JBQ0wsQ0FBQztnQkFFRCxPQUFRLEtBQUssQ0FBQyxNQUEyQixFQUFFLEtBQUssQ0FBQztZQUNyRCxDQUFDLENBQUMsRUFBRTtTQUNQLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsWUFBWTtZQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2xDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQ2hDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBcERRLGlCQUFpQjtrR0FBakIsaUJBQWlCLGd6QkFQZjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7YUFDbkQ7U0FDSixpREMzQ0wsaThEQTZDQSw4RURsQlEsYUFBYSxrREFDYixnQkFBZ0IsMEZBQ2hCLFlBQVksaURBQ1osbUJBQW1CLGdGQUNuQixXQUFXLGdEQUNYLG9CQUFvQixzSEFDcEIsNkNBQTZDOzsyRkFZeEMsaUJBQWlCO2tCQTVCN0IsU0FBUztpQ0FDTSxJQUFJLFdBUVA7d0JBQ0wsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsNkNBQTZDO3FCQUNoRCxZQUNTLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzt5QkFDbkQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvdG9rZW5zL3VzZS1kZWZhdWx0LWNzcy50b2tlbic7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgQWRkUmVtb3ZlQnV0dG9uc011bHRpVmFsdWVkQXR0cmlidXRlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZS9hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRFcnJvcnNDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2F0dHJpYnV0ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbnB1dFR5cGVQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvaW5wdXQtdHlwZS5waXBlJztcbmltcG9ydCB7IFRvQXJyYXlQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvdG8tYXJyYXkucGlwZSc7XG5pbXBvcnQgeyBUb051bWJlclBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy90by1udW1iZXIucGlwZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTE9HSU5fQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9jbGFzc2VzLnRva2VuJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bi50b2tlbic7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IEkxOG4gfSBmcm9tICcuLi8uLi9pMThuJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIElucHV0VHlwZVBpcGUsXG4gICAgICAgIEtjQ2xhc3NEaXJlY3RpdmUsXG4gICAgICAgIFRvTnVtYmVyUGlwZSxcbiAgICAgICAgQXR0cmlidXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgVG9BcnJheVBpcGUsXG4gICAgICAgIEZpZWxkRXJyb3JzQ29tcG9uZW50LFxuICAgICAgICBBZGRSZW1vdmVCdXR0b25zTXVsdGlWYWx1ZWRBdHRyaWJ1dGVDb21wb25lbnRcbiAgICBdLFxuICAgIHNlbGVjdG9yOiAna2MtaW5wdXQtdGFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2lucHV0LXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGFnQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRhZ0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgdmFsdWVPclZhbHVlcyA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICAgIGZpZWxkSW5kZXggPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgdmFsdWVzID0gaW5wdXQ8c3RyaW5nW10+KCk7XG4gICAgZGlzcGxheWFibGVFcnJvcnMgPSBpbnB1dDxGb3JtRmllbGRFcnJvcltdPigpO1xuICAgIGRpc3BhdGNoRm9ybUFjdGlvbiA9IG91dHB1dDxGb3JtQWN0aW9uPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIHZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZU9yVmFsdWVzID0gdGhpcy52YWx1ZU9yVmFsdWVzKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maWVsZEluZGV4KCk7XG4gICAgICAgIGlmICh2YWx1ZU9yVmFsdWVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGlmIChpbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZU9yVmFsdWVzW2luZGV4XSA/PyBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlT3JWYWx1ZXMgPz8gbnVsbDtcbiAgICB9KTtcblxuICAgIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZU9yVmFsdWVzID0gdGhpcy52YWx1ZU9yVmFsdWVzKCk7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgYWN0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuYXR0cmlidXRlKCk/Lm5hbWUgPz8gJycsXG4gICAgICAgICAgICB2YWx1ZU9yVmFsdWVzOiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWVPclZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVPclZhbHVlcy5tYXAoKHZhbHVlLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IHRoaXMuZmllbGRJbmRleCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZTtcbiAgICAgICAgICAgIH0pKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ2ZvY3VzIGxvc3QnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIGZpZWxkSW5kZXg6IHRoaXMuZmllbGRJbmRleCgpXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBsZXQgYXR0ciA9IGF0dHJpYnV0ZSgpO1xuQGxldCBpbmRleCA9IGZpZWxkSW5kZXgoKTtcbkBpZiAoYXR0cikge1xuICAgIDxpbnB1dFxuICAgICAgICBbdHlwZV09XCJhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZSB8IGlucHV0VHlwZVwiXG4gICAgICAgIFtpZF09XCJhdHRyLm5hbWVcIlxuICAgICAgICBbbmFtZV09XCJhdHRyLm5hbWVcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0Q2xhc3MnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImluZGV4ICYmIGRpc3BsYXlhYmxlRXJyb3JzKCk/LltpbmRleF0gIT09IHVuZGVmaW5lZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhdHRyLnJlYWRPbmx5XCJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdHRyLmF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJpMThuLmFkdmFuY2VkTXNnU3RyKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUGxhY2Vob2xkZXIgPz8gJycpXCJcbiAgICAgICAgW2F0dHIucGF0dGVybl09XCJhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVBhdHRlcm5cIlxuICAgICAgICBbYXR0ci5zaXplXT1cIlxuICAgICAgICAgICAgIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlU2l6ZVxuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplIHwgdG9OdW1iZXIpID09PSAwXG4gICAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplIHwgdG9OdW1iZXIpXG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCIhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhsZW5ndGggPyB1bmRlZmluZWQgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhsZW5ndGggfCB0b051bWJlcilcIlxuICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwiIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWlubGVuZ3RoID8gdW5kZWZpbmVkIDogKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWlubGVuZ3RoIHwgdG9OdW1iZXIpXCJcbiAgICAgICAgW2F0dHIubWF4XT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWF4XCJcbiAgICAgICAgW2F0dHIubWluXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWluXCJcbiAgICAgICAgW2F0dHIuc3RlcF09XCJhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVN0ZXBcIlxuICAgICAgICBba2NBdHRyaWJ1dGVzXT1cImF0dHIuaHRtbDVEYXRhQW5ub3RhdGlvbnNcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgLz5cbiAgICBAaWYgKGluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgQGxldCB2YWx1ZXMgPSB2YWx1ZU9yVmFsdWVzKCkgPz8gW10gfCB0b0FycmF5O1xuICAgICAgICA8a2MtZmllbGQtZXJyb3JzXG4gICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJcIlxuICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgW2ZpZWxkSW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICA+PC9rYy1maWVsZC1lcnJvcnM+XG4gICAgICAgIDxrYy1hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZVxuICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyXCJcbiAgICAgICAgICAgIFt2YWx1ZXNdPVwidmFsdWVzXCJcbiAgICAgICAgICAgIFtmaWVsZEluZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgID48L2tjLWFkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlPlxuICAgIH1cbn1cbiJdfQ==
@@ -1,10 +1,12 @@
1
1
  import { Signal } from '@angular/core';
2
- import { Attribute } from 'keycloakify/login/KcContext';
3
- import { ClassKey } from 'keycloakify/login/lib/kcClsx';
4
2
  import { ComponentReference } from '../../../login/classes/component-reference.class';
5
3
  import { FormAction, FormFieldError } from '../../../login/services/user-profile-form.service';
4
+ import { Attribute } from 'keycloakify/login/KcContext';
5
+ import { ClassKey } from 'keycloakify/login/lib/kcClsx';
6
+ import { I18n } from '../../i18n';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class InputTagSelectsComponent extends ComponentReference {
9
+ i18n: I18n;
8
10
  attribute: import("@angular/core").InputSignal<Attribute | undefined>;
9
11
  valueOrValues: import("@angular/core").InputSignal<string | string[] | undefined>;
10
12
  dispatchFormAction: import("@angular/core").OutputEmitterRef<FormAction>;