@softheon/armature 15.21.2 → 17.1.0
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/README.md +142 -18
- package/assets/styles/_utility.scss +35 -0
- package/assets/styles/material-overrides.scss +0 -1
- package/assets/styles/sof-styles.scss +8 -7
- package/{esm2020 → esm2022}/lib/alert-banner/alert-banner-api.mjs +9 -9
- package/{esm2020 → esm2022}/lib/alert-banner/alert-banner.module.mjs +41 -41
- package/{esm2020 → esm2022}/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +83 -83
- package/{esm2020 → esm2022}/lib/alert-banner/models/alert-banner-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/alert-banner/models/alert-banner-context.mjs +1 -1
- package/{esm2020 → esm2022}/lib/alert-banner/models/constants.mjs +15 -15
- package/{esm2020 → esm2022}/lib/alert-banner/services/alert-banner.service.mjs +44 -44
- package/esm2022/lib/armature.module.mjs +176 -0
- package/{esm2020 → esm2022}/lib/base-components/base-component-api.mjs +14 -14
- package/{esm2020 → esm2022}/lib/base-components/base-component.module.mjs +123 -123
- package/{esm2020 → esm2022}/lib/base-components/sof-alert/sof-alert.component.mjs +79 -79
- package/{esm2020 → esm2022}/lib/base-components/sof-badge/sof-badge.component.mjs +49 -49
- package/esm2022/lib/base-components/sof-banner/sof-banner.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.mjs +188 -188
- package/{esm2020 → esm2022}/lib/base-components/sof-confirm-address/sof-confirm-address.component.mjs +59 -59
- package/esm2022/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.mjs +58 -0
- package/esm2022/lib/base-components/sof-modal/sof-modal.component.mjs +57 -0
- package/esm2022/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +79 -0
- package/{esm2020 → esm2022}/lib/base-components/sof-radio-card/sof-radio-card.component.mjs +35 -35
- package/{esm2020 → esm2022}/lib/base-components/sof-simple-alert/sof-simple-alert.component.mjs +49 -49
- package/esm2022/lib/base-components/sof-star-rating/sof-star-rating.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/component-save-print/components/component-save-print/component-save-print.component.mjs +91 -91
- package/{esm2020 → esm2022}/lib/component-save-print/services/component-save-print.service.mjs +30 -30
- package/esm2022/lib/component-save-print/sof-ar-component-save-print.module.mjs +29 -0
- package/{esm2020 → esm2022}/lib/core/client-generated/api/session.service.mjs +242 -242
- package/{esm2020 → esm2022}/lib/core/client-generated/configuration.mjs +58 -58
- package/{esm2020 → esm2022}/lib/core/client-generated/encoder.mjs +16 -16
- package/{esm2020 → esm2022}/lib/core/client-generated/model/applicationUserModel.mjs +19 -19
- package/{esm2020 → esm2022}/lib/core/client-generated/model/assertedUserModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/brandingModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/errorModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/folderLink.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/identityProfile.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/models.mjs +19 -19
- package/{esm2020 → esm2022}/lib/core/client-generated/model/oAuthModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/preferencesRow.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/rolesRow.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionGetResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionPostRequestModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionPostResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionPutRequestModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionPutResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/settingsProfile.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/themePaletteColorsModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/themePaletteModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/trackingModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/validationRecordsRow.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/variables.mjs +8 -8
- package/{esm2020 → esm2022}/lib/core/components/app-template/app-template.component.mjs +250 -250
- package/{esm2020 → esm2022}/lib/core/functions/guid.mjs +10 -10
- package/{esm2020 → esm2022}/lib/core/functions/naming-convention.mjs +32 -32
- package/{esm2020 → esm2022}/lib/core/functions/route-to-pre-login-route.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/initializer/abstract-startup-service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/initializer/initializer.service.mjs +286 -286
- package/{esm2020 → esm2022}/lib/core/interceptors/armature-auth-token-append.interceptor.mjs +73 -73
- package/{esm2020 → esm2022}/lib/core/models/base-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/constants.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/models/data-store-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/models/header-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/http-verbs.mjs +8 -8
- package/{esm2020 → esm2022}/lib/core/models/navigation-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/oidc-auth-settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/route-path.mjs +6 -6
- package/{esm2020 → esm2022}/lib/core/models/session-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/models/styles.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/subdomain-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/typed-session.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/models/user-entity-service-config.mjs +11 -11
- package/{esm2020 → esm2022}/lib/core/services/authorization.service.mjs +175 -175
- package/{esm2020 → esm2022}/lib/core/services/banner.service.mjs +43 -43
- package/{esm2020 → esm2022}/lib/core/services/base-config.service.mjs +32 -32
- package/{esm2020 → esm2022}/lib/core/services/custom-auth-config.service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/services/default-config.service.mjs +19 -19
- package/{esm2020 → esm2022}/lib/core/services/session.service.mjs +385 -385
- package/{esm2020 → esm2022}/lib/core/services/user-entity.service.mjs +140 -140
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/api/api.mjs +3 -3
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/api/cache.service.mjs +213 -213
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/configuration.mjs +58 -58
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/encoder.mjs +16 -16
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/cacheExpirationType.mjs +15 -15
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/models.mjs +4 -4
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/variables.mjs +8 -8
- package/{esm2020 → esm2022}/lib/distributed-cache/distributed-cache-api.mjs +7 -7
- package/esm2022/lib/distributed-cache/distributed-cache.module.mjs +38 -0
- package/{esm2020 → esm2022}/lib/distributed-cache/models/constants.mjs +2 -2
- package/{esm2020 → esm2022}/lib/distributed-cache/models/policy-person.mjs +8 -8
- package/{esm2020 → esm2022}/lib/distributed-cache/services/server-cache.service.mjs +48 -48
- package/{esm2020 → esm2022}/lib/error/components/error-common/error-common.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/error/error-api.mjs +6 -6
- package/{esm2020 → esm2022}/lib/error/error.module.mjs +31 -31
- package/{esm2020 → esm2022}/lib/error/models/error-common-config.mjs +7 -7
- package/esm2022/lib/faq/components/faq/faq.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/faq/faq-api.mjs +7 -7
- package/{esm2020 → esm2022}/lib/faq/faq.module.mjs +41 -41
- package/{esm2020 → esm2022}/lib/faq/models/faq-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/faq/models/faq.mjs +7 -7
- package/esm2022/lib/feedback-tool/components/feedback-tool/feedback-tool.component.mjs +81 -0
- package/esm2022/lib/feedback-tool/feedback-tool-api.mjs +5 -0
- package/esm2022/lib/feedback-tool/feedback-tool.module.mjs +44 -0
- package/esm2022/lib/footer/components/footer/footer.component.mjs +25 -0
- package/{esm2020 → esm2022}/lib/footer/components/site-map/site-map.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/footer/footer-api.mjs +9 -9
- package/{esm2020 → esm2022}/lib/footer/footer.module.mjs +45 -45
- package/{esm2020 → esm2022}/lib/footer/models/enum/site-map-direction.mjs +14 -14
- package/{esm2020 → esm2022}/lib/footer/models/footer-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/footer/models/site-map-models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/forms/components/sof-address/sof-address.component.mjs +110 -110
- package/{esm2020 → esm2022}/lib/forms/directives/alphanumeric/alphanumeric.directive.mjs +78 -78
- package/{esm2020 → esm2022}/lib/forms/directives/input-trim/input-trim.directive.mjs +110 -110
- package/{esm2020 → esm2022}/lib/forms/directives/letters-characters/letters-characters.directive.mjs +87 -87
- package/{esm2020 → esm2022}/lib/forms/directives/letters-only/letters-only.directive.mjs +85 -85
- package/{esm2020 → esm2022}/lib/forms/directives/numbers-only/numbers-only.directive.mjs +55 -55
- package/{esm2020 → esm2022}/lib/forms/forms-api.mjs +19 -19
- package/{esm2020 → esm2022}/lib/forms/forms.module.mjs +87 -87
- package/{esm2020 → esm2022}/lib/forms/models/address.mjs +1 -1
- package/esm2022/lib/forms/models/constants.mjs +10 -0
- package/{esm2020 → esm2022}/lib/forms/models/county.mjs +1 -1
- package/{esm2020 → esm2022}/lib/forms/models/enums/states.mjs +65 -65
- package/{esm2020 → esm2022}/lib/forms/pipes/phone-format.pipe.mjs +33 -33
- package/{esm2020 → esm2022}/lib/forms/services/alert.service.mjs +167 -167
- package/esm2022/lib/header/components/header/header.component.mjs +161 -0
- package/{esm2020 → esm2022}/lib/header/components/mobile-header-menu/mobile-header-menu.component.mjs +39 -39
- package/{esm2020 → esm2022}/lib/header/header-api.mjs +11 -11
- package/{esm2020 → esm2022}/lib/header/header.module.mjs +85 -85
- package/{esm2020 → esm2022}/lib/header/models/header-auth.settings.mjs +31 -31
- package/{esm2020 → esm2022}/lib/header/models/header-language.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/header/models/header-theme.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/header/models/header.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/header/models/mobile-header-nav.settings.mjs +1 -1
- package/esm2022/lib/navigation/components/navigation/navigation.component.mjs +556 -0
- package/{esm2020 → esm2022}/lib/navigation/models/nav-theme.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/navigation/models/nav.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/navigation/models/navigation.mjs +1 -1
- package/{esm2020 → esm2022}/lib/navigation/navigation-api.mjs +8 -8
- package/{esm2020 → esm2022}/lib/navigation/navigation.module.mjs +126 -126
- package/{esm2020 → esm2022}/lib/oauth/models/constants.mjs +5 -5
- package/{esm2020 → esm2022}/lib/oauth/models/generated/accountManagementAssertionModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/accountManagementRefreshRequestModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/accountManagementResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/coverageDetail.mjs +18 -18
- package/{esm2020 → esm2022}/lib/oauth/models/generated/finance.mjs +12 -12
- package/{esm2020 → esm2022}/lib/oauth/models/generated/iSsoResponseModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/person.mjs +12 -12
- package/{esm2020 → esm2022}/lib/oauth/models/generated/policy.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/refreshResponseModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/oauth/models/hybrid-saml-oauth-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/oauth/oauth-api.mjs +14 -14
- package/{esm2020 → esm2022}/lib/oauth/oauth.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/oauth/services/hybrid-saml-oauth.service.mjs +201 -201
- package/{esm2020 → esm2022}/lib/rbac/directives/rbac-action.directive.mjs +50 -50
- package/{esm2020 → esm2022}/lib/rbac/models/access-token-claims.mjs +22 -22
- package/{esm2020 → esm2022}/lib/rbac/models/constants.mjs +3 -3
- package/{esm2020 → esm2022}/lib/rbac/models/decoded-access-token.mjs +68 -68
- package/{esm2020 → esm2022}/lib/rbac/models/rbac-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/rbac/models/role-access.mjs +9 -9
- package/{esm2020 → esm2022}/lib/rbac/rbac-api.mjs +14 -14
- package/{esm2020 → esm2022}/lib/rbac/rbac.module.mjs +51 -51
- package/{esm2020 → esm2022}/lib/rbac/services/ar-role-nav.service.mjs +104 -104
- package/{esm2020 → esm2022}/lib/rbac/services/oauth2-role.service.mjs +114 -114
- package/{esm2020 → esm2022}/lib/rbac/services/role-nav.service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/rbac/services/tokens.mjs +3 -3
- package/{esm2020 → esm2022}/lib/resize-panels/components/resize-panels/resize-panels.component.mjs +156 -156
- package/{esm2020 → esm2022}/lib/resize-panels/models/resize-event.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resize-panels/resize-panels-api.mjs +4 -4
- package/{esm2020 → esm2022}/lib/resize-panels/resize-panels.module.mjs +23 -23
- package/{esm2020 → esm2022}/lib/rum/models/arm-error.mjs +28 -28
- package/{esm2020 → esm2022}/lib/rum/models/rum-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/rum/rum-api.mjs +9 -9
- package/{esm2020 → esm2022}/lib/rum/rum.module.mjs +48 -48
- package/{esm2020 → esm2022}/lib/rum/services/rum.service.mjs +115 -115
- package/{esm2020 → esm2022}/lib/rum/services/shared-error.service.mjs +45 -45
- package/{esm2020 → esm2022}/lib/rum/services/softheon-error-handler.service.mjs +76 -76
- package/{esm2020 → esm2022}/lib/saml/components/redirect-saml/redirect-saml.component.mjs +79 -79
- package/{esm2020 → esm2022}/lib/saml/models/i-saml-request.mjs +1 -1
- package/{esm2020 → esm2022}/lib/saml/models/i-saml-response.mjs +1 -1
- package/{esm2020 → esm2022}/lib/saml/models/redirect-saml-request.mjs +3 -3
- package/{esm2020 → esm2022}/lib/saml/models/sso-gateway-model.mjs +3 -3
- package/{esm2020 → esm2022}/lib/saml/saml-api.mjs +14 -14
- package/{esm2020 → esm2022}/lib/saml/saml.module.mjs +43 -43
- package/{esm2020 → esm2022}/lib/saml/services/entry/abstract-saml-entry.service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/saml/services/entry/sso-gateway-entry.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/saml/services/send-off/abstract-saml.service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/saml/services/send-off/saml.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/sof-pipe/constants/constants.mjs +16 -16
- package/{esm2020 → esm2022}/lib/sof-pipe/models/sof-date-pipe-format.mjs +1 -1
- package/{esm2020 → esm2022}/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.mjs +39 -39
- package/{esm2020 → esm2022}/lib/sof-pipe/pipes/sof-date/sof-date.pipe.mjs +59 -59
- package/{esm2020 → esm2022}/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.mjs +28 -28
- package/{esm2020 → esm2022}/lib/sof-pipe/sof-pipe.api.mjs +8 -8
- package/{esm2020 → esm2022}/lib/sof-pipe/sof-pipe.module.mjs +39 -39
- package/{esm2020 → esm2022}/lib/theming/directives/css-override.directive.mjs +69 -69
- package/{esm2020 → esm2022}/lib/theming/models/css-override.mjs +10 -10
- package/{esm2020 → esm2022}/lib/theming/services/theme.service.mjs +169 -169
- package/{esm2020 → esm2022}/lib/theming/theme-api.mjs +5 -5
- package/{esm2020 → esm2022}/lib/theming/theme.module.mjs +31 -31
- package/{esm2020 → esm2022}/public-api.mjs +52 -51
- package/{esm2020 → esm2022}/softheon-armature.mjs +4 -4
- package/fesm2022/softheon-armature.mjs +7439 -0
- package/fesm2022/softheon-armature.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/alert-banner/alert-banner-api.d.ts +7 -7
- package/lib/alert-banner/alert-banner.module.d.ts +11 -11
- package/lib/alert-banner/components/alert-banner/alert-banner.component.d.ts +40 -40
- package/lib/alert-banner/models/alert-banner-config.d.ts +20 -20
- package/lib/alert-banner/models/alert-banner-context.d.ts +18 -18
- package/lib/alert-banner/models/constants.d.ts +15 -15
- package/lib/alert-banner/services/alert-banner.service.d.ts +28 -28
- package/lib/armature.module.d.ts +46 -46
- package/lib/base-components/base-component-api.d.ts +13 -13
- package/lib/base-components/base-component.module.d.ts +35 -35
- package/lib/base-components/sof-alert/sof-alert.component.d.ts +40 -40
- package/lib/base-components/sof-badge/sof-badge.component.d.ts +26 -26
- package/lib/base-components/sof-banner/sof-banner.component.d.ts +34 -34
- package/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.d.ts +100 -100
- package/lib/base-components/sof-confirm-address/sof-confirm-address.component.d.ts +61 -61
- package/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.d.ts +28 -28
- package/lib/base-components/sof-modal/sof-modal.component.d.ts +51 -51
- package/lib/base-components/sof-progress-bar/sof-progress-bar.component.d.ts +40 -40
- package/lib/base-components/sof-radio-card/sof-radio-card.component.d.ts +20 -20
- package/lib/base-components/sof-simple-alert/sof-simple-alert.component.d.ts +29 -29
- package/lib/base-components/sof-star-rating/sof-star-rating.component.d.ts +25 -25
- package/lib/component-save-print/components/component-save-print/component-save-print.component.d.ts +46 -46
- package/lib/component-save-print/services/component-save-print.service.d.ts +18 -18
- package/lib/component-save-print/sof-ar-component-save-print.module.d.ts +9 -9
- package/lib/core/client-generated/api/session.service.d.ts +94 -94
- package/lib/core/client-generated/configuration.d.ts +48 -48
- package/lib/core/client-generated/encoder.d.ts +10 -10
- package/lib/core/client-generated/model/applicationUserModel.d.ts +54 -54
- package/lib/core/client-generated/model/assertedUserModel.d.ts +25 -25
- package/lib/core/client-generated/model/brandingModel.d.ts +33 -33
- package/lib/core/client-generated/model/errorModel.d.ts +24 -24
- package/lib/core/client-generated/model/folderLink.d.ts +34 -34
- package/lib/core/client-generated/model/identityProfile.d.ts +82 -82
- package/lib/core/client-generated/model/models.d.ts +19 -19
- package/lib/core/client-generated/model/oAuthModel.d.ts +28 -28
- package/lib/core/client-generated/model/preferencesRow.d.ts +15 -15
- package/lib/core/client-generated/model/rolesRow.d.ts +17 -17
- package/lib/core/client-generated/model/sessionGetResponseModel.d.ts +23 -23
- package/lib/core/client-generated/model/sessionPostRequestModel.d.ts +39 -39
- package/lib/core/client-generated/model/sessionPostResponseModel.d.ts +23 -23
- package/lib/core/client-generated/model/sessionPutRequestModel.d.ts +39 -39
- package/lib/core/client-generated/model/sessionPutResponseModel.d.ts +23 -23
- package/lib/core/client-generated/model/sessionResponseModel.d.ts +43 -43
- package/lib/core/client-generated/model/settingsProfile.d.ts +21 -21
- package/lib/core/client-generated/model/themePaletteColorsModel.d.ts +72 -72
- package/lib/core/client-generated/model/themePaletteModel.d.ts +65 -65
- package/lib/core/client-generated/model/trackingModel.d.ts +24 -24
- package/lib/core/client-generated/model/validationRecordsRow.d.ts +17 -17
- package/lib/core/client-generated/variables.d.ts +8 -8
- package/lib/core/components/app-template/app-template.component.d.ts +61 -61
- package/lib/core/functions/guid.d.ts +4 -4
- package/lib/core/functions/naming-convention.d.ts +6 -6
- package/lib/core/functions/route-to-pre-login-route.d.ts +6 -6
- package/lib/core/initializer/abstract-startup-service.d.ts +5 -5
- package/lib/core/initializer/initializer.service.d.ts +79 -79
- package/lib/core/interceptors/armature-auth-token-append.interceptor.d.ts +31 -31
- package/lib/core/models/base-config.d.ts +18 -18
- package/lib/core/models/constants.d.ts +13 -13
- package/lib/core/models/data-store-config.d.ts +27 -27
- package/lib/core/models/header-config.d.ts +9 -9
- package/lib/core/models/http-verbs.d.ts +10 -10
- package/lib/core/models/navigation-config.d.ts +14 -14
- package/lib/core/models/oidc-auth-settings.d.ts +11 -11
- package/lib/core/models/route-path.d.ts +5 -5
- package/lib/core/models/session-config.d.ts +18 -18
- package/lib/core/models/styles.d.ts +11 -11
- package/lib/core/models/subdomain-config.d.ts +7 -7
- package/lib/core/models/typed-session.d.ts +17 -17
- package/lib/core/models/user-entity-service-config.d.ts +14 -14
- package/lib/core/services/authorization.service.d.ts +54 -54
- package/lib/core/services/banner.service.d.ts +31 -31
- package/lib/core/services/base-config.service.d.ts +21 -21
- package/lib/core/services/custom-auth-config.service.d.ts +6 -6
- package/lib/core/services/default-config.service.d.ts +8 -8
- package/lib/core/services/session.service.d.ts +127 -127
- package/lib/core/services/user-entity.service.d.ts +47 -47
- package/lib/distributed-cache/client-generated/api/api.d.ts +3 -3
- package/lib/distributed-cache/client-generated/api/cache.service.d.ts +72 -72
- package/lib/distributed-cache/client-generated/configuration.d.ts +48 -48
- package/lib/distributed-cache/client-generated/encoder.d.ts +10 -10
- package/lib/distributed-cache/client-generated/model/cacheExpirationType.d.ts +19 -19
- package/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.d.ts +33 -33
- package/lib/distributed-cache/client-generated/model/models.d.ts +4 -4
- package/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.d.ts +20 -20
- package/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.d.ts +20 -20
- package/lib/distributed-cache/client-generated/variables.d.ts +8 -8
- package/lib/distributed-cache/distributed-cache-api.d.ts +7 -7
- package/lib/distributed-cache/distributed-cache.module.d.ts +8 -8
- package/lib/distributed-cache/models/constants.d.ts +2 -2
- package/lib/distributed-cache/models/policy-person.d.ts +19 -19
- package/lib/distributed-cache/services/server-cache.service.d.ts +72 -72
- package/lib/error/components/error-common/error-common.component.d.ts +14 -14
- package/lib/error/error-api.d.ts +4 -4
- package/lib/error/error.module.d.ts +11 -11
- package/lib/error/models/error-common-config.d.ts +21 -21
- package/lib/faq/components/faq/faq.component.d.ts +19 -19
- package/lib/faq/faq-api.d.ts +5 -5
- package/lib/faq/faq.module.d.ts +15 -15
- package/lib/faq/models/faq-config.d.ts +13 -13
- package/lib/faq/models/faq.d.ts +9 -9
- package/lib/feedback-tool/components/feedback-tool/feedback-tool.component.d.ts +62 -0
- package/lib/feedback-tool/feedback-tool-api.d.ts +3 -0
- package/lib/feedback-tool/feedback-tool.module.d.ts +14 -0
- package/lib/footer/components/footer/footer.component.d.ts +14 -14
- package/lib/footer/components/site-map/site-map.component.d.ts +13 -13
- package/lib/footer/footer-api.d.ts +7 -7
- package/lib/footer/footer.module.d.ts +14 -14
- package/lib/footer/models/enum/site-map-direction.d.ts +13 -13
- package/lib/footer/models/footer-config.d.ts +7 -7
- package/lib/footer/models/site-map-models.d.ts +41 -41
- package/lib/forms/components/sof-address/sof-address.component.d.ts +53 -53
- package/lib/forms/directives/alphanumeric/alphanumeric.directive.d.ts +31 -31
- package/lib/forms/directives/input-trim/input-trim.directive.d.ts +58 -58
- package/lib/forms/directives/letters-characters/letters-characters.directive.d.ts +27 -27
- package/lib/forms/directives/letters-only/letters-only.directive.d.ts +27 -27
- package/lib/forms/directives/numbers-only/numbers-only.directive.d.ts +22 -22
- package/lib/forms/forms-api.d.ts +14 -14
- package/lib/forms/forms.module.d.ts +21 -21
- package/lib/forms/models/address.d.ts +14 -14
- package/lib/forms/models/constants.d.ts +9 -9
- package/lib/forms/models/county.d.ts +13 -13
- package/lib/forms/models/enums/states.d.ts +64 -64
- package/lib/forms/pipes/phone-format.pipe.d.ts +10 -10
- package/lib/forms/services/alert.service.d.ts +60 -60
- package/lib/header/components/header/header.component.d.ts +120 -120
- package/lib/header/components/mobile-header-menu/mobile-header-menu.component.d.ts +26 -26
- package/lib/header/header-api.d.ts +9 -9
- package/lib/header/header.module.d.ts +20 -20
- package/lib/header/models/header-auth.settings.d.ts +30 -30
- package/lib/header/models/header-language.settings.d.ts +10 -10
- package/lib/header/models/header-theme.settings.d.ts +19 -19
- package/lib/header/models/header.settings.d.ts +53 -53
- package/lib/header/models/mobile-header-nav.settings.d.ts +11 -11
- package/lib/navigation/components/navigation/navigation.component.d.ts +200 -200
- package/lib/navigation/models/nav-theme.settings.d.ts +25 -25
- package/lib/navigation/models/nav.settings.d.ts +64 -64
- package/lib/navigation/models/navigation.d.ts +40 -40
- package/lib/navigation/navigation-api.d.ts +6 -6
- package/lib/navigation/navigation.module.d.ts +25 -25
- package/lib/oauth/models/constants.d.ts +6 -6
- package/lib/oauth/models/generated/accountManagementAssertionModel.d.ts +49 -49
- package/lib/oauth/models/generated/accountManagementRefreshRequestModel.d.ts +21 -21
- package/lib/oauth/models/generated/accountManagementResponseModel.d.ts +45 -45
- package/lib/oauth/models/generated/coverageDetail.d.ts +67 -67
- package/lib/oauth/models/generated/finance.d.ts +36 -36
- package/lib/oauth/models/generated/iSsoResponseModel.d.ts +44 -44
- package/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.d.ts +45 -45
- package/lib/oauth/models/generated/person.d.ts +53 -53
- package/lib/oauth/models/generated/policy.d.ts +51 -51
- package/lib/oauth/models/generated/refreshResponseModel.d.ts +20 -20
- package/lib/oauth/models/hybrid-saml-oauth-config.d.ts +14 -14
- package/lib/oauth/oauth-api.d.ts +12 -12
- package/lib/oauth/oauth.module.d.ts +9 -9
- package/lib/oauth/services/hybrid-saml-oauth.service.d.ts +59 -59
- package/lib/rbac/directives/rbac-action.directive.d.ts +27 -27
- package/lib/rbac/models/access-token-claims.d.ts +18 -18
- package/lib/rbac/models/constants.d.ts +4 -4
- package/lib/rbac/models/decoded-access-token.d.ts +43 -43
- package/lib/rbac/models/rbac-config.d.ts +15 -15
- package/lib/rbac/models/role-access.d.ts +7 -7
- package/lib/rbac/rbac-api.d.ts +11 -11
- package/lib/rbac/rbac.module.d.ts +19 -19
- package/lib/rbac/services/ar-role-nav.service.d.ts +25 -25
- package/lib/rbac/services/oauth2-role.service.d.ts +51 -51
- package/lib/rbac/services/role-nav.service.d.ts +12 -12
- package/lib/rbac/services/tokens.d.ts +3 -3
- package/lib/resize-panels/components/resize-panels/resize-panels.component.d.ts +64 -64
- package/lib/resize-panels/models/resize-event.d.ts +6 -6
- package/lib/resize-panels/resize-panels-api.d.ts +4 -4
- package/lib/resize-panels/resize-panels.module.d.ts +9 -9
- package/lib/rum/models/arm-error.d.ts +27 -27
- package/lib/rum/models/rum-config.d.ts +9 -9
- package/lib/rum/rum-api.d.ts +7 -7
- package/lib/rum/rum.module.d.ts +14 -14
- package/lib/rum/services/rum.service.d.ts +47 -47
- package/lib/rum/services/shared-error.service.d.ts +27 -27
- package/lib/rum/services/softheon-error-handler.service.d.ts +32 -32
- package/lib/saml/components/redirect-saml/redirect-saml.component.d.ts +41 -41
- package/lib/saml/models/i-saml-request.d.ts +4 -4
- package/lib/saml/models/i-saml-response.d.ts +4 -4
- package/lib/saml/models/redirect-saml-request.d.ts +24 -24
- package/lib/saml/models/sso-gateway-model.d.ts +17 -17
- package/lib/saml/saml-api.d.ts +11 -11
- package/lib/saml/saml.module.d.ts +9 -9
- package/lib/saml/services/entry/abstract-saml-entry.service.d.ts +16 -16
- package/lib/saml/services/entry/sso-gateway-entry.service.d.ts +22 -22
- package/lib/saml/services/send-off/abstract-saml.service.d.ts +20 -20
- package/lib/saml/services/send-off/saml.service.d.ts +32 -32
- package/lib/sof-pipe/constants/constants.d.ts +8 -8
- package/lib/sof-pipe/models/sof-date-pipe-format.d.ts +7 -7
- package/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.d.ts +19 -19
- package/lib/sof-pipe/pipes/sof-date/sof-date.pipe.d.ts +21 -21
- package/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.d.ts +12 -12
- package/lib/sof-pipe/sof-pipe.api.d.ts +7 -7
- package/lib/sof-pipe/sof-pipe.module.d.ts +10 -10
- package/lib/theming/directives/css-override.directive.d.ts +20 -20
- package/lib/theming/models/css-override.d.ts +15 -15
- package/lib/theming/services/theme.service.d.ts +48 -48
- package/lib/theming/theme-api.d.ts +5 -5
- package/lib/theming/theme.module.d.ts +9 -9
- package/package.json +17 -23
- package/public-api.d.ts +49 -48
- package/esm2020/lib/armature.module.mjs +0 -176
- package/esm2020/lib/base-components/sof-banner/sof-banner.component.mjs +0 -49
- package/esm2020/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.mjs +0 -58
- package/esm2020/lib/base-components/sof-modal/sof-modal.component.mjs +0 -58
- package/esm2020/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +0 -79
- package/esm2020/lib/base-components/sof-star-rating/sof-star-rating.component.mjs +0 -40
- package/esm2020/lib/component-save-print/sof-ar-component-save-print.module.mjs +0 -32
- package/esm2020/lib/distributed-cache/distributed-cache.module.mjs +0 -38
- package/esm2020/lib/faq/components/faq/faq.component.mjs +0 -40
- package/esm2020/lib/footer/components/footer/footer.component.mjs +0 -25
- package/esm2020/lib/forms/models/constants.mjs +0 -10
- package/esm2020/lib/header/components/header/header.component.mjs +0 -161
- package/esm2020/lib/navigation/components/navigation/navigation.component.mjs +0 -556
- package/fesm2015/softheon-armature.mjs +0 -7275
- package/fesm2015/softheon-armature.mjs.map +0 -1
- package/fesm2020/softheon-armature.mjs +0 -7332
- package/fesm2020/softheon-armature.mjs.map +0 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Site Map Direction
|
|
3
|
-
*/
|
|
4
|
-
export var SiteMapDirection;
|
|
5
|
-
(function (SiteMapDirection) {
|
|
6
|
-
/**
|
|
7
|
-
* Horizontal
|
|
8
|
-
*/
|
|
9
|
-
SiteMapDirection["Horizontal"] = "Horizontal";
|
|
10
|
-
/**
|
|
11
|
-
* Vertical
|
|
12
|
-
*/
|
|
13
|
-
SiteMapDirection["Vertical"] = "Vertical";
|
|
14
|
-
})(SiteMapDirection || (SiteMapDirection = {}));
|
|
1
|
+
/**
|
|
2
|
+
* Site Map Direction
|
|
3
|
+
*/
|
|
4
|
+
export var SiteMapDirection;
|
|
5
|
+
(function (SiteMapDirection) {
|
|
6
|
+
/**
|
|
7
|
+
* Horizontal
|
|
8
|
+
*/
|
|
9
|
+
SiteMapDirection["Horizontal"] = "Horizontal";
|
|
10
|
+
/**
|
|
11
|
+
* Vertical
|
|
12
|
+
*/
|
|
13
|
+
SiteMapDirection["Vertical"] = "Vertical";
|
|
14
|
+
})(SiteMapDirection || (SiteMapDirection = {}));
|
|
15
15
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1tYXAtZGlyZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9mb290ZXIvbW9kZWxzL2VudW0vc2l0ZS1tYXAtZGlyZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksZ0JBVVg7QUFWRCxXQUFZLGdCQUFnQjtJQUN4Qjs7T0FFRztJQUNGLDZDQUF5QixDQUFBO0lBRTFCOztPQUVHO0lBQ0gseUNBQXFCLENBQUE7QUFDekIsQ0FBQyxFQVZXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFVM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU2l0ZSBNYXAgRGlyZWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZW51bSBTaXRlTWFwRGlyZWN0aW9uIHtcclxuICAgIC8qKlxyXG4gICAgICogSG9yaXpvbnRhbFxyXG4gICAgICovXHJcbiAgICAgSG9yaXpvbnRhbCA9ICdIb3Jpem9udGFsJyxcclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcnRpY2FsXHJcbiAgICAgKi9cclxuICAgIFZlcnRpY2FsID0gJ1ZlcnRpY2FsJ1xyXG59Il19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** The footer configurations */
|
|
2
|
-
export class FooterConfig {
|
|
3
|
-
}
|
|
1
|
+
/** The footer configurations */
|
|
2
|
+
export class FooterConfig {
|
|
3
|
+
}
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvZm9vdGVyL21vZGVscy9mb290ZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdDQUFnQztBQUNoQyxNQUFNLE9BQU8sWUFBWTtDQU14QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgZm9vdGVyIGNvbmZpZ3VyYXRpb25zICovXHJcbmV4cG9ydCBjbGFzcyBGb290ZXJDb25maWcge1xyXG4gICAgLyoqIFRydWUgaWYgc2hvd2luZyBwcmUgY29udGVudCAxICovXHJcbiAgICBwdWJsaWMgc2hvd1ByZUNvbnRlbnQxOiBib29sZWFuO1xyXG5cclxuICAgIC8qKiBUcnVlIGlmIHNob3dpbmcgcHJlIGNvbnRlbnQgMiAqL1xyXG4gICAgcHVibGljIHNob3dQcmVDb250ZW50MjogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1tYXAtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9mb290ZXIvbW9kZWxzL3NpdGUtbWFwLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2l0ZU1hcERpcmVjdGlvbiB9IGZyb20gJy4vZW51bS9zaXRlLW1hcC1kaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBSb3V0ZVBhdGggfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9yb3V0ZS1wYXRoJztcclxuXHJcbi8qKlxyXG4gKiBTaXRlIE1hcCBDb25maWdcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2l0ZU1hcENvbmZpZyB7XHJcbiAgICAvKiogU2VjdGlvbiB0aXRsZSBjbGFzcyBzdHlsZSAqL1xyXG4gICAgc2VjdGlvblRpdGxlQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEdsb2JhbCBjbGFzcyBzdHlsZSBmb3IgbGlua3MgKi9cclxuICAgIGxpbmtDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKiogU2l0ZSBtYXAgZ3JhcGggKi9cclxuICAgIGdyYXBoPzogQXJyYXk8QXJyYXk8U2l0ZU1hcE5vZGU+PjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNpdGUgTWFwIE5vZGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFNpdGVNYXBOb2RlIHtcclxuICAgIC8qKiBUaGUgU2VjdGlvbiBUaXRsZSAqL1xyXG4gICAgc2VjdGlvblRpdGxlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgRGlyZWN0aW9uICovXHJcbiAgICBkaXJlY3Rpb24/OiBTaXRlTWFwRGlyZWN0aW9uO1xyXG5cclxuICAgIC8qKiBTaXRlIE1hcCBMaW5rICovXHJcbiAgICBsaW5rcz86IEFycmF5PFNpdGVNYXBMaW5rPjtcclxuICAgIFxyXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IGlmIHRoZSBsaW5rcyBhcmUgaWNvbnMgKi9cclxuICAgIGljb25MaW5rcz86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTaXRlIE1hcCBMaW5rXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFNpdGVNYXBMaW5rIHtcclxuICAgIC8qKiBUaGUgVGV4dCAqL1xyXG4gICAgdGV4dD86IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIFJvdXRlciBMaW5rICovXHJcbiAgICByb3V0ZXJMaW5rPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgcm91dGUgcGF0aCAqL1xyXG4gICAgcm91dGVQYXRoPzogUm91dGVQYXRoOyAgICBcclxuXHJcbiAgICAvKiogU3BlY2lmaWMgY2xhc3Mgc3R5bGUgZm9yIGxpbmsgKi9cclxuICAgIGxpbmtDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKiogTG9nbyBzdHlsZSBjbGFzcyBmb3IgbG9nbyBsaW5rcyAqL1xyXG4gICAgbG9nb0NsYXNzPzogc3RyaW5nO1xyXG59Il19
|
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { FormControl, Validators } from '@angular/forms';
|
|
3
|
-
import { States } from '../../models/enums/states';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "@angular/flex-layout/flex";
|
|
8
|
-
import * as i4 from "@angular/material/input";
|
|
9
|
-
import * as i5 from "@angular/material/form-field";
|
|
10
|
-
import * as i6 from "@angular/material/select";
|
|
11
|
-
import * as i7 from "@angular/material/core";
|
|
12
|
-
import * as i8 from "../../directives/numbers-only/numbers-only.directive";
|
|
13
|
-
/** Address component */
|
|
14
|
-
export class SofAddressComponent {
|
|
15
|
-
/**
|
|
16
|
-
* Constructor for the component
|
|
17
|
-
* @param formBuilder The form builder
|
|
18
|
-
*/
|
|
19
|
-
constructor(formBuilder) {
|
|
20
|
-
this.formBuilder = formBuilder;
|
|
21
|
-
/** Identifier for this address component */
|
|
22
|
-
this.id = '';
|
|
23
|
-
/** Verbiage for street 1 */
|
|
24
|
-
this.street1Verbiage = 'Street 1';
|
|
25
|
-
/** Verbiage for street 2 */
|
|
26
|
-
this.street2Verbiage = 'Street 2';
|
|
27
|
-
/** Verbiage for city */
|
|
28
|
-
this.cityVerbiage = 'City';
|
|
29
|
-
/** Verbiage for ZIP Code */
|
|
30
|
-
this.zipCodeVerbiage = 'Zip Code';
|
|
31
|
-
/** Verbiage for the state input */
|
|
32
|
-
this.stateVerbiage = 'State';
|
|
33
|
-
/** Verbiage for the required input verbiage */
|
|
34
|
-
this.requiredErrorVerbiage = 'Field is required';
|
|
35
|
-
/** The state options */
|
|
36
|
-
this.states = Object.keys(States);
|
|
37
|
-
/** Form control for street 1 */
|
|
38
|
-
this.street1FC = new FormControl(undefined, Validators.required);
|
|
39
|
-
/** Form control for street 2 */
|
|
40
|
-
this.street2FC = new FormControl();
|
|
41
|
-
/** Form control for city */
|
|
42
|
-
this.cityFC = new FormControl(undefined, Validators.required);
|
|
43
|
-
/** Form control for state */
|
|
44
|
-
this.stateFC = new FormControl(undefined, Validators.required);
|
|
45
|
-
/** Form control for zip code */
|
|
46
|
-
this.zipCodeFC = new FormControl(undefined, [Validators.required, Validators.maxLength(5), Validators.minLength(5)]);
|
|
47
|
-
}
|
|
48
|
-
/** Actions to take upon initialization */
|
|
49
|
-
ngOnInit() {
|
|
50
|
-
this.createAddressGroup();
|
|
51
|
-
}
|
|
52
|
-
/** Creates the address form group */
|
|
53
|
-
createAddressGroup() {
|
|
54
|
-
if (this.addressFG) {
|
|
55
|
-
return this.addressFG;
|
|
56
|
-
}
|
|
57
|
-
this.addressFG = this.formBuilder.group({
|
|
58
|
-
street1: this.street1FC,
|
|
59
|
-
street2: this.street2FC,
|
|
60
|
-
city: this.cityFC,
|
|
61
|
-
state: this.stateFC,
|
|
62
|
-
zipCode: this.zipCodeFC
|
|
63
|
-
});
|
|
64
|
-
return this.addressFG;
|
|
65
|
-
}
|
|
66
|
-
/** Maps and returns the address */
|
|
67
|
-
getAddress() {
|
|
68
|
-
if (!this.addressFG.valid) {
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
const county = {
|
|
72
|
-
zipCode: this.zipCodeFC.value,
|
|
73
|
-
state: this.stateFC.value
|
|
74
|
-
};
|
|
75
|
-
const address = {
|
|
76
|
-
street1: this.street1FC.value,
|
|
77
|
-
street2: this.street2FC.value,
|
|
78
|
-
city: this.cityFC.value,
|
|
79
|
-
county
|
|
80
|
-
};
|
|
81
|
-
return address;
|
|
82
|
-
}
|
|
83
|
-
/** Checks if the form is valid */
|
|
84
|
-
isValid() {
|
|
85
|
-
return this.addressFG && this.addressFG.valid;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
91
|
-
type: Component,
|
|
92
|
-
args: [{ selector: 'sof-ar-address', template: "<p class=\"address-title\" *ngIf=\"titleVerbiage && titleVerbiage != ''\" [innerHtml]=\"titleVerbiage\"></p>\r\n<form [formGroup]=\"addressFG\">\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1% grid\">\r\n <!-- Address 1 -->\r\n <mat-form-field class=\"address-input\" fxFlex=\"auto\">\r\n <input matInput formControlName=\"street1\" id=\"{{id}}street1\" placeholder=\"{{street1Verbiage}}\" required>\r\n <mat-error *ngIf=\"street1FC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- Address 2 -->\r\n <mat-form-field class=\"address-input\" fxFlex=\"auto\">\r\n <input matInput formControlName=\"street2\" id=\"{{id}}street2\" placeholder=\"{{street2Verbiage}}\">\r\n </mat-form-field>\r\n </div>\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1%\">\r\n <!-- City -->\r\n <mat-form-field fxFlex=\"49.5%\" fxFlex.lt-md=\"60%\">\r\n <input matInput formControlName=\"city\" id=\"{{id}}city\" placeholder=\"{{cityVerbiage}}\" required>\r\n <mat-error *ngIf=\"cityFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- State -->\r\n <mat-form-field fxFlex=\"20%\" fxFlex.lt-md=\"auto\">\r\n <mat-label>{{stateVerbiage}}</mat-label>\r\n <mat-select formControlName=\"state\" required>\r\n <mat-option *ngFor=\"let state of states\" id=\"{{id}}{{state}}\" [value]=\"state\">{{state}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"stateFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- Zip Code -->\r\n <mat-form-field fxFlex=\"28.5%\" fxFlex.lt-md=\"50%\">\r\n <input matInput formControlName=\"zipCode\" id=\"{{id}}zipCode\" mask=\"00000\" [sofArNumbersOnly]\r\n placeholder=\"{{zipCodeVerbiage}}\" required minlength=\"5\" maxlength=\"5\">\r\n <mat-error *ngIf=\"zipCodeFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n</form>\r\n", styles: [".address-input{min-width:350px}.address-title{font-size:large}\n"] }]
|
|
93
|
-
}], ctorParameters:
|
|
94
|
-
type: Input
|
|
95
|
-
}], street1Verbiage: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], street2Verbiage: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], cityVerbiage: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], zipCodeVerbiage: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], stateVerbiage: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], titleVerbiage: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], requiredErrorVerbiage: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}] } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mLWFkZHJlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9mb3Jtcy9jb21wb25lbnRzL3NvZi1hZGRyZXNzL3NvZi1hZGRyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvZm9ybXMvY29tcG9uZW50cy9zb2YtYWRkcmVzcy9zb2YtYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBMEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7QUFJbkQsd0JBQXdCO0FBTXhCLE1BQU0sT0FBTyxtQkFBbUI7SUFrRDlCOzs7T0FHRztJQUNILFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBcERyRCw0Q0FBNEM7UUFDNUIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUVoQyw0QkFBNEI7UUFDWixvQkFBZSxHQUFXLFVBQVUsQ0FBQztRQUVyRCw0QkFBNEI7UUFDWixvQkFBZSxHQUFXLFVBQVUsQ0FBQztRQUVyRCx3QkFBd0I7UUFDUixpQkFBWSxHQUFXLE1BQU0sQ0FBQztRQUU5Qyw0QkFBNEI7UUFDWixvQkFBZSxHQUFXLFVBQVUsQ0FBQztRQUVyRCxtQ0FBbUM7UUFDbkIsa0JBQWEsR0FBVyxPQUFPLENBQUM7UUFLaEQsK0NBQStDO1FBQy9CLDBCQUFxQixHQUFXLG1CQUFtQixDQUFDO1FBS3BFLHdCQUF3QjtRQUNSLFdBQU0sR0FBa0IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1RCxnQ0FBZ0M7UUFDaEIsY0FBUyxHQUFnQixJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpGLGdDQUFnQztRQUNmLGNBQVMsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUU1RCw0QkFBNEI7UUFDWixXQUFNLEdBQWdCLElBQUksV0FBVyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEYsNkJBQTZCO1FBQ2IsWUFBTyxHQUFnQixJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZGLGdDQUFnQztRQUNoQixjQUFTLEdBQWdCLElBQUksV0FBVyxDQUN0RCxTQUFTLEVBQ1QsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN4RSxDQUFDO0lBTXVELENBQUM7SUFFMUQsMENBQTBDO0lBQ25DLFFBQVE7UUFDYixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQscUNBQXFDO0lBQzlCLGtCQUFrQjtRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQ3hCLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsbUNBQW1DO0lBQzVCLFVBQVU7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDekIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxNQUFNLE1BQU0sR0FBVztZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7U0FDMUIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFZO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUs7WUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3ZCLE1BQU07U0FDUCxDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGtDQUFrQztJQUMzQixPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7O2dIQXJHVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixzVUNiaEMsbytEQW1DQTsyRkR0QmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGdCQUFnQjtrR0FPVixFQUFFO3NCQUFqQixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBR1UsZUFBZTtzQkFBOUIsS0FBSztnQkFHVSxZQUFZO3NCQUEzQixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBR1UsYUFBYTtzQkFBNUIsS0FBSztnQkFHVSxhQUFhO3NCQUE1QixLQUFLO2dCQUdVLHFCQUFxQjtzQkFBcEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFN0YXRlcyB9IGZyb20gJy4uLy4uL21vZGVscy9lbnVtcy9zdGF0ZXMnO1xyXG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MnO1xyXG5pbXBvcnQgeyBDb3VudHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvY291bnR5JztcclxuXHJcbi8qKiBBZGRyZXNzIGNvbXBvbmVudCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1hci1hZGRyZXNzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc29mLWFkZHJlc3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NvZi1hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNvZkFkZHJlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogSWRlbnRpZmllciBmb3IgdGhpcyBhZGRyZXNzIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBWZXJiaWFnZSBmb3Igc3RyZWV0IDEgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc3RyZWV0MVZlcmJpYWdlOiBzdHJpbmcgPSAnU3RyZWV0IDEnO1xyXG5cclxuICAvKiogVmVyYmlhZ2UgZm9yIHN0cmVldCAyICovXHJcbiAgQElucHV0KCkgcHVibGljIHN0cmVldDJWZXJiaWFnZTogc3RyaW5nID0gJ1N0cmVldCAyJztcclxuXHJcbiAgLyoqIFZlcmJpYWdlIGZvciBjaXR5ICovXHJcbiAgQElucHV0KCkgcHVibGljIGNpdHlWZXJiaWFnZTogc3RyaW5nID0gJ0NpdHknO1xyXG5cclxuICAvKiogVmVyYmlhZ2UgZm9yIFpJUCBDb2RlICovXHJcbiAgQElucHV0KCkgcHVibGljIHppcENvZGVWZXJiaWFnZTogc3RyaW5nID0gJ1ppcCBDb2RlJztcclxuXHJcbiAgLyoqIFZlcmJpYWdlIGZvciB0aGUgc3RhdGUgaW5wdXQgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc3RhdGVWZXJiaWFnZTogc3RyaW5nID0gJ1N0YXRlJztcclxuXHJcbiAgLyoqIFZlcmJpYWdlIGZvciB0aGUgdGl0bGUgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdGl0bGVWZXJiaWFnZTogc3RyaW5nO1xyXG5cclxuICAvKiogVmVyYmlhZ2UgZm9yIHRoZSByZXF1aXJlZCBpbnB1dCB2ZXJiaWFnZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZEVycm9yVmVyYmlhZ2U6IHN0cmluZyA9ICdGaWVsZCBpcyByZXF1aXJlZCc7XHJcblxyXG4gIC8qKiBBZGRyZXNzIEZvcm0gZ3JvdXAgKi9cclxuICBwdWJsaWMgYWRkcmVzc0ZHOiBGb3JtR3JvdXA7XHJcblxyXG4gIC8qKiBUaGUgc3RhdGUgb3B0aW9ucyAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZXM6IEFycmF5PHN0cmluZz4gPSBPYmplY3Qua2V5cyhTdGF0ZXMpO1xyXG5cclxuICAvKiogRm9ybSBjb250cm9sIGZvciBzdHJlZXQgMSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBzdHJlZXQxRkM6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHVuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblxyXG4gIC8qKiBGb3JtIGNvbnRyb2wgZm9yIHN0cmVldCAyICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBzdHJlZXQyRkM6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG4gIC8qKiBGb3JtIGNvbnRyb2wgZm9yIGNpdHkgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgY2l0eUZDOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAvKiogRm9ybSBjb250cm9sIGZvciBzdGF0ZSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZUZDOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAvKiogRm9ybSBjb250cm9sIGZvciB6aXAgY29kZSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSB6aXBDb2RlRkM6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKFxyXG4gICAgdW5kZWZpbmVkLFxyXG4gICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KV1cclxuICApO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvciBmb3IgdGhlIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBmb3JtQnVpbGRlciBUaGUgZm9ybSBidWlsZGVyXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHsgfVxyXG5cclxuICAvKiogQWN0aW9ucyB0byB0YWtlIHVwb24gaW5pdGlhbGl6YXRpb24gKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZUFkZHJlc3NHcm91cCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENyZWF0ZXMgdGhlIGFkZHJlc3MgZm9ybSBncm91cCAqL1xyXG4gIHB1YmxpYyBjcmVhdGVBZGRyZXNzR3JvdXAoKTogRm9ybUdyb3VwIHtcclxuICAgIGlmICh0aGlzLmFkZHJlc3NGRykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hZGRyZXNzRkc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hZGRyZXNzRkcgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgc3RyZWV0MTogdGhpcy5zdHJlZXQxRkMsXHJcbiAgICAgIHN0cmVldDI6IHRoaXMuc3RyZWV0MkZDLFxyXG4gICAgICBjaXR5OiB0aGlzLmNpdHlGQyxcclxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGVGQyxcclxuICAgICAgemlwQ29kZTogdGhpcy56aXBDb2RlRkNcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGRztcclxuICB9XHJcblxyXG4gIC8qKiBNYXBzIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzICovXHJcbiAgcHVibGljIGdldEFkZHJlc3MoKTogQWRkcmVzcyB7XHJcbiAgICBpZiAoIXRoaXMuYWRkcmVzc0ZHLnZhbGlkKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY291bnR5OiBDb3VudHkgPSB7XHJcbiAgICAgIHppcENvZGU6IHRoaXMuemlwQ29kZUZDLnZhbHVlLFxyXG4gICAgICBzdGF0ZTogdGhpcy5zdGF0ZUZDLnZhbHVlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgYWRkcmVzczogQWRkcmVzcyA9IHtcclxuICAgICAgc3RyZWV0MTogdGhpcy5zdHJlZXQxRkMudmFsdWUsXHJcbiAgICAgIHN0cmVldDI6IHRoaXMuc3RyZWV0MkZDLnZhbHVlLFxyXG4gICAgICBjaXR5OiB0aGlzLmNpdHlGQy52YWx1ZSxcclxuICAgICAgY291bnR5XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBhZGRyZXNzO1xyXG4gIH1cclxuXHJcbiAgLyoqIENoZWNrcyBpZiB0aGUgZm9ybSBpcyB2YWxpZCAqL1xyXG4gIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0ZHICYmIHRoaXMuYWRkcmVzc0ZHLnZhbGlkO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHAgY2xhc3M9XCJhZGRyZXNzLXRpdGxlXCIgKm5nSWY9XCJ0aXRsZVZlcmJpYWdlICYmIHRpdGxlVmVyYmlhZ2UgIT0gJydcIiBbaW5uZXJIdG1sXT1cInRpdGxlVmVyYmlhZ2VcIj48L3A+XHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwiYWRkcmVzc0ZHXCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvdyB3cmFwXCIgZnhMYXlvdXRHYXA9XCIxJSBncmlkXCI+XHJcbiAgICA8IS0tIEFkZHJlc3MgMSAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZHJlc3MtaW5wdXRcIiBmeEZsZXg9XCJhdXRvXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzdHJlZXQxXCIgaWQ9XCJ7e2lkfX1zdHJlZXQxXCIgcGxhY2Vob2xkZXI9XCJ7e3N0cmVldDFWZXJiaWFnZX19XCIgcmVxdWlyZWQ+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJzdHJlZXQxRkM/LmVycm9ycz8ucmVxdWlyZWRcIj57e3JlcXVpcmVkRXJyb3JWZXJiaWFnZX19PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPCEtLSBBZGRyZXNzIDIgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGRyZXNzLWlucHV0XCIgZnhGbGV4PVwiYXV0b1wiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic3RyZWV0MlwiIGlkPVwie3tpZH19c3RyZWV0MlwiIHBsYWNlaG9sZGVyPVwie3tzdHJlZXQyVmVyYmlhZ2V9fVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dEdhcD1cIjElXCI+XHJcbiAgICA8IS0tIENpdHkgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiNDkuNSVcIiBmeEZsZXgubHQtbWQ9XCI2MCVcIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImNpdHlcIiBpZD1cInt7aWR9fWNpdHlcIiBwbGFjZWhvbGRlcj1cInt7Y2l0eVZlcmJpYWdlfX1cIiByZXF1aXJlZD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImNpdHlGQz8uZXJyb3JzPy5yZXF1aXJlZFwiPnt7cmVxdWlyZWRFcnJvclZlcmJpYWdlfX08L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8IS0tIFN0YXRlIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjIwJVwiIGZ4RmxleC5sdC1tZD1cImF1dG9cIj5cclxuICAgICAgPG1hdC1sYWJlbD57e3N0YXRlVmVyYmlhZ2V9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzdGF0ZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdGF0ZSBvZiBzdGF0ZXNcIiBpZD1cInt7aWR9fXt7c3RhdGV9fVwiIFt2YWx1ZV09XCJzdGF0ZVwiPnt7c3RhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwic3RhdGVGQz8uZXJyb3JzPy5yZXF1aXJlZFwiPnt7cmVxdWlyZWRFcnJvclZlcmJpYWdlfX08L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8IS0tIFppcCBDb2RlIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjI4LjUlXCIgZnhGbGV4Lmx0LW1kPVwiNTAlXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ6aXBDb2RlXCIgaWQ9XCJ7e2lkfX16aXBDb2RlXCIgbWFzaz1cIjAwMDAwXCIgW3NvZkFyTnVtYmVyc09ubHldXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3ppcENvZGVWZXJiaWFnZX19XCIgcmVxdWlyZWQgbWlubGVuZ3RoPVwiNVwiIG1heGxlbmd0aD1cIjVcIj5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiemlwQ29kZUZDPy5lcnJvcnM/LnJlcXVpcmVkXCI+e3tyZXF1aXJlZEVycm9yVmVyYmlhZ2V9fTwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { FormControl, Validators } from '@angular/forms';
|
|
3
|
+
import { States } from '../../models/enums/states';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/flex-layout/flex";
|
|
8
|
+
import * as i4 from "@angular/material/input";
|
|
9
|
+
import * as i5 from "@angular/material/form-field";
|
|
10
|
+
import * as i6 from "@angular/material/select";
|
|
11
|
+
import * as i7 from "@angular/material/core";
|
|
12
|
+
import * as i8 from "../../directives/numbers-only/numbers-only.directive";
|
|
13
|
+
/** Address component */
|
|
14
|
+
export class SofAddressComponent {
|
|
15
|
+
/**
|
|
16
|
+
* Constructor for the component
|
|
17
|
+
* @param formBuilder The form builder
|
|
18
|
+
*/
|
|
19
|
+
constructor(formBuilder) {
|
|
20
|
+
this.formBuilder = formBuilder;
|
|
21
|
+
/** Identifier for this address component */
|
|
22
|
+
this.id = '';
|
|
23
|
+
/** Verbiage for street 1 */
|
|
24
|
+
this.street1Verbiage = 'Street 1';
|
|
25
|
+
/** Verbiage for street 2 */
|
|
26
|
+
this.street2Verbiage = 'Street 2';
|
|
27
|
+
/** Verbiage for city */
|
|
28
|
+
this.cityVerbiage = 'City';
|
|
29
|
+
/** Verbiage for ZIP Code */
|
|
30
|
+
this.zipCodeVerbiage = 'Zip Code';
|
|
31
|
+
/** Verbiage for the state input */
|
|
32
|
+
this.stateVerbiage = 'State';
|
|
33
|
+
/** Verbiage for the required input verbiage */
|
|
34
|
+
this.requiredErrorVerbiage = 'Field is required';
|
|
35
|
+
/** The state options */
|
|
36
|
+
this.states = Object.keys(States);
|
|
37
|
+
/** Form control for street 1 */
|
|
38
|
+
this.street1FC = new FormControl(undefined, Validators.required);
|
|
39
|
+
/** Form control for street 2 */
|
|
40
|
+
this.street2FC = new FormControl();
|
|
41
|
+
/** Form control for city */
|
|
42
|
+
this.cityFC = new FormControl(undefined, Validators.required);
|
|
43
|
+
/** Form control for state */
|
|
44
|
+
this.stateFC = new FormControl(undefined, Validators.required);
|
|
45
|
+
/** Form control for zip code */
|
|
46
|
+
this.zipCodeFC = new FormControl(undefined, [Validators.required, Validators.maxLength(5), Validators.minLength(5)]);
|
|
47
|
+
}
|
|
48
|
+
/** Actions to take upon initialization */
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
this.createAddressGroup();
|
|
51
|
+
}
|
|
52
|
+
/** Creates the address form group */
|
|
53
|
+
createAddressGroup() {
|
|
54
|
+
if (this.addressFG) {
|
|
55
|
+
return this.addressFG;
|
|
56
|
+
}
|
|
57
|
+
this.addressFG = this.formBuilder.group({
|
|
58
|
+
street1: this.street1FC,
|
|
59
|
+
street2: this.street2FC,
|
|
60
|
+
city: this.cityFC,
|
|
61
|
+
state: this.stateFC,
|
|
62
|
+
zipCode: this.zipCodeFC
|
|
63
|
+
});
|
|
64
|
+
return this.addressFG;
|
|
65
|
+
}
|
|
66
|
+
/** Maps and returns the address */
|
|
67
|
+
getAddress() {
|
|
68
|
+
if (!this.addressFG.valid) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const county = {
|
|
72
|
+
zipCode: this.zipCodeFC.value,
|
|
73
|
+
state: this.stateFC.value
|
|
74
|
+
};
|
|
75
|
+
const address = {
|
|
76
|
+
street1: this.street1FC.value,
|
|
77
|
+
street2: this.street2FC.value,
|
|
78
|
+
city: this.cityFC.value,
|
|
79
|
+
county
|
|
80
|
+
};
|
|
81
|
+
return address;
|
|
82
|
+
}
|
|
83
|
+
/** Checks if the form is valid */
|
|
84
|
+
isValid() {
|
|
85
|
+
return this.addressFG && this.addressFG.valid;
|
|
86
|
+
}
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SofAddressComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SofAddressComponent, selector: "sof-ar-address", inputs: { id: "id", street1Verbiage: "street1Verbiage", street2Verbiage: "street2Verbiage", cityVerbiage: "cityVerbiage", zipCodeVerbiage: "zipCodeVerbiage", stateVerbiage: "stateVerbiage", titleVerbiage: "titleVerbiage", requiredErrorVerbiage: "requiredErrorVerbiage" }, ngImport: i0, template: "<p class=\"address-title\" *ngIf=\"titleVerbiage && titleVerbiage != ''\" [innerHtml]=\"titleVerbiage\"></p>\r\n<form [formGroup]=\"addressFG\">\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1% grid\">\r\n <!-- Address 1 -->\r\n <mat-form-field class=\"address-input\" fxFlex=\"auto\">\r\n <input matInput formControlName=\"street1\" id=\"{{id}}street1\" placeholder=\"{{street1Verbiage}}\" required>\r\n <mat-error *ngIf=\"street1FC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- Address 2 -->\r\n <mat-form-field class=\"address-input\" fxFlex=\"auto\">\r\n <input matInput formControlName=\"street2\" id=\"{{id}}street2\" placeholder=\"{{street2Verbiage}}\">\r\n </mat-form-field>\r\n </div>\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1%\">\r\n <!-- City -->\r\n <mat-form-field fxFlex=\"49.5%\" fxFlex.lt-md=\"60%\">\r\n <input matInput formControlName=\"city\" id=\"{{id}}city\" placeholder=\"{{cityVerbiage}}\" required>\r\n <mat-error *ngIf=\"cityFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- State -->\r\n <mat-form-field fxFlex=\"20%\" fxFlex.lt-md=\"auto\">\r\n <mat-label>{{stateVerbiage}}</mat-label>\r\n <mat-select formControlName=\"state\" required>\r\n <mat-option *ngFor=\"let state of states\" id=\"{{id}}{{state}}\" [value]=\"state\">{{state}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"stateFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- Zip Code -->\r\n <mat-form-field fxFlex=\"28.5%\" fxFlex.lt-md=\"50%\">\r\n <input matInput formControlName=\"zipCode\" id=\"{{id}}zipCode\" mask=\"00000\" [sofArNumbersOnly]\r\n placeholder=\"{{zipCodeVerbiage}}\" required minlength=\"5\" maxlength=\"5\">\r\n <mat-error *ngIf=\"zipCodeFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n</form>\r\n", styles: [".address-input{min-width:350px}.address-title{font-size:large}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i8.NumbersOnlyDirective, selector: "[sofArNumbersOnly]", inputs: ["sofArNumbersOnly"] }] }); }
|
|
89
|
+
}
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SofAddressComponent, decorators: [{
|
|
91
|
+
type: Component,
|
|
92
|
+
args: [{ selector: 'sof-ar-address', template: "<p class=\"address-title\" *ngIf=\"titleVerbiage && titleVerbiage != ''\" [innerHtml]=\"titleVerbiage\"></p>\r\n<form [formGroup]=\"addressFG\">\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1% grid\">\r\n <!-- Address 1 -->\r\n <mat-form-field class=\"address-input\" fxFlex=\"auto\">\r\n <input matInput formControlName=\"street1\" id=\"{{id}}street1\" placeholder=\"{{street1Verbiage}}\" required>\r\n <mat-error *ngIf=\"street1FC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- Address 2 -->\r\n <mat-form-field class=\"address-input\" fxFlex=\"auto\">\r\n <input matInput formControlName=\"street2\" id=\"{{id}}street2\" placeholder=\"{{street2Verbiage}}\">\r\n </mat-form-field>\r\n </div>\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1%\">\r\n <!-- City -->\r\n <mat-form-field fxFlex=\"49.5%\" fxFlex.lt-md=\"60%\">\r\n <input matInput formControlName=\"city\" id=\"{{id}}city\" placeholder=\"{{cityVerbiage}}\" required>\r\n <mat-error *ngIf=\"cityFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- State -->\r\n <mat-form-field fxFlex=\"20%\" fxFlex.lt-md=\"auto\">\r\n <mat-label>{{stateVerbiage}}</mat-label>\r\n <mat-select formControlName=\"state\" required>\r\n <mat-option *ngFor=\"let state of states\" id=\"{{id}}{{state}}\" [value]=\"state\">{{state}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"stateFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n <!-- Zip Code -->\r\n <mat-form-field fxFlex=\"28.5%\" fxFlex.lt-md=\"50%\">\r\n <input matInput formControlName=\"zipCode\" id=\"{{id}}zipCode\" mask=\"00000\" [sofArNumbersOnly]\r\n placeholder=\"{{zipCodeVerbiage}}\" required minlength=\"5\" maxlength=\"5\">\r\n <mat-error *ngIf=\"zipCodeFC?.errors?.required\">{{requiredErrorVerbiage}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n</form>\r\n", styles: [".address-input{min-width:350px}.address-title{font-size:large}\n"] }]
|
|
93
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { id: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], street1Verbiage: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], street2Verbiage: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], cityVerbiage: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], zipCodeVerbiage: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], stateVerbiage: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], titleVerbiage: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], requiredErrorVerbiage: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}] } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mLWFkZHJlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9mb3Jtcy9jb21wb25lbnRzL3NvZi1hZGRyZXNzL3NvZi1hZGRyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvZm9ybXMvY29tcG9uZW50cy9zb2YtYWRkcmVzcy9zb2YtYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBMEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7QUFJbkQsd0JBQXdCO0FBTXhCLE1BQU0sT0FBTyxtQkFBbUI7SUFrRDlCOzs7T0FHRztJQUNILFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBcERyRCw0Q0FBNEM7UUFDNUIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUVoQyw0QkFBNEI7UUFDWixvQkFBZSxHQUFXLFVBQVUsQ0FBQztRQUVyRCw0QkFBNEI7UUFDWixvQkFBZSxHQUFXLFVBQVUsQ0FBQztRQUVyRCx3QkFBd0I7UUFDUixpQkFBWSxHQUFXLE1BQU0sQ0FBQztRQUU5Qyw0QkFBNEI7UUFDWixvQkFBZSxHQUFXLFVBQVUsQ0FBQztRQUVyRCxtQ0FBbUM7UUFDbkIsa0JBQWEsR0FBVyxPQUFPLENBQUM7UUFLaEQsK0NBQStDO1FBQy9CLDBCQUFxQixHQUFXLG1CQUFtQixDQUFDO1FBS3BFLHdCQUF3QjtRQUNSLFdBQU0sR0FBa0IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1RCxnQ0FBZ0M7UUFDaEIsY0FBUyxHQUFnQixJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpGLGdDQUFnQztRQUNmLGNBQVMsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUU1RCw0QkFBNEI7UUFDWixXQUFNLEdBQWdCLElBQUksV0FBVyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEYsNkJBQTZCO1FBQ2IsWUFBTyxHQUFnQixJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZGLGdDQUFnQztRQUNoQixjQUFTLEdBQWdCLElBQUksV0FBVyxDQUN0RCxTQUFTLEVBQ1QsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN4RSxDQUFDO0lBTXVELENBQUM7SUFFMUQsMENBQTBDO0lBQ25DLFFBQVE7UUFDYixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQscUNBQXFDO0lBQzlCLGtCQUFrQjtRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQ3hCLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsbUNBQW1DO0lBQzVCLFVBQVU7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDekIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxNQUFNLE1BQU0sR0FBVztZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7U0FDMUIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFZO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUs7WUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3ZCLE1BQU07U0FDUCxDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGtDQUFrQztJQUMzQixPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7OEdBckdVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHNVQ2JoQyxvK0RBbUNBOzsyRkR0QmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGdCQUFnQjtnRkFPVixFQUFFO3NCQUFqQixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBR1UsZUFBZTtzQkFBOUIsS0FBSztnQkFHVSxZQUFZO3NCQUEzQixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBR1UsYUFBYTtzQkFBNUIsS0FBSztnQkFHVSxhQUFhO3NCQUE1QixLQUFLO2dCQUdVLHFCQUFxQjtzQkFBcEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFN0YXRlcyB9IGZyb20gJy4uLy4uL21vZGVscy9lbnVtcy9zdGF0ZXMnO1xyXG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MnO1xyXG5pbXBvcnQgeyBDb3VudHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvY291bnR5JztcclxuXHJcbi8qKiBBZGRyZXNzIGNvbXBvbmVudCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1hci1hZGRyZXNzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc29mLWFkZHJlc3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NvZi1hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNvZkFkZHJlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogSWRlbnRpZmllciBmb3IgdGhpcyBhZGRyZXNzIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBWZXJiaWFnZSBmb3Igc3RyZWV0IDEgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc3RyZWV0MVZlcmJpYWdlOiBzdHJpbmcgPSAnU3RyZWV0IDEnO1xyXG5cclxuICAvKiogVmVyYmlhZ2UgZm9yIHN0cmVldCAyICovXHJcbiAgQElucHV0KCkgcHVibGljIHN0cmVldDJWZXJiaWFnZTogc3RyaW5nID0gJ1N0cmVldCAyJztcclxuXHJcbiAgLyoqIFZlcmJpYWdlIGZvciBjaXR5ICovXHJcbiAgQElucHV0KCkgcHVibGljIGNpdHlWZXJiaWFnZTogc3RyaW5nID0gJ0NpdHknO1xyXG5cclxuICAvKiogVmVyYmlhZ2UgZm9yIFpJUCBDb2RlICovXHJcbiAgQElucHV0KCkgcHVibGljIHppcENvZGVWZXJiaWFnZTogc3RyaW5nID0gJ1ppcCBDb2RlJztcclxuXHJcbiAgLyoqIFZlcmJpYWdlIGZvciB0aGUgc3RhdGUgaW5wdXQgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc3RhdGVWZXJiaWFnZTogc3RyaW5nID0gJ1N0YXRlJztcclxuXHJcbiAgLyoqIFZlcmJpYWdlIGZvciB0aGUgdGl0bGUgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdGl0bGVWZXJiaWFnZTogc3RyaW5nO1xyXG5cclxuICAvKiogVmVyYmlhZ2UgZm9yIHRoZSByZXF1aXJlZCBpbnB1dCB2ZXJiaWFnZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZEVycm9yVmVyYmlhZ2U6IHN0cmluZyA9ICdGaWVsZCBpcyByZXF1aXJlZCc7XHJcblxyXG4gIC8qKiBBZGRyZXNzIEZvcm0gZ3JvdXAgKi9cclxuICBwdWJsaWMgYWRkcmVzc0ZHOiBGb3JtR3JvdXA7XHJcblxyXG4gIC8qKiBUaGUgc3RhdGUgb3B0aW9ucyAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZXM6IEFycmF5PHN0cmluZz4gPSBPYmplY3Qua2V5cyhTdGF0ZXMpO1xyXG5cclxuICAvKiogRm9ybSBjb250cm9sIGZvciBzdHJlZXQgMSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBzdHJlZXQxRkM6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHVuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblxyXG4gIC8qKiBGb3JtIGNvbnRyb2wgZm9yIHN0cmVldCAyICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBzdHJlZXQyRkM6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG4gIC8qKiBGb3JtIGNvbnRyb2wgZm9yIGNpdHkgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgY2l0eUZDOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAvKiogRm9ybSBjb250cm9sIGZvciBzdGF0ZSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZUZDOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAvKiogRm9ybSBjb250cm9sIGZvciB6aXAgY29kZSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSB6aXBDb2RlRkM6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKFxyXG4gICAgdW5kZWZpbmVkLFxyXG4gICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KV1cclxuICApO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvciBmb3IgdGhlIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBmb3JtQnVpbGRlciBUaGUgZm9ybSBidWlsZGVyXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHsgfVxyXG5cclxuICAvKiogQWN0aW9ucyB0byB0YWtlIHVwb24gaW5pdGlhbGl6YXRpb24gKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZUFkZHJlc3NHcm91cCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENyZWF0ZXMgdGhlIGFkZHJlc3MgZm9ybSBncm91cCAqL1xyXG4gIHB1YmxpYyBjcmVhdGVBZGRyZXNzR3JvdXAoKTogRm9ybUdyb3VwIHtcclxuICAgIGlmICh0aGlzLmFkZHJlc3NGRykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hZGRyZXNzRkc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hZGRyZXNzRkcgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgc3RyZWV0MTogdGhpcy5zdHJlZXQxRkMsXHJcbiAgICAgIHN0cmVldDI6IHRoaXMuc3RyZWV0MkZDLFxyXG4gICAgICBjaXR5OiB0aGlzLmNpdHlGQyxcclxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGVGQyxcclxuICAgICAgemlwQ29kZTogdGhpcy56aXBDb2RlRkNcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGRztcclxuICB9XHJcblxyXG4gIC8qKiBNYXBzIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzICovXHJcbiAgcHVibGljIGdldEFkZHJlc3MoKTogQWRkcmVzcyB7XHJcbiAgICBpZiAoIXRoaXMuYWRkcmVzc0ZHLnZhbGlkKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY291bnR5OiBDb3VudHkgPSB7XHJcbiAgICAgIHppcENvZGU6IHRoaXMuemlwQ29kZUZDLnZhbHVlLFxyXG4gICAgICBzdGF0ZTogdGhpcy5zdGF0ZUZDLnZhbHVlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgYWRkcmVzczogQWRkcmVzcyA9IHtcclxuICAgICAgc3RyZWV0MTogdGhpcy5zdHJlZXQxRkMudmFsdWUsXHJcbiAgICAgIHN0cmVldDI6IHRoaXMuc3RyZWV0MkZDLnZhbHVlLFxyXG4gICAgICBjaXR5OiB0aGlzLmNpdHlGQy52YWx1ZSxcclxuICAgICAgY291bnR5XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBhZGRyZXNzO1xyXG4gIH1cclxuXHJcbiAgLyoqIENoZWNrcyBpZiB0aGUgZm9ybSBpcyB2YWxpZCAqL1xyXG4gIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0ZHICYmIHRoaXMuYWRkcmVzc0ZHLnZhbGlkO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHAgY2xhc3M9XCJhZGRyZXNzLXRpdGxlXCIgKm5nSWY9XCJ0aXRsZVZlcmJpYWdlICYmIHRpdGxlVmVyYmlhZ2UgIT0gJydcIiBbaW5uZXJIdG1sXT1cInRpdGxlVmVyYmlhZ2VcIj48L3A+XHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwiYWRkcmVzc0ZHXCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvdyB3cmFwXCIgZnhMYXlvdXRHYXA9XCIxJSBncmlkXCI+XHJcbiAgICA8IS0tIEFkZHJlc3MgMSAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZHJlc3MtaW5wdXRcIiBmeEZsZXg9XCJhdXRvXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzdHJlZXQxXCIgaWQ9XCJ7e2lkfX1zdHJlZXQxXCIgcGxhY2Vob2xkZXI9XCJ7e3N0cmVldDFWZXJiaWFnZX19XCIgcmVxdWlyZWQ+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJzdHJlZXQxRkM/LmVycm9ycz8ucmVxdWlyZWRcIj57e3JlcXVpcmVkRXJyb3JWZXJiaWFnZX19PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPCEtLSBBZGRyZXNzIDIgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGRyZXNzLWlucHV0XCIgZnhGbGV4PVwiYXV0b1wiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic3RyZWV0MlwiIGlkPVwie3tpZH19c3RyZWV0MlwiIHBsYWNlaG9sZGVyPVwie3tzdHJlZXQyVmVyYmlhZ2V9fVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dEdhcD1cIjElXCI+XHJcbiAgICA8IS0tIENpdHkgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiNDkuNSVcIiBmeEZsZXgubHQtbWQ9XCI2MCVcIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImNpdHlcIiBpZD1cInt7aWR9fWNpdHlcIiBwbGFjZWhvbGRlcj1cInt7Y2l0eVZlcmJpYWdlfX1cIiByZXF1aXJlZD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImNpdHlGQz8uZXJyb3JzPy5yZXF1aXJlZFwiPnt7cmVxdWlyZWRFcnJvclZlcmJpYWdlfX08L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8IS0tIFN0YXRlIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjIwJVwiIGZ4RmxleC5sdC1tZD1cImF1dG9cIj5cclxuICAgICAgPG1hdC1sYWJlbD57e3N0YXRlVmVyYmlhZ2V9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzdGF0ZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdGF0ZSBvZiBzdGF0ZXNcIiBpZD1cInt7aWR9fXt7c3RhdGV9fVwiIFt2YWx1ZV09XCJzdGF0ZVwiPnt7c3RhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwic3RhdGVGQz8uZXJyb3JzPy5yZXF1aXJlZFwiPnt7cmVxdWlyZWRFcnJvclZlcmJpYWdlfX08L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8IS0tIFppcCBDb2RlIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjI4LjUlXCIgZnhGbGV4Lmx0LW1kPVwiNTAlXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ6aXBDb2RlXCIgaWQ9XCJ7e2lkfX16aXBDb2RlXCIgbWFzaz1cIjAwMDAwXCIgW3NvZkFyTnVtYmVyc09ubHldXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3ppcENvZGVWZXJiaWFnZX19XCIgcmVxdWlyZWQgbWlubGVuZ3RoPVwiNVwiIG1heGxlbmd0aD1cIjVcIj5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiemlwQ29kZUZDPy5lcnJvcnM/LnJlcXVpcmVkXCI+e3tyZXF1aXJlZEVycm9yVmVyYmlhZ2V9fTwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
import { Directive, HostListener } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* The alphanumeric directive
|
|
5
|
-
*/
|
|
6
|
-
export class AlphaNumericDirective {
|
|
7
|
-
/**
|
|
8
|
-
* Constructs the directive
|
|
9
|
-
* @param el The element
|
|
10
|
-
*/
|
|
11
|
-
constructor(el) {
|
|
12
|
-
this.el = el;
|
|
13
|
-
/** The array of allowed keys */
|
|
14
|
-
this.allowedKeys = ['backspace', 'delete', 'escape', 'enter', 'tab'];
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Only allows alphanumeric inputs
|
|
18
|
-
* @param event Key Event
|
|
19
|
-
*/
|
|
20
|
-
onKeyDown(event) {
|
|
21
|
-
const e = event;
|
|
22
|
-
// Reset values each time
|
|
23
|
-
this.isNumber = false;
|
|
24
|
-
this.isLetter = false;
|
|
25
|
-
if (this.allowedKeys.indexOf(e.code.toLowerCase()) !== -1 ||
|
|
26
|
-
// Allow: Ctrl+A
|
|
27
|
-
(e.code.toLowerCase() === 'keya' && e.ctrlKey) ||
|
|
28
|
-
// Allow: Ctrl+C
|
|
29
|
-
(e.code.toLowerCase() === 'keyc' && e.ctrlKey) ||
|
|
30
|
-
// Allow: Ctrl+X
|
|
31
|
-
(e.code.toLowerCase() === 'keyx' && e.ctrlKey)) {
|
|
32
|
-
// let it happen, don't do anything
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
// Ensure that it is a letter and stop the keypress if its not a letter
|
|
36
|
-
if (e.code.toLowerCase().includes('digit') || e.code.toLowerCase().includes('numpad')) {
|
|
37
|
-
this.isLetter = false;
|
|
38
|
-
this.isNumber = true;
|
|
39
|
-
}
|
|
40
|
-
// Ensure that it is a number and stop the keypress
|
|
41
|
-
let letterRegexMatch = e.code.toLowerCase().match(/key[a-zA-Z]/g);
|
|
42
|
-
if (letterRegexMatch) {
|
|
43
|
-
this.isNumber = false;
|
|
44
|
-
this.isLetter = true;
|
|
45
|
-
}
|
|
46
|
-
// If the event is shift key and its not with a letter, its going to be a special character we want to prevent
|
|
47
|
-
if (e.shiftKey && !letterRegexMatch) {
|
|
48
|
-
this.isNumber = false;
|
|
49
|
-
this.isLetter = false;
|
|
50
|
-
}
|
|
51
|
-
// Ensure that it is either a letter or a number
|
|
52
|
-
if (!this.isLetter && !this.isNumber) {
|
|
53
|
-
e.preventDefault();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Prevent copy pasted inputs
|
|
58
|
-
* @param event the event
|
|
59
|
-
*/
|
|
60
|
-
blockPaste(event) {
|
|
61
|
-
event.preventDefault();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
-
type: Directive,
|
|
68
|
-
args: [{
|
|
69
|
-
selector: '[alphanumeric]'
|
|
70
|
-
}]
|
|
71
|
-
}], ctorParameters:
|
|
72
|
-
type: HostListener,
|
|
73
|
-
args: ['keydown', ['$event']]
|
|
74
|
-
}], blockPaste: [{
|
|
75
|
-
type: HostListener,
|
|
76
|
-
args: ['paste', ['$event']]
|
|
77
|
-
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Directive, HostListener } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* The alphanumeric directive
|
|
5
|
+
*/
|
|
6
|
+
export class AlphaNumericDirective {
|
|
7
|
+
/**
|
|
8
|
+
* Constructs the directive
|
|
9
|
+
* @param el The element
|
|
10
|
+
*/
|
|
11
|
+
constructor(el) {
|
|
12
|
+
this.el = el;
|
|
13
|
+
/** The array of allowed keys */
|
|
14
|
+
this.allowedKeys = ['backspace', 'delete', 'escape', 'enter', 'tab'];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Only allows alphanumeric inputs
|
|
18
|
+
* @param event Key Event
|
|
19
|
+
*/
|
|
20
|
+
onKeyDown(event) {
|
|
21
|
+
const e = event;
|
|
22
|
+
// Reset values each time
|
|
23
|
+
this.isNumber = false;
|
|
24
|
+
this.isLetter = false;
|
|
25
|
+
if (this.allowedKeys.indexOf(e.code.toLowerCase()) !== -1 ||
|
|
26
|
+
// Allow: Ctrl+A
|
|
27
|
+
(e.code.toLowerCase() === 'keya' && e.ctrlKey) ||
|
|
28
|
+
// Allow: Ctrl+C
|
|
29
|
+
(e.code.toLowerCase() === 'keyc' && e.ctrlKey) ||
|
|
30
|
+
// Allow: Ctrl+X
|
|
31
|
+
(e.code.toLowerCase() === 'keyx' && e.ctrlKey)) {
|
|
32
|
+
// let it happen, don't do anything
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// Ensure that it is a letter and stop the keypress if its not a letter
|
|
36
|
+
if (e.code.toLowerCase().includes('digit') || e.code.toLowerCase().includes('numpad')) {
|
|
37
|
+
this.isLetter = false;
|
|
38
|
+
this.isNumber = true;
|
|
39
|
+
}
|
|
40
|
+
// Ensure that it is a number and stop the keypress
|
|
41
|
+
let letterRegexMatch = e.code.toLowerCase().match(/key[a-zA-Z]/g);
|
|
42
|
+
if (letterRegexMatch) {
|
|
43
|
+
this.isNumber = false;
|
|
44
|
+
this.isLetter = true;
|
|
45
|
+
}
|
|
46
|
+
// If the event is shift key and its not with a letter, its going to be a special character we want to prevent
|
|
47
|
+
if (e.shiftKey && !letterRegexMatch) {
|
|
48
|
+
this.isNumber = false;
|
|
49
|
+
this.isLetter = false;
|
|
50
|
+
}
|
|
51
|
+
// Ensure that it is either a letter or a number
|
|
52
|
+
if (!this.isLetter && !this.isNumber) {
|
|
53
|
+
e.preventDefault();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Prevent copy pasted inputs
|
|
58
|
+
* @param event the event
|
|
59
|
+
*/
|
|
60
|
+
blockPaste(event) {
|
|
61
|
+
event.preventDefault();
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AlphaNumericDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
64
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: AlphaNumericDirective, selector: "[alphanumeric]", host: { listeners: { "keydown": "onKeyDown($event)", "paste": "blockPaste($event)" } }, ngImport: i0 }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AlphaNumericDirective, decorators: [{
|
|
67
|
+
type: Directive,
|
|
68
|
+
args: [{
|
|
69
|
+
selector: '[alphanumeric]'
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onKeyDown: [{
|
|
72
|
+
type: HostListener,
|
|
73
|
+
args: ['keydown', ['$event']]
|
|
74
|
+
}], blockPaste: [{
|
|
75
|
+
type: HostListener,
|
|
76
|
+
args: ['paste', ['$event']]
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGFudW1lcmljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvZm9ybXMvZGlyZWN0aXZlcy9hbHBoYW51bWVyaWMvYWxwaGFudW1lcmljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFcEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBV2hDOzs7T0FHRztJQUNILFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBYmxDLGdDQUFnQztRQUN4QixnQkFBVyxHQUFrQixDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQVlqRCxDQUFDO0lBRXZDOzs7T0FHRztJQUNrQyxTQUFTLENBQUMsS0FBb0I7UUFDakUsTUFBTSxDQUFDLEdBQUcsS0FBc0IsQ0FBQztRQUVqQyx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELGdCQUFnQjtZQUNoQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDOUMsZ0JBQWdCO1lBQ2hCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUM5QyxnQkFBZ0I7WUFDaEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDaEQsbUNBQW1DO1lBQ25DLE9BQU87U0FDUjtRQUNELHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JGLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO1FBQ0QsbURBQW1EO1FBQ25ELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEUsSUFBSSxnQkFBZ0IsRUFBRTtZQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUNELDhHQUE4RztRQUM5RyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDcEMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNnQyxVQUFVLENBQUMsS0FBb0I7UUFDaEUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBbEVVLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOytFQXNCc0MsU0FBUztzQkFBN0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkNBLFVBQVU7c0JBQTVDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgYWxwaGFudW1lcmljIGRpcmVjdGl2ZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYWxwaGFudW1lcmljXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFscGhhTnVtZXJpY0RpcmVjdGl2ZSB7XHJcblxyXG4gIC8qKiBUaGUgYXJyYXkgb2YgYWxsb3dlZCBrZXlzICovXHJcbiAgcHJpdmF0ZSBhbGxvd2VkS2V5czogQXJyYXk8c3RyaW5nPiA9IFsnYmFja3NwYWNlJywgJ2RlbGV0ZScsICdlc2NhcGUnLCAnZW50ZXInLCAndGFiJ107XHJcblxyXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgZW50ZXJlZCB2YWx1ZSBpcyBhIGxldHRlciAqL1xyXG4gIHByaXZhdGUgaXNMZXR0ZXI6IGJvb2xlYW47XHJcblxyXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgZW50ZXJlZCB2YWx1ZSBpcyBhIG51bWJlciAqL1xyXG4gIHByaXZhdGUgaXNOdW1iZXI6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIGRpcmVjdGl2ZVxyXG4gICAqIEBwYXJhbSBlbCBUaGUgZWxlbWVudFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBPbmx5IGFsbG93cyBhbHBoYW51bWVyaWMgaW5wdXRzXHJcbiAgICogQHBhcmFtIGV2ZW50IEtleSBFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGUgPSBldmVudCBhcyBLZXlib2FyZEV2ZW50O1xyXG5cclxuICAgIC8vIFJlc2V0IHZhbHVlcyBlYWNoIHRpbWVcclxuICAgIHRoaXMuaXNOdW1iZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMZXR0ZXIgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAodGhpcy5hbGxvd2VkS2V5cy5pbmRleE9mKGUuY29kZS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEgfHxcclxuICAgICAgLy8gQWxsb3c6IEN0cmwrQVxyXG4gICAgICAoZS5jb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdrZXlhJyAmJiBlLmN0cmxLZXkpIHx8XHJcbiAgICAgIC8vIEFsbG93OiBDdHJsK0NcclxuICAgICAgKGUuY29kZS50b0xvd2VyQ2FzZSgpID09PSAna2V5YycgJiYgZS5jdHJsS2V5KSB8fFxyXG4gICAgICAvLyBBbGxvdzogQ3RybCtYXHJcbiAgICAgIChlLmNvZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2tleXgnICYmIGUuY3RybEtleSkpIHtcclxuICAgICAgLy8gbGV0IGl0IGhhcHBlbiwgZG9uJ3QgZG8gYW55dGhpbmdcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gRW5zdXJlIHRoYXQgaXQgaXMgYSBsZXR0ZXIgYW5kIHN0b3AgdGhlIGtleXByZXNzIGlmIGl0cyBub3QgYSBsZXR0ZXJcclxuICAgIGlmIChlLmNvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGlnaXQnKSB8fCBlLmNvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnbnVtcGFkJykpIHtcclxuICAgICAgdGhpcy5pc0xldHRlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzTnVtYmVyID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8vIEVuc3VyZSB0aGF0IGl0IGlzIGEgbnVtYmVyIGFuZCBzdG9wIHRoZSBrZXlwcmVzc1xyXG4gICAgbGV0IGxldHRlclJlZ2V4TWF0Y2ggPSBlLmNvZGUudG9Mb3dlckNhc2UoKS5tYXRjaCgva2V5W2EtekEtWl0vZyk7XHJcbiAgICBpZiAobGV0dGVyUmVnZXhNYXRjaCkge1xyXG4gICAgICB0aGlzLmlzTnVtYmVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNMZXR0ZXIgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy8gSWYgdGhlIGV2ZW50IGlzIHNoaWZ0IGtleSBhbmQgaXRzIG5vdCB3aXRoIGEgbGV0dGVyLCBpdHMgZ29pbmcgdG8gYmUgYSBzcGVjaWFsIGNoYXJhY3RlciB3ZSB3YW50IHRvIHByZXZlbnRcclxuICAgIGlmIChlLnNoaWZ0S2V5ICYmICFsZXR0ZXJSZWdleE1hdGNoKSB7XHJcbiAgICAgIHRoaXMuaXNOdW1iZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc0xldHRlciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgLy8gRW5zdXJlIHRoYXQgaXQgaXMgZWl0aGVyIGEgbGV0dGVyIG9yIGEgbnVtYmVyXHJcbiAgICBpZiAoIXRoaXMuaXNMZXR0ZXIgJiYgIXRoaXMuaXNOdW1iZXIpIHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJldmVudCBjb3B5IHBhc3RlZCBpbnB1dHNcclxuICAgKiBAcGFyYW0gZXZlbnQgdGhlIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcigncGFzdGUnLCBbJyRldmVudCddKSBibG9ja1Bhc3RlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|