@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
@@ -1,115 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
2
- import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
- import { ComponentReference } from '../../../login/classes/component-reference.class';
4
- import { KcClassDirective } from '../../../login/directives/kc-class.directive';
5
- import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
6
- import * as i0 from "@angular/core";
7
- export class InputTagSelectsComponent extends ComponentReference {
8
- constructor() {
9
- super(...arguments);
10
- this.attribute = input();
11
- this.valueOrValues = input();
12
- this.dispatchFormAction = output();
13
- this.displayableErrors = input();
14
- this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
15
- this.classes = inject(CLASSES);
16
- this.context = computed(() => {
17
- const attribute = this.attribute();
18
- if (attribute) {
19
- const { inputType } = attribute.annotations;
20
- switch (inputType) {
21
- case 'select-radiobuttons':
22
- return {
23
- inputType: 'radio',
24
- classDiv: 'kcInputClassRadio',
25
- classInput: 'kcInputClassRadioInput',
26
- classLabel: 'kcInputClassRadioLabel'
27
- };
28
- case 'multiselect-checkboxes':
29
- return {
30
- inputType: 'checkbox',
31
- classDiv: 'kcInputClassCheckbox',
32
- classInput: 'kcInputClassCheckboxInput',
33
- classLabel: 'kcInputClassCheckboxLabel'
34
- };
35
- }
36
- }
37
- return null;
38
- });
39
- this.options = computed(() => {
40
- const attribute = this.attribute();
41
- if (attribute) {
42
- return (() => {
43
- walk: {
44
- const { inputOptionsFromValidation } = attribute.annotations;
45
- if (inputOptionsFromValidation === undefined) {
46
- break walk;
47
- }
48
- const validator = attribute.validators[inputOptionsFromValidation];
49
- if (validator === undefined) {
50
- break walk;
51
- }
52
- if (validator.options === undefined) {
53
- break walk;
54
- }
55
- return validator.options;
56
- }
57
- return attribute.validators.options?.options ?? [];
58
- })();
59
- }
60
- return [];
61
- });
62
- }
63
- checked(option) {
64
- const valueOrValues = this.valueOrValues();
65
- if (valueOrValues instanceof Array) {
66
- return valueOrValues.includes(option);
67
- }
68
- return valueOrValues === option;
69
- }
70
- onChange(event, option) {
71
- const valueOrValues = this.valueOrValues();
72
- const isChecked = event.target.checked;
73
- this.dispatchFormAction.emit({
74
- action: 'update',
75
- name: this.attribute()?.name ?? '',
76
- valueOrValues: (() => {
77
- if (valueOrValues instanceof Array) {
78
- const newValues = [...valueOrValues];
79
- if (isChecked) {
80
- newValues.push(option);
81
- }
82
- else {
83
- newValues.splice(newValues.indexOf(option), 1);
84
- }
85
- return newValues;
86
- }
87
- return event.target?.checked ? option : '';
88
- })()
89
- });
90
- }
91
- onBlur() {
92
- this.dispatchFormAction.emit({
93
- action: 'focus lost',
94
- name: this.attribute()?.name ?? '',
95
- fieldIndex: undefined
96
- });
97
- }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagSelectsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputTagSelectsComponent, isStandalone: true, selector: "kc-input-tag-selects", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
100
- {
101
- provide: ComponentReference,
102
- useExisting: forwardRef(() => InputTagSelectsComponent)
103
- }
104
- ], usesInheritance: true, ngImport: i0, template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ option | advancedMsgStr }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagSelectsComponent, decorators: [{
107
- type: Component,
108
- args: [{ standalone: true, imports: [KcClassDirective, AdvancedMsgStrPipe], selector: 'kc-input-tag-selects', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
109
- {
110
- provide: ComponentReference,
111
- useExisting: forwardRef(() => InputTagSelectsComponent)
112
- }
113
- ], template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ option | advancedMsgStr }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"] }]
114
- }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLXNlbGVjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWctc2VsZWN0cy9pbnB1dC10YWctc2VsZWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy1zZWxlY3RzL2lucHV0LXRhZy1zZWxlY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQXVCNUYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQXBCaEU7O1FBcUJJLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixrQkFBYSxHQUFHLEtBQUssRUFBcUIsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUMxQyxzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDckMsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsT0FBTyxDQUFDLENBQUM7UUFFdEUs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bXB1dGVkLCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ0xBU1NFUywgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQXR0cmlidXRlIH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFkdmFuY2VkTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL2FkdmFuY2VkLW1zZy1zdHIucGlwZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBBZHZhbmNlZE1zZ1N0clBpcGVdLFxuICAgIHNlbGVjdG9yOiAna2MtaW5wdXQtdGFnLXNlbGVjdHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5wdXQtdGFnLXNlbGVjdHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRhZ1NlbGVjdHNDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0VGFnU2VsZWN0c0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlT3JWYWx1ZXMgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBkaXNwbGF5YWJsZUVycm9ycyA9IGlucHV0PEZvcm1GaWVsZEVycm9yW10+KCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xuXG4gICAgY29udGV4dDogU2lnbmFsPHtcbiAgICAgICAgaW5wdXRUeXBlOiAncmFkaW8nIHwgJ2NoZWNrYm94JztcbiAgICAgICAgY2xhc3NEaXY6IENsYXNzS2V5O1xuICAgICAgICBjbGFzc0lucHV0OiBDbGFzc0tleTtcbiAgICAgICAgY2xhc3NMYWJlbDogQ2xhc3NLZXk7XG4gICAgfSB8IG51bGw+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSB0aGlzLmF0dHJpYnV0ZSgpO1xuICAgICAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICAgICAgICBjb25zdCB7IGlucHV0VHlwZSB9ID0gYXR0cmlidXRlLmFubm90YXRpb25zO1xuICAgICAgICAgICAgc3dpdGNoIChpbnB1dFR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzZWxlY3QtcmFkaW9idXR0b25zJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0VHlwZTogJ3JhZGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzRGl2OiAna2NJbnB1dENsYXNzUmFkaW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NJbnB1dDogJ2tjSW5wdXRDbGFzc1JhZGlvSW5wdXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NMYWJlbDogJ2tjSW5wdXRDbGFzc1JhZGlvTGFiZWwnXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2FzZSAnbXVsdGlzZWxlY3QtY2hlY2tib3hlcyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc0RpdjogJ2tjSW5wdXRDbGFzc0NoZWNrYm94JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzSW5wdXQ6ICdrY0lucHV0Q2xhc3NDaGVja2JveElucHV0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTGFiZWw6ICdrY0lucHV0Q2xhc3NDaGVja2JveExhYmVsJ1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgb3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGUoKTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgcmV0dXJuICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgd2Fsazoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGlucHV0T3B0aW9uc0Zyb21WYWxpZGF0aW9uIH0gPSBhdHRyaWJ1dGUuYW5ub3RhdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0T3B0aW9uc0Zyb21WYWxpZGF0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHdhbGs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSAoYXR0cmlidXRlLnZhbGlkYXRvcnMgYXMgUmVjb3JkPHN0cmluZywgeyBvcHRpb25zPzogc3RyaW5nW10gfT4pW2lucHV0T3B0aW9uc0Zyb21WYWxpZGF0aW9uXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHdhbGs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yLm9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgd2FsaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0b3Iub3B0aW9ucztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYXR0cmlidXRlLnZhbGlkYXRvcnMub3B0aW9ucz8ub3B0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIH0pKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH0pO1xuXG4gICAgY2hlY2tlZChvcHRpb246IHN0cmluZykge1xuICAgICAgICBjb25zdCB2YWx1ZU9yVmFsdWVzID0gdGhpcy52YWx1ZU9yVmFsdWVzKCk7XG4gICAgICAgIGlmICh2YWx1ZU9yVmFsdWVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZU9yVmFsdWVzLmluY2x1ZGVzKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlT3JWYWx1ZXMgPT09IG9wdGlvbjtcbiAgICB9XG5cbiAgICBvbkNoYW5nZShldmVudDogRXZlbnQsIG9wdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlT3JWYWx1ZXMgPSB0aGlzLnZhbHVlT3JWYWx1ZXMoKTtcbiAgICAgICAgY29uc3QgaXNDaGVja2VkID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkO1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgdmFsdWVPclZhbHVlczogKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVPclZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFsuLi52YWx1ZU9yVmFsdWVzXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNDaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZXMucHVzaChvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWVzLnNwbGljZShuZXdWYWx1ZXMuaW5kZXhPZihvcHRpb24pLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdWYWx1ZXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LmNoZWNrZWQgPyBvcHRpb24gOiAnJztcbiAgICAgICAgICAgIH0pKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ2ZvY3VzIGxvc3QnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIGZpZWxkSW5kZXg6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJAbGV0IGlucHV0VHlwZSA9IGNvbnRleHQoKT8uaW5wdXRUeXBlO1xuQGxldCBjbGFzc0lucHV0ID0gY29udGV4dCgpPy5jbGFzc0lucHV0O1xuQGxldCBjbGFzc0xhYmVsID0gY29udGV4dCgpPy5jbGFzc0xhYmVsO1xuQGxldCBjbGFzc0RpdiA9IGNvbnRleHQoKT8uY2xhc3NEaXY7XG5AbGV0IGF0dHIgPSBhdHRyaWJ1dGUoKTtcbkBpZiAoYXR0cikge1xuICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zKCk7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cImNsYXNzRGl2XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJpbnB1dFR5cGVcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJhdHRyLm5hbWUgKyAnLScgKyBvcHRpb25cIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImF0dHIubmFtZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiY2xhc3NJbnB1dFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhZGlzcGxheWFibGVFcnJvcnMoKT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYXR0ci5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudCwgb3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIFtmb3JdPVwiYXR0ci5uYW1lICsgJy0nICsgb3B0aW9uXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCJbY2xhc3NMYWJlbCEsIGF0dHIucmVhZE9ubHkgPyAna2NJbnB1dENsYXNzUmFkaW9DaGVja2JveExhYmVsRGlzYWJsZWQnIDogJGFueSgnJyldXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24gfCBhZHZhbmNlZE1zZ1N0ciB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxufVxuIl19
@@ -1,30 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';
2
- import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
- import { ComponentReference } from '../../../login/classes/component-reference.class';
4
- import { KcClassDirective } from '../../../login/directives/kc-class.directive';
5
- import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
6
- import * as i0 from "@angular/core";
7
- export class LogoutOtherSessionsComponent extends ComponentReference {
8
- constructor() {
9
- super(...arguments);
10
- this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
11
- this.classes = inject(CLASSES);
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutOtherSessionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: LogoutOtherSessionsComponent, isStandalone: true, selector: "kc-logout-other-sessions", providers: [
15
- {
16
- provide: ComponentReference,
17
- useExisting: forwardRef(() => LogoutOtherSessionsComponent)
18
- }
19
- ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <div class=\"checkbox\">\n <label for=\"logout-sessions\">\n <input\n type=\"checkbox\"\n id=\"logout-sessions\"\n name=\"logout-sessions\"\n value=\"on\"\n defaultChecked=\"true\"\n />\n {{ 'logoutOtherSessions' | msgStr }}\n </label>\n </div>\n </div>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutOtherSessionsComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'kc-logout-other-sessions', standalone: true, imports: [KcClassDirective, MsgStrPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
24
- {
25
- provide: ComponentReference,
26
- useExisting: forwardRef(() => LogoutOtherSessionsComponent)
27
- }
28
- ], template: "<div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <div class=\"checkbox\">\n <label for=\"logout-sessions\">\n <input\n type=\"checkbox\"\n id=\"logout-sessions\"\n name=\"logout-sessions\"\n value=\"on\"\n defaultChecked=\"true\"\n />\n {{ 'logoutOtherSessions' | msgStr }}\n </label>\n </div>\n </div>\n</div>\n", styles: [":host{display:contents}\n"] }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LW90aGVyLXNlc3Npb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvbG9nb3V0LW90aGVyLXNlc3Npb25zL2xvZ291dC1vdGhlci1zZXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2xvZ291dC1vdGhlci1zZXNzaW9ucy9sb2dvdXQtb3RoZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQXNCM0UsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGtCQUFrQjtJQXBCcEU7O1FBcUJhLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO0tBQ3pFOzhHQUhZLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHVFQVAxQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7YUFDOUQ7U0FDSixpREN6QkwsK2pCQW1CQSxtRkRGYyxnQkFBZ0IsMEZBQUUsVUFBVTs7MkZBVTdCLDRCQUE0QjtrQkFwQnhDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBUXhCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxtQkFDdEIsdUJBQXVCLENBQUMsTUFBTSxhQUVwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzt5QkFDOUQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENMQVNTRVMsIFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1zZ1N0clBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9tc2ctc3RyLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tjLWxvZ291dC1vdGhlci1zZXNzaW9ucycsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgTXNnU3RyUGlwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ291dC1vdGhlci1zZXNzaW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ291dE90aGVyU2Vzc2lvbnNDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ291dE90aGVyU2Vzc2lvbnNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihDTEFTU0VTKTtcbn1cbiIsIjxkaXZcbiAgICBpZD1cImtjLWZvcm0tb3B0aW9uc1wiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybU9wdGlvbnNDbGFzcydcIlxuPlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybU9wdGlvbnNXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxvZ291dC1zZXNzaW9uc1wiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImxvZ291dC1zZXNzaW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJsb2dvdXQtc2Vzc2lvbnNcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIm9uXCJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENoZWNrZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHt7ICdsb2dvdXRPdGhlclNlc3Npb25zJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,44 +0,0 @@
1
- import { AsyncPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, forwardRef, inject, input, Renderer2, signal } from '@angular/core';
3
- import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
4
- import { ComponentReference } from '../../../login/classes/component-reference.class';
5
- import { KcClassDirective } from '../../../login/directives/kc-class.directive';
6
- import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
7
- import * as i0 from "@angular/core";
8
- export class PasswordWrapperComponent extends ComponentReference {
9
- constructor() {
10
- super(...arguments);
11
- this.renderer = inject(Renderer2);
12
- this.passwordInputId = input.required();
13
- this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
14
- this.classes = inject(CLASSES);
15
- this.isPasswordRevealed = signal(false);
16
- }
17
- togglePasswordVisibility() {
18
- this.isPasswordRevealed.update(revealed => !revealed);
19
- this.setPasswordInputType();
20
- }
21
- setPasswordInputType() {
22
- const input = document.getElementById(this.passwordInputId());
23
- if (input) {
24
- this.renderer.setProperty(input, 'type', this.isPasswordRevealed() ? 'text' : 'password');
25
- }
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PasswordWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: PasswordWrapperComponent, isStandalone: true, selector: "kc-password-wrapper", inputs: { passwordInputId: { classPropertyName: "passwordInputId", publicName: "passwordInputId", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
29
- {
30
- provide: ComponentReference,
31
- useExisting: forwardRef(() => PasswordWrapperComponent)
32
- }
33
- ], usesInheritance: true, ngImport: i0, template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content></ng-content>\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"(isPasswordRevealed() ? 'hidePassword' : 'showPassword') | msgStr\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n aria-hidden=\"true\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PasswordWrapperComponent, decorators: [{
36
- type: Component,
37
- args: [{ selector: 'kc-password-wrapper', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [KcClassDirective, AsyncPipe, MsgStrPipe], providers: [
38
- {
39
- provide: ComponentReference,
40
- useExisting: forwardRef(() => PasswordWrapperComponent)
41
- }
42
- ], template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content></ng-content>\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"(isPasswordRevealed() ? 'hidePassword' : 'showPassword') | msgStr\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n aria-hidden=\"true\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"] }]
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFzQjNFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFwQmhFOztRQXFCWSxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO1FBRXRFLHVCQUFrQixHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FhL0Q7SUFYRyx3QkFBd0I7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlGLENBQUM7SUFDTCxDQUFDOzhHQWxCUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixtT0FQdEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQzFEO1NBQ0osaURDMUJMLGtrQkFlQSxtRkRJYyxnQkFBZ0IsMEZBQWEsVUFBVTs7MkZBU3hDLHdCQUF3QjtrQkFwQnBDLFNBQVM7K0JBQ0kscUJBQXFCLGNBUW5CLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsYUFFdkM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7eUJBQzFEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCwgaW5wdXQsIFJlbmRlcmVyMiwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ0xBU1NFUywgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL21zZy1zdHIucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2MtcGFzc3dvcmQtd3JhcHBlcicsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgQXN5bmNQaXBlLCBNc2dTdHJQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRXcmFwcGVyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcGFzc3dvcmRJbnB1dElkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihDTEFTU0VTKTtcblxuICAgIGlzUGFzc3dvcmRSZXZlYWxlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgdG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGFzc3dvcmRSZXZlYWxlZC51cGRhdGUocmV2ZWFsZWQgPT4gIXJldmVhbGVkKTtcbiAgICAgICAgdGhpcy5zZXRQYXNzd29yZElucHV0VHlwZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFzc3dvcmRJbnB1dFR5cGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5wYXNzd29yZElucHV0SWQoKSk7XG4gICAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShpbnB1dCwgJ3R5cGUnLCB0aGlzLmlzUGFzc3dvcmRSZXZlYWxlZCgpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IFtrY0NsYXNzXT1cIidrY0lucHV0R3JvdXAnXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1QYXNzd29yZFZpc2liaWxpdHlCdXR0b25DbGFzcydcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihpc1Bhc3N3b3JkUmV2ZWFsZWQoKSA/ICdoaWRlUGFzc3dvcmQnIDogJ3Nob3dQYXNzd29yZCcpIHwgbXNnU3RyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwYXNzd29yZElucHV0SWQoKVwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKVwiXG4gICAgPlxuICAgICAgICA8aVxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiaXNQYXNzd29yZFJldmVhbGVkKCkgPyAna2NGb3JtUGFzc3dvcmRWaXNpYmlsaXR5SWNvbkhpZGUnIDogJ2tjRm9ybVBhc3N3b3JkVmlzaWJpbGl0eUljb25TaG93J1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9pPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,80 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
2
- import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
- import { ComponentReference } from '../../../login/classes/component-reference.class';
4
- import { KcClassDirective } from '../../../login/directives/kc-class.directive';
5
- import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
6
- import { ToNumberPipe } from '../../../login/pipes/to-number.pipe';
7
- import * as i0 from "@angular/core";
8
- export class SelectTagComponent extends ComponentReference {
9
- constructor() {
10
- super(...arguments);
11
- this.attribute = input();
12
- this.valueOrValues = input();
13
- this.displayableErrors = input();
14
- this.dispatchFormAction = output();
15
- this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
16
- this.classes = inject(CLASSES);
17
- this.isMultiple = computed(() => {
18
- return this.attribute()?.annotations?.inputType === 'multiselect';
19
- });
20
- this.options = computed(() => {
21
- const attribute = this.attribute();
22
- if (attribute) {
23
- return (() => {
24
- walk: {
25
- const { inputOptionsFromValidation } = attribute.annotations;
26
- if (inputOptionsFromValidation === undefined) {
27
- break walk;
28
- }
29
- const validator = attribute.validators[inputOptionsFromValidation];
30
- if (validator === undefined) {
31
- break walk;
32
- }
33
- if (validator.options === undefined) {
34
- break walk;
35
- }
36
- return validator.options;
37
- }
38
- return attribute.validators.options?.options ?? [];
39
- })();
40
- }
41
- return [];
42
- });
43
- }
44
- onChange(event) {
45
- this.dispatchFormAction.emit({
46
- action: 'update',
47
- name: this.attribute()?.name ?? '',
48
- valueOrValues: (() => {
49
- if (this.isMultiple()) {
50
- return Array.from(event.target.selectedOptions).map(option => option.value);
51
- }
52
- return event.target.value;
53
- })()
54
- });
55
- }
56
- onBlur() {
57
- this.dispatchFormAction.emit({
58
- action: 'focus lost',
59
- name: this.attribute()?.name ?? '',
60
- fieldIndex: undefined
61
- });
62
- }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SelectTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: SelectTagComponent, isStandalone: true, selector: "kc-select-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
65
- {
66
- provide: ComponentReference,
67
- useExisting: forwardRef(() => SelectTagComponent)
68
- }
69
- ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let multiple = isMultiple();\n@if (attr) {\n <select\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"valueOrValues()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [multiple]=\"multiple\"\n [size]=\"!attr.annotations.inputTypeSize ? undefined : (attr.annotations.inputTypeSize | toNumber)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n >\n @if (!multiple) {\n <option value=\"\"></option>\n }\n @for (option of options(); track option) {\n <option [value]=\"option\">\n @if (!!attr.annotations.inputOptionLabels) {\n {{ attr.annotations.inputOptionLabels[option] ?? option | advancedMsgStr }}\n } @else if (!!attr.annotations.inputOptionLabelsI18nPrefix) {\n {{ attr.annotations.inputOptionLabelsI18nPrefix + '.' + option | advancedMsgStr }}\n } @else {\n {{ option }}\n }\n </option>\n }\n </select>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SelectTagComponent, decorators: [{
72
- type: Component,
73
- args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe, AdvancedMsgStrPipe], selector: 'kc-select-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
74
- {
75
- provide: ComponentReference,
76
- useExisting: forwardRef(() => SelectTagComponent)
77
- }
78
- ], template: "@let attr = attribute();\n@let multiple = isMultiple();\n@if (attr) {\n <select\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"valueOrValues()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [multiple]=\"multiple\"\n [size]=\"!attr.annotations.inputTypeSize ? undefined : (attr.annotations.inputTypeSize | toNumber)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n >\n @if (!multiple) {\n <option value=\"\"></option>\n }\n @for (option of options(); track option) {\n <option [value]=\"option\">\n @if (!!attr.annotations.inputOptionLabels) {\n {{ attr.annotations.inputOptionLabels[option] ?? option | advancedMsgStr }}\n } @else if (!!attr.annotations.inputOptionLabelsI18nPrefix) {\n {{ attr.annotations.inputOptionLabelsI18nPrefix + '.' + option | advancedMsgStr }}\n } @else {\n {{ option }}\n }\n </option>\n }\n </select>\n}\n", styles: [":host{display:contents}\n"] }]
79
- }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3NlbGVjdC10YWcvc2VsZWN0LXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3NlbGVjdC10YWcvc2VsZWN0LXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saURBQWlELENBQUM7O0FBdUIvRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBcEIxRDs7UUFxQkksY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsS0FBSyxFQUFxQixDQUFDO1FBQzNDLHNCQUFpQixHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTEFTU0VTLCBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWR2YW5jZWRNc2dTdHJQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvYWR2YW5jZWQtbXNnLXN0ci5waXBlJztcbmltcG9ydCB7IFRvTnVtYmVyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL3RvLW51bWJlci5waXBlJztcbmltcG9ydCB7IEZvcm1BY3Rpb24sIEZvcm1GaWVsZEVycm9yIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvdXNlci1wcm9maWxlLWZvcm0uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIFRvTnVtYmVyUGlwZSwgQWR2YW5jZWRNc2dTdHJQaXBlXSxcbiAgICBzZWxlY3RvcjogJ2tjLXNlbGVjdC10YWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnc2VsZWN0LXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdFRhZ0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0VGFnQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgdmFsdWVPclZhbHVlcyA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG5cbiAgICBpc011bHRpcGxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGUoKT8uYW5ub3RhdGlvbnM/LmlucHV0VHlwZSA9PT0gJ211bHRpc2VsZWN0JztcbiAgICB9KTtcblxuICAgIG9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHJldHVybiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHdhbGs6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbiB9ID0gYXR0cmlidXRlLmFubm90YXRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhayB3YWxrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gKGF0dHJpYnV0ZS52YWxpZGF0b3JzIGFzIFJlY29yZDxzdHJpbmcsIHsgb3B0aW9ucz86IHN0cmluZ1tdIH0+KVtpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbl07XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhayB3YWxrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvci5vcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHdhbGs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdG9yLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZS52YWxpZGF0b3JzLm9wdGlvbnM/Lm9wdGlvbnMgPz8gW107XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcblxuICAgIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgdmFsdWVPclZhbHVlczogKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc011bHRpcGxlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oKGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkuc2VsZWN0ZWRPcHRpb25zKS5tYXAob3B0aW9uID0+IG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICAgICAgfSkoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgYWN0aW9uOiAnZm9jdXMgbG9zdCcsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgZmllbGRJbmRleDogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBsZXQgYXR0ciA9IGF0dHJpYnV0ZSgpO1xuQGxldCBtdWx0aXBsZSA9IGlzTXVsdGlwbGUoKTtcbkBpZiAoYXR0cikge1xuICAgIDxzZWxlY3RcbiAgICAgICAgW2lkXT1cImF0dHIubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cImF0dHIubmFtZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCIhIWRpc3BsYXlhYmxlRXJyb3JzKCk/Lmxlbmd0aFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhdHRyLnJlYWRPbmx5XCJcbiAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgW3NpemVdPVwiIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlU2l6ZSA/IHVuZGVmaW5lZCA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVNpemUgfCB0b051bWJlcilcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgPlxuICAgICAgICBAaWYgKCFtdWx0aXBsZSkge1xuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPjwvb3B0aW9uPlxuICAgICAgICB9XG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zKCk7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgQGlmICghIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRPcHRpb25MYWJlbHMpIHtcbiAgICAgICAgICAgICAgICAgICAge3sgYXR0ci5hbm5vdGF0aW9ucy5pbnB1dE9wdGlvbkxhYmVsc1tvcHRpb25dID8/IG9wdGlvbiB8IGFkdmFuY2VkTXNnU3RyIH19XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoISFhdHRyLmFubm90YXRpb25zLmlucHV0T3B0aW9uTGFiZWxzSTE4blByZWZpeCkge1xuICAgICAgICAgICAgICAgICAgICB7eyBhdHRyLmFubm90YXRpb25zLmlucHV0T3B0aW9uTGFiZWxzSTE4blByZWZpeCArICcuJyArIG9wdGlvbiB8IGFkdmFuY2VkTXNnU3RyIH19XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICB9XG4gICAgPC9zZWxlY3Q+XG59XG4iXX0=
@@ -1,48 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, inject, input, output } from '@angular/core';
2
- import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
3
- import { ComponentReference } from '../../../login/classes/component-reference.class';
4
- import { KcClassDirective } from '../../../login/directives/kc-class.directive';
5
- import { ToNumberPipe } from '../../../login/pipes/to-number.pipe';
6
- import * as i0 from "@angular/core";
7
- export class TextareaTagComponent extends ComponentReference {
8
- constructor() {
9
- super(...arguments);
10
- this.attribute = input();
11
- this.value = input();
12
- this.displayableErrors = input();
13
- this.dispatchFormAction = output();
14
- this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
15
- this.classes = inject(CLASSES);
16
- }
17
- onChange(event) {
18
- this.dispatchFormAction.emit({
19
- action: 'update',
20
- name: this.attribute()?.name ?? '',
21
- valueOrValues: event.target.value
22
- });
23
- }
24
- onBlur() {
25
- this.dispatchFormAction.emit({
26
- action: 'focus lost',
27
- name: this.attribute()?.name ?? '',
28
- fieldIndex: undefined
29
- });
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TextareaTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: TextareaTagComponent, isStandalone: true, selector: "kc-textarea-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
33
- {
34
- provide: ComponentReference,
35
- useExisting: forwardRef(() => TextareaTagComponent)
36
- }
37
- ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n <textarea\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [cols]=\"attr.annotations.inputTypeCols === undefined ? undefined : (attr.annotations.inputTypeCols | toNumber)\"\n [rows]=\"attr.annotations.inputTypeRows === undefined ? undefined : (attr.annotations.inputTypeRows | toNumber)\"\n [maxLength]=\"attr.annotations.inputTypeMaxlength === undefined ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [value]=\"value()\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n ></textarea>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TextareaTagComponent, decorators: [{
40
- type: Component,
41
- args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe], selector: 'kc-textarea-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
42
- {
43
- provide: ComponentReference,
44
- useExisting: forwardRef(() => TextareaTagComponent)
45
- }
46
- ], template: "@let attr = attribute();\n@if (attr) {\n <textarea\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [cols]=\"attr.annotations.inputTypeCols === undefined ? undefined : (attr.annotations.inputTypeCols | toNumber)\"\n [rows]=\"attr.annotations.inputTypeRows === undefined ? undefined : (attr.annotations.inputTypeRows | toNumber)\"\n [maxLength]=\"attr.annotations.inputTypeMaxlength === undefined ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [value]=\"value()\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n ></textarea>\n}\n", styles: [":host{display:contents}\n"] }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvdGV4dGFyZWEtdGFnL3RleHRhcmVhLXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3RleHRhcmVhLXRhZy90ZXh0YXJlYS10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saURBQWlELENBQUM7O0FBdUIvRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBcEI1RDs7UUFxQkksY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDOUMsdUJBQWtCLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDakMsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsT0FBTyxDQUFDLENBQUM7S0FpQnpFO0lBZkcsUUFBUSxDQUFDLEtBQVk7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2xDLGFBQWEsRUFBRyxLQUFLLENBQUMsTUFBOEIsQ0FBQyxLQUFLO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsWUFBWTtZQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2xDLFVBQVUsRUFBRSxTQUFTO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdEJRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHloQkFQbEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ3REO1NBQ0osaURDM0JMLG92QkFnQkEsbUZERWMsZ0JBQWdCLDBGQUFFLFlBQVk7OzJGQVcvQixvQkFBb0I7a0JBcEJoQyxTQUFTO2lDQUNNLElBQUksV0FRUCxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxZQUMvQixpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzt5QkFDdEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENMQVNTRVMsIFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb051bWJlclBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy90by1udW1iZXIucGlwZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBUb051bWJlclBpcGVdLFxuICAgIHNlbGVjdG9yOiAna2MtdGV4dGFyZWEtdGFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RleHRhcmVhLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRleHRhcmVhVGFnQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYVRhZ0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG5cbiAgICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IChldmVudC50YXJnZXQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsdWVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ2ZvY3VzIGxvc3QnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIGZpZWxkSW5kZXg6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJAbGV0IGF0dHIgPSBhdHRyaWJ1dGUoKTtcbkBpZiAoYXR0cikge1xuICAgIDx0ZXh0YXJlYVxuICAgICAgICBbaWRdPVwiYXR0ci5uYW1lXCJcbiAgICAgICAgW25hbWVdPVwiYXR0ci5uYW1lXCJcbiAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRDbGFzcydcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiISFkaXNwbGF5YWJsZUVycm9ycygpPy5sZW5ndGhcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYXR0ci5yZWFkT25seVwiXG4gICAgICAgIFtjb2xzXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlQ29scyA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlQ29scyB8IHRvTnVtYmVyKVwiXG4gICAgICAgIFtyb3dzXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUm93cyA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUm93cyB8IHRvTnVtYmVyKVwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhsZW5ndGggPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZU1heGxlbmd0aCB8IHRvTnVtYmVyKVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgID48L3RleHRhcmVhPlxufVxuIl19
@@ -1,55 +0,0 @@
1
- import { NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ContentChild, effect, forwardRef, inject, output } from '@angular/core';
3
- import { DO_MAKE_USER_CONFIRM_PASSWORD, KC_CONTEXT, CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
4
- import { ComponentReference } from '../../../login/classes/component-reference.class';
5
- import { KcClassDirective } from '../../../login/directives/kc-class.directive';
6
- import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
7
- import { UserProfileFormService } from '../../../login/services/user-profile-form.service';
8
- import { FieldErrorsComponent } from '../../../login/components/field-errors/field-errors.component';
9
- import { GroupLabelComponent } from '../../../login/components/group-label/group-label.component';
10
- import { InputFieldByTypeComponent } from '../../../login/components/input-field-by-type/input-field-by-type.component';
11
- import * as i0 from "@angular/core";
12
- export class UserProfileFormFieldsComponent extends ComponentReference {
13
- constructor() {
14
- super();
15
- this.kcContext = inject(KC_CONTEXT);
16
- this.userProfileFormService = inject(UserProfileFormService);
17
- this.doMakeUserConfirmPassword = inject(DO_MAKE_USER_CONFIRM_PASSWORD);
18
- this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
19
- this.classes = inject(CLASSES);
20
- this.onIsFormSubmittable = output();
21
- this.formState = this.userProfileFormService.formState;
22
- effect(() => {
23
- const isFormSubmittable = this.formState().isFormSubmittable;
24
- this.onIsFormSubmittable.emit(isFormSubmittable);
25
- });
26
- }
27
- onDispatch(formAction) {
28
- this.userProfileFormService.dispatchFormAction(formAction);
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UserProfileFormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: UserProfileFormFieldsComponent, isStandalone: true, selector: "kc-user-profile-form-fields", outputs: { onIsFormSubmittable: "onIsFormSubmittable" }, providers: [
32
- UserProfileFormService,
33
- {
34
- provide: ComponentReference,
35
- useExisting: forwardRef(() => UserProfileFormFieldsComponent)
36
- }
37
- ], queries: [{ propertyName: "beforeField", first: true, predicate: ["beforField"], descendants: true }, { propertyName: "afterField", first: true, predicate: ["afterField"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@let formFieldStates = formState().formFieldStates;\n\n@for (fieldState of formFieldStates; track fieldState.attribute) {\n <!-- [groupNameRef]=\"groupNameRef\"\n TODO: verify this logic\n -->\n <kc-group-label [attribute]=\"fieldState.attribute\"> </kc-group-label>\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ fieldState.attribute.displayName ?? '' | advancedMsgStr }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ fieldState.attribute.annotations.inputHelperTextBefore | advancedMsgStr }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n >\n </kc-input-field-by-type>\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n >\n </kc-field-errors>\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ fieldState.attribute.annotations.inputHelperTextAfter | advancedMsgStr }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: InputFieldByTypeComponent, selector: "kc-input-field-by-type", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: GroupLabelComponent, selector: "kc-group-label", inputs: ["attribute", "groupName"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UserProfileFormFieldsComponent, decorators: [{
40
- type: Component,
41
- args: [{ standalone: true, imports: [KcClassDirective, FieldErrorsComponent, InputFieldByTypeComponent, GroupLabelComponent, NgTemplateOutlet, AdvancedMsgStrPipe], selector: 'kc-user-profile-form-fields', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
42
- UserProfileFormService,
43
- {
44
- provide: ComponentReference,
45
- useExisting: forwardRef(() => UserProfileFormFieldsComponent)
46
- }
47
- ], template: "@let formFieldStates = formState().formFieldStates;\n\n@for (fieldState of formFieldStates; track fieldState.attribute) {\n <!-- [groupNameRef]=\"groupNameRef\"\n TODO: verify this logic\n -->\n <kc-group-label [attribute]=\"fieldState.attribute\"> </kc-group-label>\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ fieldState.attribute.displayName ?? '' | advancedMsgStr }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ fieldState.attribute.annotations.inputHelperTextBefore | advancedMsgStr }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n >\n </kc-input-field-by-type>\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n >\n </kc-field-errors>\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ fieldState.attribute.annotations.inputHelperTextAfter | advancedMsgStr }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
48
- }], ctorParameters: () => [], propDecorators: { beforeField: [{
49
- type: ContentChild,
50
- args: ['beforField']
51
- }], afterField: [{
52
- type: ContentChild,
53
- args: ['afterField']
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWZvcm0tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvdXNlci1wcm9maWxlLWZvcm0tZmllbGRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy91c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzFILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBYyxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlGQUF5RixDQUFDOztBQXVCcEksTUFBTSxPQUFPLDhCQUErQixTQUFRLGtCQUFrQjtJQWNsRTtRQUNJLEtBQUssRUFBRSxDQUFDO1FBZFosY0FBUyxHQUFHLE1BQU0sQ0FBWSxVQUFVLENBQUMsQ0FBQztRQUMxQywyQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN4RCw4QkFBeUIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUN6RCxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FBQztRQUV0RSx3QkFBbUIsR0FBRyxNQUFNLEVBQVcsQ0FBQztRQUV4QyxjQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQztRQU85QyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDN0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFzQjtRQUM3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQzs4R0F4QlEsOEJBQThCO2tHQUE5Qiw4QkFBOEIsbUlBUjVCO1lBQ1Asc0JBQXNCO1lBQ3RCO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7YUFDaEU7U0FDSixtUENoQ0wsNnZHQXFGQSxtRkQvRGMsZ0JBQWdCLCtGQUFFLG9CQUFvQixzSEFBRSx5QkFBeUIsaUtBQUUsbUJBQW1CLCtGQUFFLGdCQUFnQiwrSUFBRSxrQkFBa0I7OzJGQVk3SCw4QkFBOEI7a0JBckIxQyxTQUFTO2lDQUNNLElBQUksV0FRUCxDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLFlBQzdILDZCQUE2QixtQkFFdEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxzQkFBc0I7d0JBQ3RCOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLCtCQUErQixDQUFDO3lCQUNoRTtxQkFDSjt3REFhMkIsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZO2dCQUNFLFVBQVU7c0JBQXJDLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBlZmZlY3QsIGZvcndhcmRSZWYsIGluamVjdCwgb3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9fTUFLRV9VU0VSX0NPTkZJUk1fUEFTU1dPUkQsIEtDX0NPTlRFWFQsIENMQVNTRVMsIFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBLY0NvbnRleHQgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZHZhbmNlZE1zZ1N0clBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9hZHZhbmNlZC1tc2ctc3RyLnBpcGUnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiwgVXNlclByb2ZpbGVGb3JtU2VydmljZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRFcnJvcnNDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEdyb3VwTGFiZWxDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2dyb3VwLWxhYmVsL2dyb3VwLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEZpZWxkQnlUeXBlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC1maWVsZC1ieS10eXBlL2lucHV0LWZpZWxkLWJ5LXR5cGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgRmllbGRFcnJvcnNDb21wb25lbnQsIElucHV0RmllbGRCeVR5cGVDb21wb25lbnQsIEdyb3VwTGFiZWxDb21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXQsIEFkdmFuY2VkTXNnU3RyUGlwZV0sXG4gICAgc2VsZWN0b3I6ICdrYy11c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMnLFxuICAgIHRlbXBsYXRlVXJsOiAndXNlci1wcm9maWxlLWZvcm0tZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVXNlclByb2ZpbGVGb3JtU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVXNlclByb2ZpbGVGb3JtRmllbGRzQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyUHJvZmlsZUZvcm1GaWVsZHNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxLY0NvbnRleHQ+KEtDX0NPTlRFWFQpO1xuICAgIHVzZXJQcm9maWxlRm9ybVNlcnZpY2UgPSBpbmplY3QoVXNlclByb2ZpbGVGb3JtU2VydmljZSk7XG4gICAgZG9NYWtlVXNlckNvbmZpcm1QYXNzd29yZCA9IGluamVjdChET19NQUtFX1VTRVJfQ09ORklSTV9QQVNTV09SRCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xuXG4gICAgb25Jc0Zvcm1TdWJtaXR0YWJsZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gICAgZm9ybVN0YXRlID0gdGhpcy51c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmZvcm1TdGF0ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2JlZm9yRmllbGQnKSBiZWZvcmVGaWVsZDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgQENvbnRlbnRDaGlsZCgnYWZ0ZXJGaWVsZCcpIGFmdGVyRmllbGQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc0Zvcm1TdWJtaXR0YWJsZSA9IHRoaXMuZm9ybVN0YXRlKCkuaXNGb3JtU3VibWl0dGFibGU7XG4gICAgICAgICAgICB0aGlzLm9uSXNGb3JtU3VibWl0dGFibGUuZW1pdChpc0Zvcm1TdWJtaXR0YWJsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRGlzcGF0Y2goZm9ybUFjdGlvbjogRm9ybUFjdGlvbikge1xuICAgICAgICB0aGlzLnVzZXJQcm9maWxlRm9ybVNlcnZpY2UuZGlzcGF0Y2hGb3JtQWN0aW9uKGZvcm1BY3Rpb24pO1xuICAgIH1cbn1cbiIsIkBsZXQgZm9ybUZpZWxkU3RhdGVzID0gZm9ybVN0YXRlKCkuZm9ybUZpZWxkU3RhdGVzO1xuXG5AZm9yIChmaWVsZFN0YXRlIG9mIGZvcm1GaWVsZFN0YXRlczsgdHJhY2sgZmllbGRTdGF0ZS5hdHRyaWJ1dGUpIHtcbiAgICA8IS0tIFtncm91cE5hbWVSZWZdPVwiZ3JvdXBOYW1lUmVmXCJcbiAgVE9ETzogdmVyaWZ5IHRoaXMgbG9naWNcbiAgLS0+XG4gICAgPGtjLWdyb3VwLWxhYmVsIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIj4gPC9rYy1ncm91cC1sYWJlbD5cblxuICAgIEBpZiAoYmVmb3JlRmllbGQpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYmVmb3JlRmllbGRcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGU6IGZpZWxkU3RhdGUuYXR0cmlidXRlLFxuICAgICAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IGZpZWxkU3RhdGUudmFsdWVPclZhbHVlcyxcbiAgICAgICAgICAgICAgICBkaXNwbGF5YWJsZUVycm9yczogZmllbGRTdGF0ZS5kaXNwbGF5YWJsZUVycm9yc1xuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgfVxuXG4gICAgPGRpdlxuICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJmaWVsZFN0YXRlLmF0dHJpYnV0ZS5uYW1lID09PSAncGFzc3dvcmQtY29uZmlybScgJiYgIWRvTWFrZVVzZXJDb25maXJtUGFzc3dvcmQgPyAnbm9uZScgOiAnYmxvY2snXCJcbiAgICA+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBbZm9yXT1cImZpZWxkU3RhdGUuYXR0cmlidXRlLm5hbWVcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBmaWVsZFN0YXRlLmF0dHJpYnV0ZS5kaXNwbGF5TmFtZSA/PyAnJyB8IGFkdmFuY2VkTXNnU3RyIH19XG4gICAgICAgICAgICAgICAgQGlmIChmaWVsZFN0YXRlLmF0dHJpYnV0ZS5yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NJbnB1dFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIEBpZiAoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuYW5ub3RhdGlvbnMuaW5wdXRIZWxwZXJUZXh0QmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEhlbHBlclRleHRCZWZvcmVDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2Zvcm0taGVscC10ZXh0LWJlZm9yZS0nICsgZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZFN0YXRlLmF0dHJpYnV0ZS5hbm5vdGF0aW9ucy5pbnB1dEhlbHBlclRleHRCZWZvcmUgfCBhZHZhbmNlZE1zZ1N0ciB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8a2MtaW5wdXQtZmllbGQtYnktdHlwZVxuICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cImZpZWxkU3RhdGUudmFsdWVPclZhbHVlc1wiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImZpZWxkU3RhdGUuZGlzcGxheWFibGVFcnJvcnNcIlxuICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwib25EaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwva2MtaW5wdXQtZmllbGQtYnktdHlwZT5cblxuICAgICAgICAgICAgPGtjLWZpZWxkLWVycm9yc1xuICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJmaWVsZFN0YXRlLmRpc3BsYXlhYmxlRXJyb3JzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwva2MtZmllbGQtZXJyb3JzPlxuICAgICAgICAgICAgQGlmIChmaWVsZFN0YXRlLmF0dHJpYnV0ZS5hbm5vdGF0aW9ucy5pbnB1dEhlbHBlclRleHRBZnRlcikge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRIZWxwZXJUZXh0QWZ0ZXJDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2Zvcm0taGVscC10ZXh0LWFmdGVyLScgKyBmaWVsZFN0YXRlLmF0dHJpYnV0ZS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEFmdGVyIHwgYWR2YW5jZWRNc2dTdHIgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChhZnRlckZpZWxkKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhZnRlckZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTogZmllbGRTdGF0ZS5hdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9yVmFsdWVzOiBmaWVsZFN0YXRlLnZhbHVlT3JWYWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5YWJsZUVycm9yczogZmllbGRTdGF0ZS5kaXNwbGF5YWJsZUVycm9yc1xuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8IS0tIE5PVEU6IERvd25sb2FkaW5nIG9mIGh0bWw1RGF0YUFubm90YXRpb25zIHNjcmlwdHMgaXMgZG9uZSBpbiB0aGUgdXNlVXNlclByb2ZpbGVGb3JtIGhvb2sgLS0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufVxuIl19