@keycloakify/angular 0.0.1-rc.2 → 0.0.1-rc.4
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.
- package/lib/tokens/use-default-css.token.d.ts +2 -0
- package/lib/tokens/use-default-css.token.js +3 -0
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +3 -1
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.js +106 -0
- package/login/components/field-errors/field-errors.component.d.ts +2 -2
- package/login/components/field-errors/field-errors.component.js +33 -0
- package/login/components/group-label/group-label.component.d.ts +3 -1
- package/login/components/group-label/group-label.component.js +43 -0
- package/login/components/input-field-by-type/input-field-by-type.component.js +46 -0
- package/login/components/input-tag/input-tag.component.d.ts +4 -2
- package/login/components/input-tag/input-tag.component.js +90 -0
- package/login/components/input-tag-selects/input-tag-selects.component.d.ts +4 -2
- package/login/components/input-tag-selects/input-tag-selects.component.js +117 -0
- package/login/components/logout-other-sessions/logout-other-sessions.component.d.ts +3 -1
- package/login/components/logout-other-sessions/logout-other-sessions.component.js +32 -0
- package/login/components/password-wrapper/password-wrapper.component.d.ts +3 -1
- package/login/components/password-wrapper/password-wrapper.component.js +46 -0
- package/login/components/select-tag/select-tag.component.d.ts +4 -2
- package/login/components/select-tag/select-tag.component.js +82 -0
- package/login/components/textarea-tag/textarea-tag.component.js +49 -0
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +4 -2
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.js +59 -0
- package/login/containers/template.component.js +72 -0
- package/login/pages/code/code.component.d.ts +4 -2
- package/login/pages/code/code.component.js +35 -0
- package/login/pages/delete-account-confirm/delete-account-confirm.component.d.ts +4 -2
- package/login/pages/delete-account-confirm/delete-account-confirm.component.js +35 -0
- package/login/pages/delete-credential/delete-credential.component.d.ts +4 -2
- package/login/pages/delete-credential/delete-credential.component.js +40 -0
- package/login/pages/error/error.component.d.ts +4 -2
- package/login/pages/error/error.component.js +35 -0
- package/login/pages/frontchannel-logout/frontchannel-logout.component.d.ts +4 -2
- package/login/pages/frontchannel-logout/frontchannel-logout.component.js +44 -0
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +4 -2
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.js +45 -0
- package/login/pages/info/info.component.d.ts +4 -8
- package/login/pages/info/info.component.js +49 -0
- package/login/pages/login/login.component.d.ts +4 -2
- package/login/pages/login/login.component.js +44 -0
- package/login/pages/login-config-totp/login-config-totp.component.d.ts +4 -2
- package/login/pages/login-config-totp/login-config-totp.component.js +42 -0
- package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.d.ts +4 -2
- package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.js +40 -0
- package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.d.ts +4 -2
- package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.js +40 -0
- package/login/pages/login-idp-link-email/login-idp-link-email.component.d.ts +4 -2
- package/login/pages/login-idp-link-email/login-idp-link-email.component.js +40 -0
- package/login/pages/login-oauth-grant/login-oauth-grant.component.d.ts +4 -2
- package/login/pages/login-oauth-grant/login-oauth-grant.component.js +40 -0
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +4 -2
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.js +40 -0
- package/login/pages/login-otp/login-otp.component.d.ts +4 -2
- package/login/pages/login-otp/login-otp.component.js +41 -0
- package/login/pages/login-page-expired/login-page-expired.component.d.ts +4 -2
- package/login/pages/login-page-expired/login-page-expired.component.js +39 -0
- package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.d.ts +5 -5
- package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.js +84 -0
- package/login/pages/login-password/login-password.component.d.ts +4 -2
- package/login/pages/login-password/login-password.component.js +43 -0
- package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.d.ts +4 -2
- package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.js +43 -0
- package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.d.ts +4 -2
- package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.js +41 -0
- package/login/pages/login-reset-otp/login-reset-otp.component.d.ts +4 -2
- package/login/pages/login-reset-otp/login-reset-otp.component.js +40 -0
- package/login/pages/login-reset-password/login-reset-password.component.d.ts +4 -2
- package/login/pages/login-reset-password/login-reset-password.component.js +41 -0
- package/login/pages/login-update-password/login-update-password.component.d.ts +4 -2
- package/login/pages/login-update-password/login-update-password.component.js +43 -0
- package/login/pages/login-update-profile/login-update-profile.component.d.ts +4 -2
- package/login/pages/login-update-profile/login-update-profile.component.js +42 -0
- package/login/pages/login-username/login-username.component.d.ts +4 -2
- package/login/pages/login-username/login-username.component.js +43 -0
- package/login/pages/login-verify-email/login-verify-email.component.d.ts +4 -2
- package/login/pages/login-verify-email/login-verify-email.component.js +40 -0
- package/login/pages/login-x509-info/login-x509-info.component.d.ts +4 -2
- package/login/pages/login-x509-info/login-x509-info.component.js +40 -0
- package/login/pages/logout-confirm/logout-confirm.component.d.ts +4 -2
- package/login/pages/logout-confirm/logout-confirm.component.js +40 -0
- package/login/pages/register/register.component.d.ts +4 -2
- package/login/pages/register/register.component.js +48 -0
- package/login/pages/saml-post-form/saml-post-form.component.d.ts +4 -2
- package/login/pages/saml-post-form/saml-post-form.component.js +52 -0
- package/login/pages/select-authenticator/select-authenticator.component.d.ts +4 -2
- package/login/pages/select-authenticator/select-authenticator.component.js +41 -0
- package/login/pages/terms/terms.component.d.ts +4 -2
- package/login/pages/terms/terms.component.js +40 -0
- package/login/pages/update-email/update-email.component.d.ts +4 -2
- package/login/pages/update-email/update-email.component.js +43 -0
- package/login/pages/webauthn-authenticate/webauthn-authenticate.component.d.ts +5 -5
- package/login/pages/webauthn-authenticate/webauthn-authenticate.component.js +80 -0
- package/login/pages/webauthn-error/webauthn-error.component.d.ts +4 -2
- package/login/pages/webauthn-error/webauthn-error.component.js +49 -0
- package/login/pages/webauthn-register/webauthn-register.component.d.ts +5 -5
- package/login/pages/webauthn-register/webauthn-register.component.js +76 -0
- package/login/pipes/kc-sanitize.pipe.d.ts +3 -4
- package/login/pipes/kc-sanitize.pipe.js +29 -0
- package/login/pipes/{to-array.pipe.mjs → to-array.pipe.js} +1 -2
- package/login/providers/keycloakify-angular.providers.d.ts +16 -0
- package/login/providers/keycloakify-angular.providers.js +53 -0
- package/login/services/i18n.service.d.ts +6 -0
- package/{lib/services/i18n.service.mjs → login/services/i18n.service.js} +1 -1
- package/login/services/login-resource-injector.service.d.ts +1 -1
- package/login/services/login-resource-injector.service.js +68 -0
- package/login/services/user-profile-form.service.js +1019 -0
- package/{lib/providers/keycloakify-angular.providers.d.ts → login/tokens/classes.token.d.ts} +1 -24
- package/login/tokens/classes.token.js +3 -0
- package/login/tokens/i18n.token.d.ts +2 -0
- package/login/tokens/i18n.token.js +3 -0
- package/login/tokens/kc-context.token.d.ts +3 -0
- package/login/tokens/kc-context.token.js +3 -0
- package/login/tokens/make-user-confirm-password.token.d.ts +2 -0
- package/login/tokens/make-user-confirm-password.token.js +3 -0
- package/package.json +89 -108
- package/src/lib/tokens/use-default-css.token.ts +3 -0
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html +19 -19
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +7 -15
- package/src/login/components/field-errors/field-errors.component.html +10 -10
- package/src/login/components/field-errors/field-errors.component.ts +6 -11
- package/src/login/components/group-label/group-label.component.html +25 -25
- package/src/login/components/group-label/group-label.component.ts +10 -14
- package/src/login/components/input-field-by-type/input-field-by-type.component.html +57 -57
- package/src/login/components/input-field-by-type/input-field-by-type.component.ts +6 -23
- package/src/login/components/input-tag/input-tag.component.html +41 -45
- package/src/login/components/input-tag/input-tag.component.ts +13 -22
- package/src/login/components/input-tag-selects/input-tag-selects.component.html +22 -22
- package/src/login/components/input-tag-selects/input-tag-selects.component.ts +12 -23
- package/src/login/components/logout-other-sessions/logout-other-sessions.component.html +15 -15
- package/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +8 -5
- package/src/login/components/password-wrapper/password-wrapper.component.html +13 -13
- package/src/login/components/password-wrapper/password-wrapper.component.ts +10 -20
- package/src/login/components/select-tag/select-tag.component.html +26 -26
- package/src/login/components/select-tag/select-tag.component.ts +13 -25
- package/src/login/components/textarea-tag/textarea-tag.component.html +13 -15
- package/src/login/components/textarea-tag/textarea-tag.component.ts +5 -14
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +71 -71
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +15 -34
- package/src/login/containers/template.component.html +183 -183
- package/src/login/containers/template.component.ts +12 -28
- package/src/login/pages/code/code.component.html +21 -21
- package/src/login/pages/code/code.component.ts +11 -11
- package/src/login/pages/delete-account-confirm/delete-account-confirm.component.html +44 -42
- package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +12 -13
- package/src/login/pages/delete-credential/delete-credential.component.html +29 -29
- package/src/login/pages/delete-credential/delete-credential.component.ts +12 -19
- package/src/login/pages/error/error.component.html +20 -20
- package/src/login/pages/error/error.component.ts +11 -11
- package/src/login/pages/frontchannel-logout/frontchannel-logout.component.html +31 -31
- package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +12 -20
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +36 -36
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +12 -25
- package/src/login/pages/info/info.component.html +45 -45
- package/src/login/pages/info/info.component.ts +13 -30
- package/src/login/pages/login/login.component.html +194 -194
- package/src/login/pages/login/login.component.ts +14 -35
- package/src/login/pages/login-config-totp/login-config-totp.component.html +189 -179
- package/src/login/pages/login-config-totp/login-config-totp.component.ts +13 -32
- package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +35 -35
- package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +12 -19
- package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +34 -34
- package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +12 -21
- package/src/login/pages/login-idp-link-email/login-idp-link-email.component.html +32 -30
- package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +12 -19
- package/src/login/pages/login-oauth-grant/login-oauth-grant.component.html +83 -81
- package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +12 -20
- package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +57 -57
- package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +12 -21
- package/src/login/pages/login-otp/login-otp.component.html +96 -96
- package/src/login/pages/login-otp/login-otp.component.ts +12 -18
- package/src/login/pages/login-page-expired/login-page-expired.component.html +31 -31
- package/src/login/pages/login-page-expired/login-page-expired.component.ts +12 -19
- package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +183 -181
- package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +15 -22
- package/src/login/pages/login-password/login-password.component.html +82 -82
- package/src/login/pages/login-password/login-password.component.ts +12 -25
- package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +142 -142
- package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +13 -28
- package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +67 -67
- package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +14 -24
- package/src/login/pages/login-reset-otp/login-reset-otp.component.html +61 -59
- package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +13 -19
- package/src/login/pages/login-reset-password/login-reset-password.component.html +84 -84
- package/src/login/pages/login-reset-password/login-reset-password.component.ts +13 -20
- package/src/login/pages/login-update-password/login-update-password.component.html +107 -107
- package/src/login/pages/login-update-password/login-update-password.component.ts +14 -31
- package/src/login/pages/login-update-profile/login-update-profile.component.html +53 -53
- package/src/login/pages/login-update-profile/login-update-profile.component.ts +13 -26
- package/src/login/pages/login-username/login-username.component.html +146 -146
- package/src/login/pages/login-username/login-username.component.ts +13 -30
- package/src/login/pages/login-verify-email/login-verify-email.component.html +22 -22
- package/src/login/pages/login-verify-email/login-verify-email.component.ts +13 -20
- package/src/login/pages/login-x509-info/login-x509-info.component.html +96 -96
- package/src/login/pages/login-x509-info/login-x509-info.component.ts +13 -19
- package/src/login/pages/logout-confirm/logout-confirm.component.html +51 -51
- package/src/login/pages/logout-confirm/logout-confirm.component.ts +13 -19
- package/src/login/pages/register/register.component.html +113 -113
- package/src/login/pages/register/register.component.ts +12 -29
- package/src/login/pages/saml-post-form/saml-post-form.component.html +47 -48
- package/src/login/pages/saml-post-form/saml-post-form.component.ts +12 -20
- package/src/login/pages/select-authenticator/select-authenticator.component.html +43 -44
- package/src/login/pages/select-authenticator/select-authenticator.component.ts +13 -27
- package/src/login/pages/terms/terms.component.html +32 -32
- package/src/login/pages/terms/terms.component.ts +13 -19
- package/src/login/pages/update-email/update-email.component.html +52 -52
- package/src/login/pages/update-email/update-email.component.ts +13 -26
- package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +146 -148
- package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +17 -41
- package/src/login/pages/webauthn-error/webauthn-error.component.html +53 -53
- package/src/login/pages/webauthn-error/webauthn-error.component.ts +13 -24
- package/src/login/pages/webauthn-register/webauthn-register.component.html +73 -73
- package/src/login/pages/webauthn-register/webauthn-register.component.ts +18 -32
- package/src/login/pipes/kc-sanitize.pipe.ts +9 -11
- package/src/login/pipes/to-array.pipe.ts +0 -1
- package/src/login/providers/keycloakify-angular.providers.ts +68 -0
- package/src/{lib → login}/services/i18n.service.ts +3 -2
- package/src/login/services/login-resource-injector.service.ts +4 -3
- package/src/login/services/user-profile-form.service.ts +5 -7
- package/src/login/tokens/classes.token.ts +6 -0
- package/src/login/tokens/i18n.token.ts +3 -0
- package/src/login/tokens/kc-context.token.ts +4 -0
- package/src/login/tokens/make-user-confirm-password.token.ts +5 -0
- package/src/tsconfig.json +6 -1
- package/lib/i18n.d.ts +0 -4
- package/lib/i18n.mjs +0 -6
- package/lib/models/index.d.ts +0 -1
- package/lib/models/index.mjs +0 -2
- package/lib/providers/keycloakify-angular.providers.mjs +0 -54
- package/lib/public-api.d.ts +0 -10
- package/lib/public-api.mjs +0 -4
- package/lib/services/i18n.service.d.ts +0 -6
- package/lib/services/index.d.ts +0 -2
- package/lib/services/index.mjs +0 -3
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +0 -105
- package/login/components/field-errors/field-errors.component.mjs +0 -32
- package/login/components/group-label/group-label.component.mjs +0 -41
- package/login/components/hello-world/hello-world.component.d.ts +0 -5
- package/login/components/hello-world/hello-world.component.mjs +0 -11
- package/login/components/index.d.ts +0 -11
- package/login/components/index.mjs +0 -12
- package/login/components/input-field-by-type/input-field-by-type.component.mjs +0 -52
- package/login/components/input-tag/input-tag.component.mjs +0 -89
- package/login/components/input-tag-selects/input-tag-selects.component.mjs +0 -115
- package/login/components/logout-other-sessions/logout-other-sessions.component.mjs +0 -30
- package/login/components/password-wrapper/password-wrapper.component.mjs +0 -44
- package/login/components/select-tag/select-tag.component.mjs +0 -80
- package/login/components/textarea-tag/textarea-tag.component.mjs +0 -48
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +0 -62
- package/login/containers/template.component.mjs +0 -71
- package/login/directives/index.d.ts +0 -2
- package/login/directives/index.mjs +0 -3
- package/login/pages/code/code.component.mjs +0 -32
- package/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +0 -32
- package/login/pages/delete-credential/delete-credential.component.mjs +0 -37
- package/login/pages/error/error.component.mjs +0 -32
- package/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +0 -41
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +0 -47
- package/login/pages/info/info.component.mjs +0 -58
- package/login/pages/login/login.component.mjs +0 -51
- package/login/pages/login-config-totp/login-config-totp.component.mjs +0 -47
- package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +0 -37
- package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +0 -37
- package/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +0 -37
- package/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +0 -38
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +0 -37
- package/login/pages/login-otp/login-otp.component.mjs +0 -38
- package/login/pages/login-page-expired/login-page-expired.component.mjs +0 -36
- package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +0 -85
- package/login/pages/login-password/login-password.component.mjs +0 -46
- package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +0 -45
- package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +0 -38
- package/login/pages/login-reset-otp/login-reset-otp.component.mjs +0 -37
- package/login/pages/login-reset-password/login-reset-password.component.mjs +0 -38
- package/login/pages/login-update-password/login-update-password.component.mjs +0 -47
- package/login/pages/login-update-profile/login-update-profile.component.mjs +0 -44
- package/login/pages/login-username/login-username.component.mjs +0 -49
- package/login/pages/login-verify-email/login-verify-email.component.mjs +0 -37
- package/login/pages/login-x509-info/login-x509-info.component.mjs +0 -37
- package/login/pages/logout-confirm/logout-confirm.component.mjs +0 -37
- package/login/pages/register/register.component.mjs +0 -55
- package/login/pages/saml-post-form/saml-post-form.component.mjs +0 -49
- package/login/pages/select-authenticator/select-authenticator.component.mjs +0 -45
- package/login/pages/terms/terms.component.mjs +0 -37
- package/login/pages/update-email/update-email.component.mjs +0 -46
- package/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +0 -87
- package/login/pages/webauthn-error/webauthn-error.component.mjs +0 -51
- package/login/pages/webauthn-register/webauthn-register.component.mjs +0 -81
- package/login/pipes/advanced-msg-str.pipe.d.ts +0 -8
- package/login/pipes/advanced-msg-str.pipe.mjs +0 -19
- package/login/pipes/index.d.ts +0 -6
- package/login/pipes/index.mjs +0 -7
- package/login/pipes/kc-sanitize.pipe.mjs +0 -34
- package/login/pipes/msg-str.pipe.d.ts +0 -9
- package/login/pipes/msg-str.pipe.mjs +0 -19
- package/login/services/index.d.ts +0 -2
- package/login/services/index.mjs +0 -3
- package/login/services/login-resource-injector.service.mjs +0 -68
- package/login/services/user-profile-form.service.mjs +0 -1017
- package/src/lib/i18n.ts +0 -9
- package/src/lib/models/index.ts +0 -1
- package/src/lib/providers/keycloakify-angular.providers.ts +0 -92
- package/src/lib/public-api.ts +0 -12
- package/src/lib/services/index.ts +0 -2
- package/src/login/components/hello-world/hello-world.component.css +0 -0
- package/src/login/components/hello-world/hello-world.component.html +0 -1
- package/src/login/components/hello-world/hello-world.component.ts +0 -10
- package/src/login/components/index.ts +0 -11
- package/src/login/directives/index.ts +0 -2
- package/src/login/pipes/advanced-msg-str.pipe.ts +0 -13
- package/src/login/pipes/index.ts +0 -6
- package/src/login/pipes/msg-str.pipe.ts +0 -14
- package/src/login/services/index.ts +0 -2
- /package/lib/models/{script.model.mjs → script.model.js} +0 -0
- /package/lib/services/{resource-injector.service.mjs → resource-injector.service.js} +0 -0
- /package/login/{DefaultPage.mjs → DefaultPage.js} +0 -0
- /package/login/{KcContext.mjs → KcContext.js} +0 -0
- /package/login/classes/{component-reference.class.mjs → component-reference.class.js} +0 -0
- /package/login/directives/{attributes.directive.mjs → attributes.directive.js} +0 -0
- /package/login/directives/{kc-class.directive.mjs → kc-class.directive.js} +0 -0
- /package/login/{i18n.mjs → i18n.js} +0 -0
- /package/login/pipes/{input-type.pipe.mjs → input-type.pipe.js} +0 -0
- /package/login/pipes/{to-number.pipe.mjs → to-number.pipe.js} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const USE_DEFAULT_CSS = new InjectionToken('use default css');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRlZmF1bHQtY3NzLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQVUsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBVU0VfREVGQVVMVF9DU1MgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ3VzZSBkZWZhdWx0IGNzcycpO1xuIl19
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { Attribute } from 'keycloakify/login/KcContext';
|
|
2
1
|
import { FormAction } from '../../../login/services/user-profile-form.service';
|
|
2
|
+
import { Attribute } from 'keycloakify/login/KcContext';
|
|
3
|
+
import { I18n } from '../../i18n';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class AddRemoveButtonsMultiValuedAttributeComponent {
|
|
6
|
+
i18n: I18n;
|
|
5
7
|
attribute: import("@angular/core").InputSignal<Attribute | undefined>;
|
|
6
8
|
values: import("@angular/core").InputSignal<string[] | undefined>;
|
|
7
9
|
fieldIndex: import("@angular/core").InputSignal<number | undefined>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';
|
|
2
|
+
import { LOGIN_I18N } from '../../../login/tokens/i18n.token';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AddRemoveButtonsMultiValuedAttributeComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.i18n = inject(LOGIN_I18N);
|
|
7
|
+
this.attribute = input();
|
|
8
|
+
this.values = input();
|
|
9
|
+
this.fieldIndex = input();
|
|
10
|
+
this.dispatchFormAction = output();
|
|
11
|
+
this.hasRemove = computed(() => {
|
|
12
|
+
const attribute = this.attribute();
|
|
13
|
+
const values = this.values();
|
|
14
|
+
const fieldIndex = this.fieldIndex();
|
|
15
|
+
if (attribute && values && fieldIndex) {
|
|
16
|
+
return this.getButtonToDisplayForMultivaluedAttributeField({
|
|
17
|
+
attribute,
|
|
18
|
+
values,
|
|
19
|
+
fieldIndex
|
|
20
|
+
}).hasRemove;
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
});
|
|
24
|
+
this.hasAdd = computed(() => {
|
|
25
|
+
const attribute = this.attribute();
|
|
26
|
+
const values = this.values();
|
|
27
|
+
const fieldIndex = this.fieldIndex();
|
|
28
|
+
if (attribute && values && fieldIndex) {
|
|
29
|
+
return this.getButtonToDisplayForMultivaluedAttributeField({
|
|
30
|
+
attribute,
|
|
31
|
+
values,
|
|
32
|
+
fieldIndex
|
|
33
|
+
}).hasAdd;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
onAdd() {
|
|
39
|
+
this.dispatchFormAction.emit({
|
|
40
|
+
action: 'update',
|
|
41
|
+
name: this.attribute()?.name ?? '',
|
|
42
|
+
valueOrValues: [...(this.values() ?? []), '']
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
onRemove() {
|
|
46
|
+
this.dispatchFormAction.emit({
|
|
47
|
+
action: 'update',
|
|
48
|
+
name: this.attribute()?.name ?? '',
|
|
49
|
+
valueOrValues: (this.values() ?? []).filter((_, i) => i !== this.fieldIndex())
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
getButtonToDisplayForMultivaluedAttributeField(params) {
|
|
53
|
+
const { attribute, values, fieldIndex } = params;
|
|
54
|
+
const hasRemove = (() => {
|
|
55
|
+
if (values.length === 1) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
const minCount = (() => {
|
|
59
|
+
const { multivalued } = attribute.validators;
|
|
60
|
+
if (multivalued === undefined) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
const minStr = multivalued.min;
|
|
64
|
+
if (minStr === undefined) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
return parseInt(`${minStr}`);
|
|
68
|
+
})();
|
|
69
|
+
if (minCount === undefined) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
if (values.length === minCount) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
})();
|
|
77
|
+
const hasAdd = (() => {
|
|
78
|
+
if (fieldIndex + 1 !== values.length) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
const maxCount = (() => {
|
|
82
|
+
const { multivalued } = attribute.validators;
|
|
83
|
+
if (multivalued === undefined) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
const maxStr = multivalued.max;
|
|
87
|
+
if (maxStr === undefined) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
return parseInt(`${maxStr}`);
|
|
91
|
+
})();
|
|
92
|
+
if (maxCount === undefined) {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
return values.length !== maxCount;
|
|
96
|
+
})();
|
|
97
|
+
return { hasRemove, hasAdd };
|
|
98
|
+
}
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: AddRemoveButtonsMultiValuedAttributeComponent, isStandalone: true, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, ngImport: i0, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n [id]=\"'kc-remove-' + idPostfix\"\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n | \n }\n}\n@if (hasAdd()) {\n <button\n [id]=\"'kc-add-' + idPostfix\"\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{ standalone: true, imports: [], selector: 'kc-add-remove-buttons-multi-valued-attribute', changeDetection: ChangeDetectionStrategy.OnPush, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n [id]=\"'kc-remove-' + idPostfix\"\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n | \n }\n}\n@if (hasAdd()) {\n <button\n [id]=\"'kc-add-' + idPostfix\"\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
105
|
+
}] });
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vY29tcG9uZW50cy9hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZS9hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlL2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFrQjFFLE1BQU0sT0FBTyw2Q0FBNkM7SUFkMUQ7UUFlSSxTQUFJLEdBQUcsTUFBTSxDQUFPLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixXQUFNLEdBQUcsS0FBSyxFQUFZLENBQUM7UUFDM0IsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLE1BQU0sRUFBYyxDQUFDO1FBRTFDLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxJ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Z2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvdXNlci1wcm9maWxlLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4udG9rZW4nO1xuaW1wb3J0IHsgQXR0cmlidXRlIH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IEkxOG4gfSBmcm9tICcuLi8uLi9pMThuJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBzZWxlY3RvcjogJ2tjLWFkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBZGRSZW1vdmVCdXR0b25zTXVsdGlWYWx1ZWRBdHRyaWJ1dGVDb21wb25lbnQge1xuICAgIGkxOG4gPSBpbmplY3Q8STE4bj4oTE9HSU5fSTE4Tik7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlcyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICAgIGZpZWxkSW5kZXggPSBpbnB1dDxudW1iZXI+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG5cbiAgICBoYXNSZW1vdmUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzKCk7XG4gICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSB0aGlzLmZpZWxkSW5kZXgoKTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZSAmJiB2YWx1ZXMgJiYgZmllbGRJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QnV0dG9uVG9EaXNwbGF5Rm9yTXVsdGl2YWx1ZWRBdHRyaWJ1dGVGaWVsZCh7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlLFxuICAgICAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgICAgICBmaWVsZEluZGV4XG4gICAgICAgICAgICB9KS5oYXNSZW1vdmU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICAgIGhhc0FkZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGUoKTtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy52YWx1ZXMoKTtcbiAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IHRoaXMuZmllbGRJbmRleCgpO1xuICAgICAgICBpZiAoYXR0cmlidXRlICYmIHZhbHVlcyAmJiBmaWVsZEluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCdXR0b25Ub0Rpc3BsYXlGb3JNdWx0aXZhbHVlZEF0dHJpYnV0ZUZpZWxkKHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICAgICAgICAgIGZpZWxkSW5kZXhcbiAgICAgICAgICAgIH0pLmhhc0FkZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBvbkFkZCgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IFsuLi4odGhpcy52YWx1ZXMoKSA/PyBbXSksICcnXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblJlbW92ZSgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6ICh0aGlzLnZhbHVlcygpID8/IFtdKS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IHRoaXMuZmllbGRJbmRleCgpKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJ1dHRvblRvRGlzcGxheUZvck11bHRpdmFsdWVkQXR0cmlidXRlRmllbGQocGFyYW1zOiB7IGF0dHJpYnV0ZTogQXR0cmlidXRlOyB2YWx1ZXM6IHN0cmluZ1tdOyBmaWVsZEluZGV4OiBudW1iZXIgfSkge1xuICAgICAgICBjb25zdCB7IGF0dHJpYnV0ZSwgdmFsdWVzLCBmaWVsZEluZGV4IH0gPSBwYXJhbXM7XG5cbiAgICAgICAgY29uc3QgaGFzUmVtb3ZlID0gKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtaW5Db3VudCA9ICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBtdWx0aXZhbHVlZCB9ID0gYXR0cmlidXRlLnZhbGlkYXRvcnM7XG5cbiAgICAgICAgICAgICAgICBpZiAobXVsdGl2YWx1ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG1pblN0ciA9IG11bHRpdmFsdWVkLm1pbjtcblxuICAgICAgICAgICAgICAgIGlmIChtaW5TdHIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUludChgJHttaW5TdHJ9YCk7XG4gICAgICAgICAgICB9KSgpO1xuXG4gICAgICAgICAgICBpZiAobWluQ291bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gbWluQ291bnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSgpO1xuXG4gICAgICAgIGNvbnN0IGhhc0FkZCA9ICgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGRJbmRleCArIDEgIT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG1heENvdW50ID0gKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG11bHRpdmFsdWVkIH0gPSBhdHRyaWJ1dGUudmFsaWRhdG9ycztcblxuICAgICAgICAgICAgICAgIGlmIChtdWx0aXZhbHVlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF4U3RyID0gbXVsdGl2YWx1ZWQubWF4O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heFN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KGAke21heFN0cn1gKTtcbiAgICAgICAgICAgIH0pKCk7XG5cbiAgICAgICAgICAgIGlmIChtYXhDb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoICE9PSBtYXhDb3VudDtcbiAgICAgICAgfSkoKTtcblxuICAgICAgICByZXR1cm4geyBoYXNSZW1vdmUsIGhhc0FkZCB9O1xuICAgIH1cbn1cbiIsIkBsZXQgaWRQb3N0Zml4ID0gYXR0cmlidXRlKCk/Lm5hbWUgPz8gJycgKyAnLScgKyAoZmllbGRJbmRleCgpID8/IDAgKyAxKTtcbkBpZiAoaGFzUmVtb3ZlKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIFtpZF09XCIna2MtcmVtb3ZlLScgKyBpZFBvc3RmaXhcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJwZi1jLWJ1dHRvbiBwZi1tLWlubGluZSBwZi1tLWxpbmtcIlxuICAgICAgICAoY2xpY2spPVwib25SZW1vdmUoKVwiXG4gICAgPlxuICAgICAgICB7eyBpMThuLm1zZ1N0cigncmVtb3ZlJykgfX1cbiAgICA8L2J1dHRvbj5cbiAgICBAaWYgKGhhc0FkZCgpKSB7XG4gICAgICAgICZuYnNwO3wmbmJzcDtcbiAgICB9XG59XG5AaWYgKGhhc0FkZCgpKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBbaWRdPVwiJ2tjLWFkZC0nICsgaWRQb3N0Zml4XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwicGYtYy1idXR0b24gcGYtbS1pbmxpbmUgcGYtbS1saW5rXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWRkKClcIlxuICAgID5cbiAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2FkZFZhbHVlJykgfX1cbiAgICA8L2J1dHRvbj5cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Attribute } from 'keycloakify/login/KcContext';
|
|
2
|
-
import { ClassKey } from 'keycloakify/login/lib/kcClsx';
|
|
3
1
|
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
2
|
import { FormFieldError } from '../../../login/services/user-profile-form.service';
|
|
3
|
+
import { Attribute } from 'keycloakify/login/KcContext';
|
|
4
|
+
import { ClassKey } from 'keycloakify/login/lib/kcClsx';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class FieldErrorsComponent extends ComponentReference {
|
|
7
7
|
attribute: import("@angular/core").InputSignal<Attribute | undefined>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';
|
|
2
|
+
import { USE_DEFAULT_CSS } from '../../../lib/tokens/use-default-css.token';
|
|
3
|
+
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
|
+
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
5
|
+
import { LOGIN_CLASSES } from '../../../login/tokens/classes.token';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class FieldErrorsComponent extends ComponentReference {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.attribute = input();
|
|
11
|
+
this.displayableErrors = input();
|
|
12
|
+
this.fieldIndex = input();
|
|
13
|
+
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
14
|
+
this.classes = inject(LOGIN_CLASSES);
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FieldErrorsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: FieldErrorsComponent, isStandalone: true, selector: "kc-field-errors", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
18
|
+
{
|
|
19
|
+
provide: ComponentReference,
|
|
20
|
+
useExisting: forwardRef(() => FieldErrorsComponent)
|
|
21
|
+
}
|
|
22
|
+
], usesInheritance: true, ngImport: i0, template: "@let index = fieldIndex();\n<span\n [id]=\"'input-error-' + attribute.name + (index === undefined ? '' : '-' + index)\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n>\n @for (error of displayableErrors(); track error; let i = $index) {\n @if (error.fieldIndex === index) {\n <span [innerHTML]=\"error.errorMessage\"></span>\n @if (displayableErrors()?.length ?? 0 - 1 !== i) {\n <br />\n }\n }\n }\n</span>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FieldErrorsComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ standalone: true, imports: [KcClassDirective], selector: 'kc-field-errors', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
27
|
+
{
|
|
28
|
+
provide: ComponentReference,
|
|
29
|
+
useExisting: forwardRef(() => FieldErrorsComponent)
|
|
30
|
+
}
|
|
31
|
+
], template: "@let index = fieldIndex();\n<span\n [id]=\"'input-error-' + attribute.name + (index === undefined ? '' : '-' + index)\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n aria-live=\"polite\"\n>\n @for (error of displayableErrors(); track error; let i = $index) {\n @if (error.fieldIndex === index) {\n <span [innerHTML]=\"error.errorMessage\"></span>\n @if (displayableErrors()?.length ?? 0 - 1 !== i) {\n <br />\n }\n }\n }\n</span>\n", styles: [":host{display:contents}\n"] }]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvZmllbGQtZXJyb3JzL2ZpZWxkLWVycm9ycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFNUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQXdCaEYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQXBCNUQ7O1FBcUJJLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDOUMsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGFBQWEsQ0FBQyxDQUFDO0tBQy9FOzhHQU5ZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGlmQVBsQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDdEQ7U0FDSixpREMzQkwsNmZBZUEsbUZER2MsZ0JBQWdCOzsyRkFXakIsb0JBQW9CO2tCQXBCaEMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNqQixpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzt5QkFDdEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvdG9rZW5zL3VzZS1kZWZhdWx0LWNzcy50b2tlbic7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1GaWVsZEVycm9yIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvdXNlci1wcm9maWxlLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMudG9rZW4nO1xuaW1wb3J0IHsgQXR0cmlidXRlIH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmVdLFxuICAgIHNlbGVjdG9yOiAna2MtZmllbGQtZXJyb3JzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2ZpZWxkLWVycm9ycy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpZWxkRXJyb3JzQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEVycm9yc0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBmaWVsZEluZGV4ID0gaW5wdXQ8bnVtYmVyPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcbn1cbiIsIkBsZXQgaW5kZXggPSBmaWVsZEluZGV4KCk7XG48c3BhblxuICAgIFtpZF09XCInaW5wdXQtZXJyb3ItJyArIGF0dHJpYnV0ZS5uYW1lICsgKGluZGV4ID09PSB1bmRlZmluZWQgPyAnJyA6ICctJyArIGluZGV4KVwiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRFcnJvck1lc3NhZ2VDbGFzcydcIlxuICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4+XG4gICAgQGZvciAoZXJyb3Igb2YgZGlzcGxheWFibGVFcnJvcnMoKTsgdHJhY2sgZXJyb3I7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIEBpZiAoZXJyb3IuZmllbGRJbmRleCA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZXJyb3IuZXJyb3JNZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgQGlmIChkaXNwbGF5YWJsZUVycm9ycygpPy5sZW5ndGggPz8gMCAtIDEgIT09IGkpIHtcbiAgICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbjwvc3Bhbj5cbiJdfQ==
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
1
2
|
import { Attribute } from 'keycloakify/login/KcContext';
|
|
2
3
|
import { ClassKey } from 'keycloakify/login/lib/kcClsx';
|
|
3
|
-
import {
|
|
4
|
+
import { I18n } from '../../i18n';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class GroupLabelComponent extends ComponentReference {
|
|
7
|
+
i18n: I18n;
|
|
6
8
|
attribute: import("@angular/core").InputSignal<Attribute | undefined>;
|
|
7
9
|
groupName: import("@angular/core").InputSignal<string | undefined>;
|
|
8
10
|
doUseDefaultCss: boolean;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input } from '@angular/core';
|
|
2
|
+
import { USE_DEFAULT_CSS } from '../../../lib/tokens/use-default-css.token';
|
|
3
|
+
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
|
+
import { AttributesDirective } from '../../../login/directives/attributes.directive';
|
|
5
|
+
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
6
|
+
import { LOGIN_CLASSES } from '../../../login/tokens/classes.token';
|
|
7
|
+
import { LOGIN_I18N } from '../../../login/tokens/i18n.token';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class GroupLabelComponent extends ComponentReference {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.i18n = inject(LOGIN_I18N);
|
|
13
|
+
this.attribute = input();
|
|
14
|
+
this.groupName = input();
|
|
15
|
+
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
16
|
+
this.classes = inject(LOGIN_CLASSES);
|
|
17
|
+
this.groupNameRef = computed(() => {
|
|
18
|
+
const attribute = this.attribute();
|
|
19
|
+
const groupName = this.groupName();
|
|
20
|
+
if (attribute?.group?.name !== groupName) {
|
|
21
|
+
return attribute?.group?.name ?? '';
|
|
22
|
+
}
|
|
23
|
+
return '';
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GroupLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: GroupLabelComponent, isStandalone: true, selector: "kc-group-label", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
28
|
+
{
|
|
29
|
+
provide: ComponentReference,
|
|
30
|
+
useExisting: forwardRef(() => GroupLabelComponent)
|
|
31
|
+
}
|
|
32
|
+
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GroupLabelComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ standalone: true, imports: [KcClassDirective, AttributesDirective], selector: 'kc-group-label', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
37
|
+
{
|
|
38
|
+
provide: ComponentReference,
|
|
39
|
+
useExisting: forwardRef(() => GroupLabelComponent)
|
|
40
|
+
}
|
|
41
|
+
], template: "@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vY29tcG9uZW50cy9ncm91cC1sYWJlbC9ncm91cC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2dyb3VwLWxhYmVsL2dyb3VwLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQXlCMUUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQXBCM0Q7O1FBcUJJLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGNBQVMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNuQixvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxJQUFJLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN2QyxPQUFPLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztLQUNOOzhHQWRZLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlWQVBqQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDckQ7U0FDSixpREM3QkwsNm9DQThCQSxtRkRWYyxnQkFBZ0IsK0ZBQUUsbUJBQW1COzsyRkFXdEMsbUJBQW1CO2tCQXBCL0IsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxZQUN0QyxnQkFBZ0IsbUJBRVQsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzt5QkFDckQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MudG9rZW4nO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2F0dHJpYnV0ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMudG9rZW4nO1xuaW1wb3J0IHsgTE9HSU5fSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9pMThuLnRva2VuJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgSTE4biB9IGZyb20gJy4uLy4uL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBBdHRyaWJ1dGVzRGlyZWN0aXZlXSxcbiAgICBzZWxlY3RvcjogJ2tjLWdyb3VwLWxhYmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2dyb3VwLWxhYmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR3JvdXBMYWJlbENvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBMYWJlbENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgZ3JvdXBOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcbiAgICBncm91cE5hbWVSZWYgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGNvbnN0IGdyb3VwTmFtZSA9IHRoaXMuZ3JvdXBOYW1lKCk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGU/Lmdyb3VwPy5uYW1lICE9PSBncm91cE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBhdHRyaWJ1dGU/Lmdyb3VwPy5uYW1lID8/ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9KTtcbn1cbiIsIkBsZXQgYXR0ciA9IGF0dHJpYnV0ZSgpO1xuQGxldCBncm91cE5hbWUgPSBncm91cE5hbWVSZWYoKTtcbkBpZiAoYXR0ciAmJiBncm91cE5hbWUgIT09ICcnKSB7XG4gICAgPGRpdlxuICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICBba2NBdHRyaWJ1dGVzXT1cImF0dHIuZ3JvdXA/Lmh0bWw1RGF0YUFubm90YXRpb25zXCJcbiAgICA+XG4gICAgICAgIEBsZXQgZ3JvdXBEaXNwbGF5SGVhZGVyID0gYXR0ci5ncm91cD8uZGlzcGxheUhlYWRlciA/PyAnJztcbiAgICAgICAgQGxldCBncm91cEhlYWRlclRleHQgPSBncm91cERpc3BsYXlIZWFkZXIgIT09ICcnID8gZ3JvdXBEaXNwbGF5SGVhZGVyIDogKGF0dHIuZ3JvdXA/Lm5hbWUgPz8gJycpO1xuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0NvbnRlbnRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ2hlYWRlci0nICsgYXR0ci5ncm91cD8ubmFtZVwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwSGVhZGVyJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaTE4bi5hZHZhbmNlZE1zZ1N0cihncm91cEhlYWRlclRleHQpIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGxldCBncm91cERpc3BsYXlEZXNjcmlwdGlvbiA9IGF0dHIuZ3JvdXA/LmRpc3BsYXlEZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgICAgQGlmIChncm91cERpc3BsYXlEZXNjcmlwdGlvbiAhPT0gJycpIHtcbiAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCInZGVzY3JpcHRpb24tJyArIGF0dHIuZ3JvdXA/Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NMYWJlbENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLmFkdmFuY2VkTXNnU3RyKGdyb3VwRGlzcGxheURlc2NyaXB0aW9uKSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
|
|
2
|
+
import { USE_DEFAULT_CSS } from '../../../lib/tokens/use-default-css.token';
|
|
3
|
+
import { LOGIN_CLASSES } from '../../../login/tokens/classes.token';
|
|
4
|
+
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
5
|
+
import { ToArrayPipe } from '../../../login/pipes/to-array.pipe';
|
|
6
|
+
import { InputTagSelectsComponent } from '../../../login/components/input-tag-selects/input-tag-selects.component';
|
|
7
|
+
import { InputTagComponent } from '../../../login/components/input-tag/input-tag.component';
|
|
8
|
+
import { PasswordWrapperComponent } from '../../../login/components/password-wrapper/password-wrapper.component';
|
|
9
|
+
import { SelectTagComponent } from '../../../login/components/select-tag/select-tag.component';
|
|
10
|
+
import { TextareaTagComponent } from '../../../login/components/textarea-tag/textarea-tag.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class InputFieldByTypeComponent extends ComponentReference {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.attribute = input();
|
|
16
|
+
this.valueOrValues = input();
|
|
17
|
+
this.displayableErrors = input();
|
|
18
|
+
this.dispatchFormAction = output();
|
|
19
|
+
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
20
|
+
this.classes = inject(LOGIN_CLASSES);
|
|
21
|
+
this.attributePassword = computed(() => {
|
|
22
|
+
const attribute = this.attribute() ?? {};
|
|
23
|
+
return {
|
|
24
|
+
...attribute,
|
|
25
|
+
annotations: { ...(attribute.annotations ?? {}), inputType: 'password' }
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputFieldByTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputFieldByTypeComponent, isStandalone: true, selector: "kc-input-field-by-type", 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: [
|
|
31
|
+
{
|
|
32
|
+
provide: ComponentReference,
|
|
33
|
+
useExisting: forwardRef(() => InputFieldByTypeComponent)
|
|
34
|
+
}
|
|
35
|
+
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-textarea-tag>\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-select-tag>\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag-selects>\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: TextareaTagComponent, selector: "kc-textarea-tag", inputs: ["attribute", "value", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: SelectTagComponent, selector: "kc-select-tag", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagSelectsComponent, selector: "kc-input-tag-selects", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagComponent, selector: "kc-input-tag", inputs: ["attribute", "valueOrValues", "fieldIndex", "values", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: PasswordWrapperComponent, selector: "kc-password-wrapper", inputs: ["passwordInputId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputFieldByTypeComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ standalone: true, imports: [ToArrayPipe, TextareaTagComponent, SelectTagComponent, InputTagSelectsComponent, InputTagComponent, PasswordWrapperComponent], selector: 'kc-input-field-by-type', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
40
|
+
{
|
|
41
|
+
provide: ComponentReference,
|
|
42
|
+
useExisting: forwardRef(() => InputFieldByTypeComponent)
|
|
43
|
+
}
|
|
44
|
+
], template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-textarea-tag>\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-select-tag>\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag-selects>\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"] }]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUvaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUvaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUdoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUZBQXFGLENBQUM7QUFDL0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUZBQW1GLENBQUM7QUFDN0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDM0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkVBQTJFLENBQUM7O0FBc0JqSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsa0JBQWtCO0lBcEJqRTs7UUFxQkksY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsS0FBSyxFQUFxQixDQUFDO1FBQzNDLHNCQUFpQixHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUU1RSxzQkFBaUIsR0FBRyxRQUFRLENBQVksR0FBRyxFQUFFO1lBQ3pDLE1BQU0sU0FBUyxHQUFjLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSyxFQUFnQixDQUFDO1lBQ25FLE9BQU87Z0JBQ0gsR0FBRyxTQUFTO2dCQUNaLFdBQVcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUU7YUFDM0UsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047OEdBZlkseUJBQXlCO2tHQUF6Qix5QkFBeUIsd2pCQVB2QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDM0Q7U0FDSixpRENoQ0wsNjFGQStEQSw4RUR4Q2MsV0FBVyxnREFBRSxvQkFBb0Isa0pBQUUsa0JBQWtCLHdKQUFFLHdCQUF3QiwrSkFBRSxpQkFBaUIsK0tBQUUsd0JBQXdCOzsyRkFXN0gseUJBQXlCO2tCQXBCckMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUMsWUFDN0gsd0JBQXdCLG1CQUVqQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO3lCQUMzRDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzLnRva2VuJztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcy50b2tlbic7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBUb0FycmF5UGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL3RvLWFycmF5LnBpcGUnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiwgRm9ybUZpZWxkRXJyb3IgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IElucHV0VGFnU2VsZWN0c0NvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtdGFnLXNlbGVjdHMvaW5wdXQtdGFnLXNlbGVjdHMuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0VGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWcvaW5wdXQtdGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0VGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9zZWxlY3QtdGFnL3NlbGVjdC10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRhcmVhVGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy90ZXh0YXJlYS10YWcvdGV4dGFyZWEtdGFnLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW1RvQXJyYXlQaXBlLCBUZXh0YXJlYVRhZ0NvbXBvbmVudCwgU2VsZWN0VGFnQ29tcG9uZW50LCBJbnB1dFRhZ1NlbGVjdHNDb21wb25lbnQsIElucHV0VGFnQ29tcG9uZW50LCBQYXNzd29yZFdyYXBwZXJDb21wb25lbnRdLFxuICAgIHNlbGVjdG9yOiAna2MtaW5wdXQtZmllbGQtYnktdHlwZScsXG4gICAgdGVtcGxhdGVVcmw6ICdpbnB1dC1maWVsZC1ieS10eXBlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRGaWVsZEJ5VHlwZUNvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGaWVsZEJ5VHlwZUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlT3JWYWx1ZXMgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgICBkaXNwbGF5YWJsZUVycm9ycyA9IGlucHV0PEZvcm1GaWVsZEVycm9yW10+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgYXR0cmlidXRlUGFzc3dvcmQgPSBjb21wdXRlZDxBdHRyaWJ1dGU+KCgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlOiBBdHRyaWJ1dGUgPSB0aGlzLmF0dHJpYnV0ZSgpID8/ICh7fSBhcyBBdHRyaWJ1dGUpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYXR0cmlidXRlLFxuICAgICAgICAgICAgYW5ub3RhdGlvbnM6IHsgLi4uKGF0dHJpYnV0ZS5hbm5vdGF0aW9ucyA/PyB7fSksIGlucHV0VHlwZTogJ3Bhc3N3b3JkJyB9XG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iLCJAbGV0IGF0dHIgPSBhdHRyaWJ1dGUoKTtcbkBpZiAoYXR0cikge1xuICAgIEBsZXQgdHlwZSA9IGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlO1xuICAgIEBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgQGNhc2UgKCd0ZXh0YXJlYScpIHtcbiAgICAgICAgICAgIDxrYy10ZXh0YXJlYS10YWdcbiAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiJGFueSh2YWx1ZU9yVmFsdWVzKCkpXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2tjLXRleHRhcmVhLXRhZz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAodHlwZSA9PT0gJ3NlbGVjdCcgfHwgdHlwZSA9PT0gJ211bHRpc2VsZWN0JyA/IHR5cGUgOiAnJykge1xuICAgICAgICAgICAgPGtjLXNlbGVjdC10YWdcbiAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPjwva2Mtc2VsZWN0LXRhZz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAodHlwZSA9PT0gJ3NlbGVjdC1yYWRpb2J1dHRvbnMnIHx8IHR5cGUgPT09ICdtdWx0aXNlbGVjdC1jaGVja2JveGVzJyA/IHR5cGUgOiAnJykge1xuICAgICAgICAgICAgPGtjLWlucHV0LXRhZy1zZWxlY3RzXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGUoKVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2tjLWlucHV0LXRhZy1zZWxlY3RzPlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgIEBsZXQgdmFsdWVzID0gdmFsdWVPclZhbHVlcygpO1xuICAgICAgICAgICAgPCEtLSBpZiB2YWx1ZU9yVmFsdWVzIGlzIHN0cmluZyBza2lwIC0tPlxuICAgICAgICAgICAgQGlmICh2YWx1ZXMgJiYgKHZhbHVlcyB8IHRvQXJyYXk6IHRydWUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIEBmb3IgKHZhbHVlIG9mIHZhbHVlczsgdHJhY2sgdmFsdWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxrYy1pbnB1dC10YWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZEluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwva2MtaW5wdXQtdGFnPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAoYXR0ci5uYW1lID09PSAncGFzc3dvcmQnIHx8IGF0dHIubmFtZSA9PT0gJ3Bhc3N3b3JkLWNvbmZpcm0nKSB7XG4gICAgICAgICAgICAgICAgICAgIDxrYy1wYXNzd29yZC13cmFwcGVyIFtwYXNzd29yZElucHV0SWRdPVwiYXR0ci5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8a2MtaW5wdXQtdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGVQYXNzd29yZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwva2MtaW5wdXQtdGFnPlxuICAgICAgICAgICAgICAgICAgICA8L2tjLXBhc3N3b3JkLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxrYy1pbnB1dC10YWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2tjLWlucHV0LXRhZz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { Attribute } from 'keycloakify/login/KcContext';
|
|
2
|
-
import { ClassKey } from 'keycloakify/login/lib/kcClsx';
|
|
3
1
|
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
2
|
import { FormAction, FormFieldError } from '../../../login/services/user-profile-form.service';
|
|
3
|
+
import { Attribute } from 'keycloakify/login/KcContext';
|
|
4
|
+
import { ClassKey } from 'keycloakify/login/lib/kcClsx';
|
|
5
|
+
import { I18n } from '../../i18n';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class InputTagComponent extends ComponentReference {
|
|
8
|
+
i18n: I18n;
|
|
7
9
|
attribute: import("@angular/core").InputSignal<Attribute | undefined>;
|
|
8
10
|
valueOrValues: import("@angular/core").InputSignal<string | string[] | undefined>;
|
|
9
11
|
fieldIndex: import("@angular/core").InputSignal<number | undefined>;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
|
|
2
|
+
import { USE_DEFAULT_CSS } from '../../../lib/tokens/use-default-css.token';
|
|
3
|
+
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
|
+
import { AddRemoveButtonsMultiValuedAttributeComponent } from '../../../login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component';
|
|
5
|
+
import { FieldErrorsComponent } from '../../../login/components/field-errors/field-errors.component';
|
|
6
|
+
import { AttributesDirective } from '../../../login/directives/attributes.directive';
|
|
7
|
+
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
8
|
+
import { InputTypePipe } from '../../../login/pipes/input-type.pipe';
|
|
9
|
+
import { ToArrayPipe } from '../../../login/pipes/to-array.pipe';
|
|
10
|
+
import { ToNumberPipe } from '../../../login/pipes/to-number.pipe';
|
|
11
|
+
import { LOGIN_CLASSES } from '../../../login/tokens/classes.token';
|
|
12
|
+
import { LOGIN_I18N } from '../../../login/tokens/i18n.token';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class InputTagComponent extends ComponentReference {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.i18n = inject(LOGIN_I18N);
|
|
18
|
+
this.attribute = input();
|
|
19
|
+
this.valueOrValues = input();
|
|
20
|
+
this.fieldIndex = input(undefined);
|
|
21
|
+
this.values = input();
|
|
22
|
+
this.displayableErrors = input();
|
|
23
|
+
this.dispatchFormAction = output();
|
|
24
|
+
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
25
|
+
this.classes = inject(LOGIN_CLASSES);
|
|
26
|
+
this.value = computed(() => {
|
|
27
|
+
const valueOrValues = this.valueOrValues();
|
|
28
|
+
const index = this.fieldIndex();
|
|
29
|
+
if (valueOrValues instanceof Array) {
|
|
30
|
+
if (index) {
|
|
31
|
+
return valueOrValues[index] ?? null;
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return valueOrValues ?? null;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
onChange(event) {
|
|
39
|
+
const valueOrValues = this.valueOrValues();
|
|
40
|
+
this.dispatchFormAction.emit({
|
|
41
|
+
action: 'update',
|
|
42
|
+
name: this.attribute()?.name ?? '',
|
|
43
|
+
valueOrValues: (() => {
|
|
44
|
+
if (this.fieldIndex !== undefined) {
|
|
45
|
+
if (valueOrValues instanceof Array) {
|
|
46
|
+
return valueOrValues.map((value, i) => {
|
|
47
|
+
if (i === this.fieldIndex()) {
|
|
48
|
+
return event.target?.value;
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return event.target?.value;
|
|
55
|
+
})()
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
onBlur() {
|
|
59
|
+
this.dispatchFormAction.emit({
|
|
60
|
+
action: 'focus lost',
|
|
61
|
+
name: this.attribute()?.name ?? '',
|
|
62
|
+
fieldIndex: this.fieldIndex()
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputTagComponent, isStandalone: true, selector: "kc-input-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
67
|
+
{
|
|
68
|
+
provide: ComponentReference,
|
|
69
|
+
useExisting: forwardRef(() => InputTagComponent)
|
|
70
|
+
}
|
|
71
|
+
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n ></kc-field-errors>\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-add-remove-buttons-multi-valued-attribute>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: InputTypePipe, name: "inputType" }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }, { kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: AddRemoveButtonsMultiValuedAttributeComponent, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: ["attribute", "values", "fieldIndex"], outputs: ["dispatchFormAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ standalone: true, imports: [
|
|
76
|
+
InputTypePipe,
|
|
77
|
+
KcClassDirective,
|
|
78
|
+
ToNumberPipe,
|
|
79
|
+
AttributesDirective,
|
|
80
|
+
ToArrayPipe,
|
|
81
|
+
FieldErrorsComponent,
|
|
82
|
+
AddRemoveButtonsMultiValuedAttributeComponent
|
|
83
|
+
], selector: 'kc-input-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
84
|
+
{
|
|
85
|
+
provide: ComponentReference,
|
|
86
|
+
useExisting: forwardRef(() => InputTagComponent)
|
|
87
|
+
}
|
|
88
|
+
], template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n ></kc-field-errors>\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-add-remove-buttons-multi-valued-attribute>\n }\n}\n", styles: [":host{display:contents}\n"] }]
|
|
89
|
+
}] });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtdGFnL2lucHV0LXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy9pbnB1dC10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxxSUFBcUksQ0FBQztBQUNwTSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUUvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWlDMUUsTUFB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QkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsNkNBQTZDO3FCQUNoRCxZQUNTLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzt5QkFDbkQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvdG9rZW5zL3VzZS1kZWZhdWx0LWNzcy50b2tlbic7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgQWRkUmVtb3ZlQnV0dG9uc011bHRpVmFsdWVkQXR0cmlidXRlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZS9hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRFcnJvcnNDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2F0dHJpYnV0ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbnB1dFR5cGVQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvaW5wdXQtdHlwZS5waXBlJztcbmltcG9ydCB7IFRvQXJyYXlQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvdG8tYXJyYXkucGlwZSc7XG5pbXBvcnQgeyBUb051bWJlclBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy90by1udW1iZXIucGlwZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTE9HSU5fQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9jbGFzc2VzLnRva2VuJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bi50b2tlbic7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IEkxOG4gfSBmcm9tICcuLi8uLi9pMThuJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIElucHV0VHlwZVBpcGUsXG4gICAgICAgIEtjQ2xhc3NEaXJlY3RpdmUsXG4gICAgICAgIFRvTnVtYmVyUGlwZSxcbiAgICAgICAgQXR0cmlidXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgVG9BcnJheVBpcGUsXG4gICAgICAgIEZpZWxkRXJyb3JzQ29tcG9uZW50LFxuICAgICAgICBBZGRSZW1vdmVCdXR0b25zTXVsdGlWYWx1ZWRBdHRyaWJ1dGVDb21wb25lbnRcbiAgICBdLFxuICAgIHNlbGVjdG9yOiAna2MtaW5wdXQtdGFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2lucHV0LXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGFnQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRhZ0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgdmFsdWVPclZhbHVlcyA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICAgIGZpZWxkSW5kZXggPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgdmFsdWVzID0gaW5wdXQ8c3RyaW5nW10+KCk7XG4gICAgZGlzcGxheWFibGVFcnJvcnMgPSBpbnB1dDxGb3JtRmllbGRFcnJvcltdPigpO1xuICAgIGRpc3BhdGNoRm9ybUFjdGlvbiA9IG91dHB1dDxGb3JtQWN0aW9uPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIHZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZU9yVmFsdWVzID0gdGhpcy52YWx1ZU9yVmFsdWVzKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maWVsZEluZGV4KCk7XG4gICAgICAgIGlmICh2YWx1ZU9yVmFsdWVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGlmIChpbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZU9yVmFsdWVzW2luZGV4XSA/PyBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlT3JWYWx1ZXMgPz8gbnVsbDtcbiAgICB9KTtcblxuICAgIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZU9yVmFsdWVzID0gdGhpcy52YWx1ZU9yVmFsdWVzKCk7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgYWN0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuYXR0cmlidXRlKCk/Lm5hbWUgPz8gJycsXG4gICAgICAgICAgICB2YWx1ZU9yVmFsdWVzOiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWVPclZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVPclZhbHVlcy5tYXAoKHZhbHVlLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IHRoaXMuZmllbGRJbmRleCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZTtcbiAgICAgICAgICAgIH0pKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ2ZvY3VzIGxvc3QnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIGZpZWxkSW5kZXg6IHRoaXMuZmllbGRJbmRleCgpXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBsZXQgYXR0ciA9IGF0dHJpYnV0ZSgpO1xuQGxldCBpbmRleCA9IGZpZWxkSW5kZXgoKTtcbkBpZiAoYXR0cikge1xuICAgIDxpbnB1dFxuICAgICAgICBbdHlwZV09XCJhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZSB8IGlucHV0VHlwZVwiXG4gICAgICAgIFtpZF09XCJhdHRyLm5hbWVcIlxuICAgICAgICBbbmFtZV09XCJhdHRyLm5hbWVcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0Q2xhc3MnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImluZGV4ICYmIGRpc3BsYXlhYmxlRXJyb3JzKCk/LltpbmRleF0gIT09IHVuZGVmaW5lZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhdHRyLnJlYWRPbmx5XCJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdHRyLmF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJpMThuLmFkdmFuY2VkTXNnU3RyKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUGxhY2Vob2xkZXIgPz8gJycpXCJcbiAgICAgICAgW2F0dHIucGF0dGVybl09XCJhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVBhdHRlcm5cIlxuICAgICAgICBbYXR0ci5zaXplXT1cIlxuICAgICAgICAgICAgIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlU2l6ZVxuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplIHwgdG9OdW1iZXIpID09PSAwXG4gICAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplIHwgdG9OdW1iZXIpXG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCIhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhsZW5ndGggPyB1bmRlZmluZWQgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhsZW5ndGggfCB0b051bWJlcilcIlxuICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwiIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWlubGVuZ3RoID8gdW5kZWZpbmVkIDogKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWlubGVuZ3RoIHwgdG9OdW1iZXIpXCJcbiAgICAgICAgW2F0dHIubWF4XT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWF4XCJcbiAgICAgICAgW2F0dHIubWluXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlTWluXCJcbiAgICAgICAgW2F0dHIuc3RlcF09XCJhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVN0ZXBcIlxuICAgICAgICBba2NBdHRyaWJ1dGVzXT1cImF0dHIuaHRtbDVEYXRhQW5ub3RhdGlvbnNcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgLz5cbiAgICBAaWYgKGluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgQGxldCB2YWx1ZXMgPSB2YWx1ZU9yVmFsdWVzKCkgPz8gW10gfCB0b0FycmF5O1xuICAgICAgICA8a2MtZmllbGQtZXJyb3JzXG4gICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJcIlxuICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgW2ZpZWxkSW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICA+PC9rYy1maWVsZC1lcnJvcnM+XG4gICAgICAgIDxrYy1hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZVxuICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyXCJcbiAgICAgICAgICAgIFt2YWx1ZXNdPVwidmFsdWVzXCJcbiAgICAgICAgICAgIFtmaWVsZEluZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgID48L2tjLWFkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlPlxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Signal } from '@angular/core';
|
|
2
|
-
import { Attribute } from 'keycloakify/login/KcContext';
|
|
3
|
-
import { ClassKey } from 'keycloakify/login/lib/kcClsx';
|
|
4
2
|
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
5
3
|
import { FormAction, FormFieldError } from '../../../login/services/user-profile-form.service';
|
|
4
|
+
import { Attribute } from 'keycloakify/login/KcContext';
|
|
5
|
+
import { ClassKey } from 'keycloakify/login/lib/kcClsx';
|
|
6
|
+
import { I18n } from '../../i18n';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class InputTagSelectsComponent extends ComponentReference {
|
|
9
|
+
i18n: I18n;
|
|
8
10
|
attribute: import("@angular/core").InputSignal<Attribute | undefined>;
|
|
9
11
|
valueOrValues: import("@angular/core").InputSignal<string | string[] | undefined>;
|
|
10
12
|
dispatchFormAction: import("@angular/core").OutputEmitterRef<FormAction>;
|