@hmcts/rpx-xui-common-lib 2.0.19 → 2.0.21
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 +1 -1
- package/esm2022/lib/components/accessibility/accessibility.component.mjs +725 -0
- package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +232 -0
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +104 -0
- package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +151 -0
- package/esm2022/lib/components/due-date/due-date.component.mjs +141 -0
- package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +80 -0
- package/esm2022/lib/components/find-location/find-location.component.mjs +220 -0
- package/esm2022/lib/components/find-person/find-person.component.mjs +234 -0
- package/esm2022/lib/components/find-service/find-service.component.mjs +193 -0
- package/{esm2020 → esm2022}/lib/components/find-task-name/find-task-name.component.mjs +53 -53
- package/{esm2020 → esm2022}/lib/components/generic-filter/generic-filter-utils.mjs +1 -1
- package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +1184 -0
- package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +56 -0
- package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
- package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
- package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
- package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
- package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
- package/esm2022/lib/components/search-location/search-location.component.mjs +237 -0
- package/esm2022/lib/components/search-service/search-service.component.mjs +83 -0
- package/esm2022/lib/components/search-venue/search-venue.component.mjs +190 -0
- package/esm2022/lib/components/selected-case/selected-case.component.mjs +379 -0
- package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
- package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
- package/esm2022/lib/components/service-message/service-message.component.mjs +51 -0
- package/esm2022/lib/components/service-messages/service-messages.component.mjs +76 -0
- package/esm2022/lib/components/share-case/share-case.component.mjs +420 -0
- package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
- package/esm2022/lib/components/tab/tab.component.mjs +40 -0
- package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
- package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
- package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
- package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
- package/esm2022/lib/components/user-details/user-details.component.mjs +273 -0
- package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
- package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
- package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
- package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
- package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
- package/{esm2020 → esm2022}/lib/directives/let/let.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/exui-common-lib.module.mjs +15 -15
- package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
- package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
- package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +121 -0
- package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
- package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
- package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
- package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
- package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
- package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
- package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
- package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
- package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
- package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
- package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
- package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
- package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
- package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
- package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
- package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
- package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
- package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
- package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
- package/{esm2020 → esm2022}/lib/gov-ui/gov-ui.service.mjs +5 -5
- package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
- package/{esm2020 → esm2022}/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs +1 -1
- package/{esm2020 → esm2022}/lib/gov-ui/validators/date.validator.mjs +1 -1
- package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
- package/esm2022/lib/models/address-option.model.mjs +21 -0
- package/{esm2020 → esm2022}/lib/pipes/capitalize/capitalize.pipe.mjs +4 -4
- package/esm2022/lib/services/address/address-parser.mjs +76 -0
- package/esm2022/lib/services/address/address.service.mjs +55 -0
- package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
- package/{esm2020 → esm2022}/lib/services/cookie/cookie.service.mjs +6 -6
- package/{esm2020 → esm2022}/lib/services/feature-toggle/feature-toggle.guard.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/feature-toggle/feature-toggle.service.mjs +4 -4
- package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +65 -0
- package/esm2022/lib/services/filter/filter.service.mjs +95 -0
- package/esm2022/lib/services/find-person/find-person.service.mjs +83 -0
- package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +68 -0
- package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +71 -0
- package/{esm2020 → esm2022}/lib/services/loading/loading.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/locations/location.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/manage-session/manage-session.services.mjs +5 -5
- package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
- package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
- package/{esm2020 → esm2022}/lib/services/role-guard/role.guard.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/role-guard/role.service.mjs +4 -4
- package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
- package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
- package/{esm2020 → esm2022}/lib/services/timeout-notifications/timeout-notifications.service.mjs +5 -5
- package/{fesm2020 → fesm2022}/hmcts-rpx-xui-common-lib.mjs +2823 -2835
- package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
- package/lib/components/checkbox-list/checkbox-list.component.d.ts +1 -1
- package/lib/components/contact-details/contact-details.component.d.ts +1 -1
- package/lib/components/cookie-banner/cookie-banner.component.d.ts +1 -1
- package/lib/components/due-date/due-date.component.d.ts +1 -1
- package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +1 -1
- package/lib/components/find-location/find-location.component.d.ts +1 -1
- package/lib/components/find-person/find-person.component.d.ts +1 -1
- package/lib/components/find-service/find-service.component.d.ts +1 -1
- package/lib/components/find-task-name/find-task-name.component.d.ts +1 -1
- package/lib/components/generic-filter/generic-filter.component.d.ts +1 -1
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +1 -1
- package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +1 -1
- package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -1
- package/lib/components/pagination/pagination.component.d.ts +1 -1
- package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
- package/lib/components/search-location/search-location.component.d.ts +1 -1
- package/lib/components/search-service/search-service.component.d.ts +1 -1
- package/lib/components/search-venue/search-venue.component.d.ts +1 -1
- package/lib/components/selected-case/selected-case.component.d.ts +1 -1
- package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +1 -1
- package/lib/components/selected-case-list/selected-case-list.component.d.ts +1 -1
- package/lib/components/service-message/service-message.component.d.ts +1 -1
- package/lib/components/service-messages/service-messages.component.d.ts +1 -1
- package/lib/components/share-case/share-case.component.d.ts +1 -1
- package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +1 -1
- package/lib/components/tab/tab.component.d.ts +1 -1
- package/lib/components/tc-confirm/tc-confirm.component.d.ts +1 -1
- package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +1 -1
- package/lib/components/user-details/user-details.component.d.ts +1 -1
- package/lib/components/user-list/user-list.component.d.ts +1 -1
- package/lib/components/user-select/user-select.component.d.ts +1 -1
- package/lib/components/write-address/write-address.component.d.ts +1 -1
- package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +1 -1
- package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
- package/lib/directives/let/let.directive.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +1 -1
- package/lib/services/feature-toggle/feature-toggle.guard.d.ts +2 -2
- package/lib/services/role-guard/role.guard.d.ts +2 -2
- package/package.json +5 -11
- package/esm2020/lib/components/accessibility/accessibility.component.mjs +0 -737
- package/esm2020/lib/components/checkbox-list/checkbox-list.component.mjs +0 -231
- package/esm2020/lib/components/contact-details/contact-details.component.mjs +0 -107
- package/esm2020/lib/components/cookie-banner/cookie-banner.component.mjs +0 -150
- package/esm2020/lib/components/due-date/due-date.component.mjs +0 -140
- package/esm2020/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +0 -79
- package/esm2020/lib/components/find-location/find-location.component.mjs +0 -219
- package/esm2020/lib/components/find-person/find-person.component.mjs +0 -234
- package/esm2020/lib/components/find-service/find-service.component.mjs +0 -192
- package/esm2020/lib/components/generic-filter/generic-filter.component.mjs +0 -1198
- package/esm2020/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +0 -55
- package/esm2020/lib/components/invite-user-form/invite-user-form.component.mjs +0 -50
- package/esm2020/lib/components/invite-user-permissions/invite-user-permission.component.mjs +0 -54
- package/esm2020/lib/components/loading-spinner/loading-spinner.component.mjs +0 -32
- package/esm2020/lib/components/pagination/pagination.component.mjs +0 -93
- package/esm2020/lib/components/search-judicials/search-judicials.component.mjs +0 -184
- package/esm2020/lib/components/search-location/search-location.component.mjs +0 -236
- package/esm2020/lib/components/search-service/search-service.component.mjs +0 -81
- package/esm2020/lib/components/search-venue/search-venue.component.mjs +0 -188
- package/esm2020/lib/components/selected-case/selected-case.component.mjs +0 -380
- package/esm2020/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +0 -135
- package/esm2020/lib/components/selected-case-list/selected-case-list.component.mjs +0 -98
- package/esm2020/lib/components/service-message/service-message.component.mjs +0 -50
- package/esm2020/lib/components/service-messages/service-messages.component.mjs +0 -75
- package/esm2020/lib/components/share-case/share-case.component.mjs +0 -420
- package/esm2020/lib/components/share-case-confirm/share-case-confirm.component.mjs +0 -85
- package/esm2020/lib/components/tab/tab.component.mjs +0 -39
- package/esm2020/lib/components/tc-confirm/tc-confirm.component.mjs +0 -65
- package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +0 -16
- package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +0 -16
- package/esm2020/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +0 -59
- package/esm2020/lib/components/user-details/user-details.component.mjs +0 -281
- package/esm2020/lib/components/user-list/user-list.component.mjs +0 -99
- package/esm2020/lib/components/user-select/user-select.component.mjs +0 -92
- package/esm2020/lib/components/write-address/write-address.component.mjs +0 -345
- package/esm2020/lib/components/write-address-inputs/write-address-inputs.component.mjs +0 -165
- package/esm2020/lib/directives/feature-toggle/feature-toggle.directive.mjs +0 -41
- package/esm2020/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +0 -54
- package/esm2020/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +0 -136
- package/esm2020/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +0 -120
- package/esm2020/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +0 -45
- package/esm2020/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +0 -80
- package/esm2020/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +0 -78
- package/esm2020/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +0 -45
- package/esm2020/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +0 -70
- package/esm2020/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +0 -84
- package/esm2020/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +0 -47
- package/esm2020/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +0 -41
- package/esm2020/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +0 -79
- package/esm2020/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +0 -188
- package/esm2020/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +0 -56
- package/esm2020/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +0 -112
- package/esm2020/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +0 -141
- package/esm2020/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +0 -33
- package/esm2020/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +0 -130
- package/esm2020/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +0 -204
- package/esm2020/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +0 -59
- package/esm2020/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +0 -57
- package/esm2020/lib/gov-ui/directives/remove-host.directive.mjs +0 -30
- package/esm2020/lib/gov-ui/util/helpers/html-templates.helper.mjs +0 -22
- package/esm2020/lib/gov-ui/validators/radio-group.validator.mjs +0 -15
- package/esm2020/lib/models/address-option.model.mjs +0 -21
- package/esm2020/lib/services/address/address-parser.mjs +0 -76
- package/esm2020/lib/services/address/address.service.mjs +0 -55
- package/esm2020/lib/services/case-sharing-state/case-sharing-state.service.mjs +0 -170
- package/esm2020/lib/services/feature-toggle/launch-darkly.service.mjs +0 -65
- package/esm2020/lib/services/filter/filter.service.mjs +0 -95
- package/esm2020/lib/services/find-person/find-person.service.mjs +0 -83
- package/esm2020/lib/services/google-analytics/google-analytics.service.mjs +0 -68
- package/esm2020/lib/services/google-tag-manager/google-tag-manager.service.mjs +0 -71
- package/esm2020/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +0 -33
- package/esm2020/lib/services/ref-data/ref-data.service.mjs +0 -34
- package/esm2020/lib/services/storage/session-storage/session-storage.service.mjs +0 -43
- package/esm2020/lib/services/task-name/task-name.service.mjs +0 -35
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs +0 -11073
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs.map +0 -1
- package/fesm2020/hmcts-rpx-xui-common-lib.mjs.map +0 -1
- /package/{esm2020 → esm2022}/hmcts-rpx-xui-common-lib.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/components/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/checkboxes-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/error-messages-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/gov-ui-config-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/radio-buttons.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/validators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/validators/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/address-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/address.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/case-share.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/contact-details.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/due-date.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/feature-user.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/idle-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/location.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/pagination.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/person.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/search-options.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/task-name.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/tcDocument.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/timeout-notification.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/user-access-type.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/user-details.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/user.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/address/address-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/ref-data/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/ref-data/models/ref-data-region.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/window.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "rpx-xui-translation";
|
|
5
|
-
function CheckboxListComponent_div_0_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
7
|
-
i0.ɵɵelementStart(0, "div", 7)(1, "input", 8);
|
|
8
|
-
i0.ɵɵlistener("change", function CheckboxListComponent_div_0_div_7_Template_input_change_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r5); const item_r2 = restoredCtx.$implicit; const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.toggleItemSelection(item_r2)); });
|
|
9
|
-
i0.ɵɵelementEnd();
|
|
10
|
-
i0.ɵɵelementStart(2, "label", 9);
|
|
11
|
-
i0.ɵɵtext(3);
|
|
12
|
-
i0.ɵɵpipe(4, "rpxTranslate");
|
|
13
|
-
i0.ɵɵelementEnd()();
|
|
14
|
-
} if (rf & 2) {
|
|
15
|
-
const item_r2 = ctx.$implicit;
|
|
16
|
-
const i_r3 = ctx.index;
|
|
17
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
18
|
-
i0.ɵɵadvance(1);
|
|
19
|
-
i0.ɵɵproperty("id", "select_" + i_r3)("checked", ctx_r1.isSelected(item_r2));
|
|
20
|
-
i0.ɵɵadvance(1);
|
|
21
|
-
i0.ɵɵproperty("for", "select_" + i_r3);
|
|
22
|
-
i0.ɵɵadvance(1);
|
|
23
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 4, ctx_r1.labelFunction(item_r2)));
|
|
24
|
-
} }
|
|
25
|
-
function CheckboxListComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
-
const _r7 = i0.ɵɵgetCurrentView();
|
|
27
|
-
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "input", 3);
|
|
28
|
-
i0.ɵɵlistener("change", function CheckboxListComponent_div_0_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.toggleSelectAll()); });
|
|
29
|
-
i0.ɵɵelementEnd();
|
|
30
|
-
i0.ɵɵelementStart(3, "label", 4);
|
|
31
|
-
i0.ɵɵtext(4);
|
|
32
|
-
i0.ɵɵpipe(5, "rpxTranslate");
|
|
33
|
-
i0.ɵɵelementEnd()();
|
|
34
|
-
i0.ɵɵelementStart(6, "div", 5);
|
|
35
|
-
i0.ɵɵtemplate(7, CheckboxListComponent_div_0_div_7_Template, 5, 6, "div", 6);
|
|
36
|
-
i0.ɵɵelementEnd()();
|
|
37
|
-
} if (rf & 2) {
|
|
38
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
39
|
-
i0.ɵɵadvance(2);
|
|
40
|
-
i0.ɵɵproperty("checked", ctx_r0.allSelected);
|
|
41
|
-
i0.ɵɵadvance(2);
|
|
42
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 3, "Select all / Deselect all"));
|
|
43
|
-
i0.ɵɵadvance(3);
|
|
44
|
-
i0.ɵɵproperty("ngForOf", ctx_r0.options);
|
|
45
|
-
} }
|
|
46
|
-
export class CheckboxListComponent {
|
|
47
|
-
constructor(ref) {
|
|
48
|
-
this.ref = ref;
|
|
49
|
-
/**
|
|
50
|
-
* The options to show checkboxes for. Note that the type
|
|
51
|
-
* within the array corresponds to the one for the component.
|
|
52
|
-
*/
|
|
53
|
-
this.options = [];
|
|
54
|
-
/**
|
|
55
|
-
* Whenever the selection changes, this event fires. What is dispatched
|
|
56
|
-
* is the current selection, also retrievable from .selection.
|
|
57
|
-
*/
|
|
58
|
-
this.selectionChange = new EventEmitter();
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* The currently selected values.
|
|
62
|
-
* Note: This array is immutable, which means pushing and popping will
|
|
63
|
-
* have no effect on which checkboxes are selected.
|
|
64
|
-
*/
|
|
65
|
-
get selection() {
|
|
66
|
-
return this.pSelection ? [...this.pSelection] : [];
|
|
67
|
-
}
|
|
68
|
-
set selection(value) {
|
|
69
|
-
this.pSelection = this.getSelection(value);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Indicates whether or not all of the items are selected.
|
|
73
|
-
*/
|
|
74
|
-
get allSelected() {
|
|
75
|
-
return this.selection.length === this.options.length;
|
|
76
|
-
}
|
|
77
|
-
// Catch any changes to any of the Input() properties.
|
|
78
|
-
ngOnChanges() {
|
|
79
|
-
// Set up the pre-selected values.
|
|
80
|
-
this.setupPreselection();
|
|
81
|
-
// Now check the current selection to make sure it's valid.
|
|
82
|
-
this.checkSelection();
|
|
83
|
-
}
|
|
84
|
-
// checks the data projected into the component
|
|
85
|
-
ngAfterContentChecked() {
|
|
86
|
-
this.ref.detectChanges();
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Indicates whether or not there are any options to render.
|
|
90
|
-
*/
|
|
91
|
-
get hasOptions() {
|
|
92
|
-
return this.options && this.options.length > 0;
|
|
93
|
-
}
|
|
94
|
-
get isFunctional() {
|
|
95
|
-
return this.labelFunction && this.hasOptions;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Indicates whether or not an item is part of the current selection.
|
|
99
|
-
* @param item The item in question.
|
|
100
|
-
*/
|
|
101
|
-
isSelected(item) {
|
|
102
|
-
return this.selection.includes(item);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* If an item is already selected, it will be removed from the selection.
|
|
106
|
-
* Otherwise, it will be added to the selection..
|
|
107
|
-
*/
|
|
108
|
-
toggleItemSelection(item) {
|
|
109
|
-
if (this.pSelection === undefined) {
|
|
110
|
-
// If we don't have any selection at all yet, make it just this item.
|
|
111
|
-
this.pSelection = [item];
|
|
112
|
-
}
|
|
113
|
-
else if (this.isSelected(item)) {
|
|
114
|
-
// If this item is already selected, remove it.
|
|
115
|
-
this.pSelection.splice(this.pSelection.indexOf(item), 1);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
// If it's not selected, add it.
|
|
119
|
-
this.pSelection.push(item);
|
|
120
|
-
}
|
|
121
|
-
// Indicate that the user has now made an active selection.
|
|
122
|
-
this.pSelectionMade = true;
|
|
123
|
-
// Now emit an event so any containers know about the change to selection.
|
|
124
|
-
this.selectionChange.emit(this.selection);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* If all of the items are selected, deselect them all.
|
|
128
|
-
* Otherwise, select them all.
|
|
129
|
-
*/
|
|
130
|
-
toggleSelectAll() {
|
|
131
|
-
// Do we already have them all selected?
|
|
132
|
-
if (this.allSelected) {
|
|
133
|
-
// If so, clear out the selection.
|
|
134
|
-
this.pSelection = [];
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
// If not, select all of them.
|
|
138
|
-
this.pSelection = [...this.options];
|
|
139
|
-
}
|
|
140
|
-
// Indicate that the user has now made an active selection.
|
|
141
|
-
this.pSelectionMade = true;
|
|
142
|
-
// Now emit an event so any containers know about the change to selection.
|
|
143
|
-
this.selectionChange.emit(this.pSelection);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Use the labelFunction to determine whether the options include the item.
|
|
147
|
-
* This is to handle partial objects being set in the pre-selection where
|
|
148
|
-
* they may not be available by the same mechanism as the options.
|
|
149
|
-
*
|
|
150
|
-
* @param items The array of items in which to look for the item.
|
|
151
|
-
* @param item The item to check in the options.
|
|
152
|
-
*/
|
|
153
|
-
containsItem(items, item) {
|
|
154
|
-
if (this.isFunctional) {
|
|
155
|
-
const itemLabel = this.labelFunction(item);
|
|
156
|
-
return items.some(opt => {
|
|
157
|
-
return this.labelFunction(opt) === itemLabel;
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
// Simple utility function to indicate whether there is an active preselection.
|
|
163
|
-
get hasPreselection() {
|
|
164
|
-
return this.preselection && this.preselection.length > 0;
|
|
165
|
-
}
|
|
166
|
-
// Set up the initially selected values.
|
|
167
|
-
// NOTE: If the preselection changes and the user has NOT made an active selection,
|
|
168
|
-
// the current selection will also be changed. As soon as the user has made an
|
|
169
|
-
// active selection, however, the preselection is no longer relevant.
|
|
170
|
-
setupPreselection() {
|
|
171
|
-
if (this.isFunctional && !this.pSelectionMade && this.hasPreselection) {
|
|
172
|
-
let changed = true; // Assume this is a change.
|
|
173
|
-
if (this.pSelection) {
|
|
174
|
-
// If there is no difference between the arrays, this is not a change.
|
|
175
|
-
changed = this.pSelection.filter((item) => {
|
|
176
|
-
return !this.containsItem(this.preselection, item);
|
|
177
|
-
}).length > 0;
|
|
178
|
-
}
|
|
179
|
-
// If this is a change, update the selection and then emit an
|
|
180
|
-
// event so any containers know about the change to selection.
|
|
181
|
-
if (changed) {
|
|
182
|
-
this.pSelection = this.getSelection(this.preselection);
|
|
183
|
-
this.selectionChange.emit(this.selection);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
getSelection(items) {
|
|
188
|
-
return [
|
|
189
|
-
...this.options.filter(opt => {
|
|
190
|
-
return this.containsItem(items, opt);
|
|
191
|
-
})
|
|
192
|
-
];
|
|
193
|
-
}
|
|
194
|
-
// The options have changed. Let's make sure the selection
|
|
195
|
-
// doesn't contain anything that's not currently an option.
|
|
196
|
-
checkSelection() {
|
|
197
|
-
if (this.isFunctional) {
|
|
198
|
-
// Check which of the currently selected items are actually options.
|
|
199
|
-
const allowedSelection = this.selection.filter((item) => {
|
|
200
|
-
return this.containsItem(this.options, item);
|
|
201
|
-
});
|
|
202
|
-
// If any have dropped out, change the selection.
|
|
203
|
-
if (allowedSelection.length !== this.selection.length) {
|
|
204
|
-
this.pSelection = [...allowedSelection];
|
|
205
|
-
// And emit an event so any containers know about the change to selection.
|
|
206
|
-
this.selectionChange.emit(this.selection);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
CheckboxListComponent.ɵfac = function CheckboxListComponent_Factory(t) { return new (t || CheckboxListComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
212
|
-
CheckboxListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CheckboxListComponent, selectors: [["xuilib-checkbox-list"]], inputs: { options: "options", preselection: "preselection", labelFunction: "labelFunction", selection: "selection" }, outputs: { selectionChange: "selectionChange" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "xui-checkbox-list govuk-checkboxes govuk-checkboxes--small", 4, "ngIf"], [1, "xui-checkbox-list", "govuk-checkboxes", "govuk-checkboxes--small"], [1, "select-all", "govuk-checkboxes__item"], ["type", "checkbox", "id", "select_all", 1, "govuk-checkboxes__input", 3, "checked", "change"], ["for", "select_all", 1, "govuk-label", "govuk-checkboxes__label"], [1, "checkbox-items"], ["class", "govuk-checkboxes__item", 4, "ngFor", "ngForOf"], [1, "govuk-checkboxes__item"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "id", "checked", "change"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"]], template: function CheckboxListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
213
|
-
i0.ɵɵtemplate(0, CheckboxListComponent_div_0_Template, 8, 5, "div", 0);
|
|
214
|
-
} if (rf & 2) {
|
|
215
|
-
i0.ɵɵproperty("ngIf", ctx.isFunctional);
|
|
216
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.RpxTranslatePipe], styles: [".xui-checkbox-list .select-all{margin-bottom:10px}.xui-checkbox-list .checkbox-items{display:flex;flex-direction:column;flex-wrap:wrap;height:100%;max-height:100%;align-items:flex-start;align-content:flex-start;width:100%;max-width:100%;overflow-x:scroll}\n"], encapsulation: 2 });
|
|
217
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckboxListComponent, [{
|
|
218
|
-
type: Component,
|
|
219
|
-
args: [{ selector: 'xuilib-checkbox-list', encapsulation: ViewEncapsulation.None, template: "<div class=\"xui-checkbox-list govuk-checkboxes govuk-checkboxes--small\" *ngIf=\"isFunctional\">\n <div class=\"select-all govuk-checkboxes__item\">\n <input type=\"checkbox\" id=\"select_all\" class=\"govuk-checkboxes__input\" [checked]=\"allSelected\"\n (change)=\"toggleSelectAll()\" />\n <label for=\"select_all\" class=\"govuk-label govuk-checkboxes__label\">{{'Select all / Deselect all' | rpxTranslate}}</label>\n </div>\n <div class=\"checkbox-items\">\n <div *ngFor=\"let item of options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" [id]=\"'select_' + i\" class=\"govuk-checkboxes__input\" [checked]=\"isSelected(item)\"\n (change)=\"toggleItemSelection(item)\" />\n <label [for]=\"'select_' + i\" class=\"govuk-label govuk-checkboxes__label\">{{labelFunction(item) | rpxTranslate}}</label>\n </div>\n </div>\n</div>\n", styles: [".xui-checkbox-list .select-all{margin-bottom:10px}.xui-checkbox-list .checkbox-items{display:flex;flex-direction:column;flex-wrap:wrap;height:100%;max-height:100%;align-items:flex-start;align-content:flex-start;width:100%;max-width:100%;overflow-x:scroll}\n"] }]
|
|
220
|
-
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { options: [{
|
|
221
|
-
type: Input
|
|
222
|
-
}], preselection: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], labelFunction: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], selectionChange: [{
|
|
227
|
-
type: Output
|
|
228
|
-
}], selection: [{
|
|
229
|
-
type: Input
|
|
230
|
-
}] }); })();
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDT3pJLDhCQUFnRixlQUFBO0lBRXZFLHFPQUFVLGVBQUEsbUNBQXlCLENBQUEsSUFBQztJQUQzQyxpQkFDOEM7SUFDOUMsZ0NBQXlFO0lBQUEsWUFBc0M7O0lBQUEsaUJBQVEsRUFBQTs7Ozs7SUFGaEcsZUFBb0I7SUFBcEIscUNBQW9CLHVDQUFBO0lBRXBDLGVBQXFCO0lBQXJCLHNDQUFxQjtJQUE2QyxlQUFzQztJQUF0Qyx5RUFBc0M7Ozs7SUFWckgsOEJBQTZGLGFBQUEsZUFBQTtJQUdsRixtS0FBVSxlQUFBLHdCQUFpQixDQUFBLElBQUM7SUFEbkMsaUJBQ3NDO0lBQ3RDLGdDQUFvRTtJQUFBLFlBQThDOztJQUFBLGlCQUFRLEVBQUE7SUFFNUgsOEJBQTRCO0lBQzFCLDRFQUlNO0lBQ1IsaUJBQU0sRUFBQTs7O0lBVm1FLGVBQXVCO0lBQXZCLDRDQUF1QjtJQUUxQixlQUE4QztJQUE5Qyx1RUFBOEM7SUFHNUYsZUFBWTtJQUFaLHdDQUFZOztBREN0QyxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1C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TVUsYUFBYTtrQkFBNUIsS0FBSztZQU1XLGVBQWU7a0JBQS9CLE1BQU07WUFRSSxTQUFTO2tCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1jaGVja2JveC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICdjaGVja2JveC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2NoZWNrYm94LWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveExpc3RDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25zIHRvIHNob3cgY2hlY2tib3hlcyBmb3IuIE5vdGUgdGhhdCB0aGUgdHlwZVxuICAgKiB3aXRoaW4gdGhlIGFycmF5IGNvcnJlc3BvbmRzIHRvIHRoZSBvbmUgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogVFtdID0gW107XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsbHktc2VsZWN0ZWQgdmFsdWVzIHRvIHVzZS4gV2hlbiB0aGUgY29tcG9uZW50IHJlbmRlcnMsXG4gICAqIHRoZSBjaGVja2JveGVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGVzZSB2YWx1ZXMgd2lsbCBiZSBjaGVja2VkLlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHByZXNlbGVjdGlvbjogVFtdO1xuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGludm9rZWQgZm9yIGVhY2ggaXRlbSB0byBkaXNwbGF5IHRoZSBhcHByb3ByaWF0ZVxuICAgKiBsYWJlbCBiZXNpZGUgdGhlIGNoZWNrYm94LlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGxhYmVsRnVuY3Rpb246IChpdGVtOiBUKSA9PiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZW5ldmVyIHRoZSBzZWxlY3Rpb24gY2hhbmdlcywgdGhpcyBldmVudCBmaXJlcy4gV2hhdCBpcyBkaXNwYXRjaGVkXG4gICAqIGlzIHRoZSBjdXJyZW50IHNlbGVjdGlvbiwgYWxzbyByZXRyaWV2YWJsZSBmcm9tIC5zZWxlY3Rpb24uXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCB2YWx1ZXMuXG4gICAqIE5vdGU6IFRoaXMgYXJyYXkgaXMgaW1tdXRhYmxlLCB3aGljaCBtZWFucyBwdXNoaW5nIGFuZCBwb3BwaW5nIHdpbGxcbiAgICogaGF2ZSBubyBlZmZlY3Qgb24gd2hpY2ggY2hlY2tib3hlcyBhcmUgc2VsZWN0ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHNlbGVjdGlvbigpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLnBTZWxlY3Rpb24gPyBbIC4uLnRoaXMucFNlbGVjdGlvbiBdIDogW107XG4gIH1cbiAgcHVibGljIHNldCBzZWxlY3Rpb24odmFsdWU6IFRbXSkge1xuICAgIHRoaXMucFNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIHBTZWxlY3Rpb246IFRbXTtcbiAgcHJpdmF0ZSBwU2VsZWN0aW9uTWFkZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IGFsbCBvZiB0aGUgaXRlbXMgYXJlIHNlbGVjdGVkLlxuICAgKi9cbiAgcHVibGljIGdldCBhbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoO1xuICB9XG5cbiAgLy8gQ2F0Y2ggYW55IGNoYW5nZXMgdG8gYW55IG9mIHRoZSBJbnB1dCgpIHByb3BlcnRpZXMuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyBTZXQgdXAgdGhlIHByZS1zZWxlY3RlZCB2YWx1ZXMuXG4gICAgdGhpcy5zZXR1cFByZXNlbGVjdGlvbigpO1xuICAgIC8vIE5vdyBjaGVjayB0aGUgY3VycmVudCBzZWxlY3Rpb24gdG8gbWFrZSBzdXJlIGl0J3MgdmFsaWQuXG4gICAgdGhpcy5jaGVja1NlbGVjdGlvbigpO1xuICB9XG5cbiAgLy8gY2hlY2tzIHRoZSBkYXRhIHByb2plY3RlZCBpbnRvIHRoZSBjb21wb25lbnRcbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZXJlIGFyZSBhbnkgb3B0aW9ucyB0byByZW5kZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhhc09wdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNGdW5jdGlvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxhYmVsRnVuY3Rpb24gJiYgdGhpcy5oYXNPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBhbiBpdGVtIGlzIHBhcnQgb2YgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLlxuICAgKiBAcGFyYW0gaXRlbSBUaGUgaXRlbSBpbiBxdWVzdGlvbi5cbiAgICovXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24uaW5jbHVkZXMoaXRlbSk7XG4gIH1cblxuICAvKipcbiAgICogSWYgYW4gaXRlbSBpcyBhbHJlYWR5IHNlbGVjdGVkLCBpdCB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgc2VsZWN0aW9uLlxuICAgKiBPdGhlcndpc2UsIGl0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIHNlbGVjdGlvbi4uXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlSXRlbVNlbGVjdGlvbihpdGVtOiBUKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucFNlbGVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGFueSBzZWxlY3Rpb24gYXQgYWxsIHlldCwgbWFrZSBpdCBqdXN0IHRoaXMgaXRlbS5cbiAgICAgIHRoaXMucFNlbGVjdGlvbiA9IFsgaXRlbSBdO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc1NlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICAvLyBJZiB0aGlzIGl0ZW0gaXMgYWxyZWFkeSBzZWxlY3RlZCwgcmVtb3ZlIGl0LlxuICAgICAgdGhpcy5wU2VsZWN0aW9uLnNwbGljZSh0aGlzLnBTZWxlY3Rpb24uaW5kZXhPZihpdGVtKSwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIGl0J3Mgbm90IHNlbGVjdGVkLCBhZGQgaXQuXG4gICAgICB0aGlzLnBTZWxlY3Rpb24ucHVzaChpdGVtKTtcbiAgICB9XG5cbiAgICAvLyBJbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIGhhcyBub3cgbWFkZSBhbiBhY3RpdmUgc2VsZWN0aW9uLlxuICAgIHRoaXMucFNlbGVjdGlvbk1hZGUgPSB0cnVlO1xuXG4gICAgLy8gTm93IGVtaXQgYW4gZXZlbnQgc28gYW55IGNvbnRhaW5lcnMga25vdyBhYm91dCB0aGUgY2hhbmdlIHRvIHNlbGVjdGlvbi5cbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBhbGwgb2YgdGhlIGl0ZW1zIGFyZSBzZWxlY3RlZCwgZGVzZWxlY3QgdGhlbSBhbGwuXG4gICAqIE90aGVyd2lzZSwgc2VsZWN0IHRoZW0gYWxsLlxuICAgKi9cbiAgcHVibGljIHRvZ2dsZVNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAvLyBEbyB3ZSBhbHJlYWR5IGhhdmUgdGhlbSBhbGwgc2VsZWN0ZWQ/XG4gICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQpIHtcbiAgICAgIC8vIElmIHNvLCBjbGVhciBvdXQgdGhlIHNlbGVjdGlvbi5cbiAgICAgIHRoaXMucFNlbGVjdGlvbiA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiBub3QsIHNlbGVjdCBhbGwgb2YgdGhlbS5cbiAgICAgIHRoaXMucFNlbGVjdGlvbiA9IFsgLi4udGhpcy5vcHRpb25zIF07XG4gICAgfVxuXG4gICAgLy8gSW5kaWNhdGUgdGhhdCB0aGUgdXNlciBoYXMgbm93IG1hZGUgYW4gYWN0aXZlIHNlbGVjdGlvbi5cbiAgICB0aGlzLnBTZWxlY3Rpb25NYWRlID0gdHJ1ZTtcblxuICAgIC8vIE5vdyBlbWl0IGFuIGV2ZW50IHNvIGFueSBjb250YWluZXJzIGtub3cgYWJvdXQgdGhlIGNoYW5nZSB0byBzZWxlY3Rpb24uXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLnBTZWxlY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgbGFiZWxGdW5jdGlvbiB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgb3B0aW9ucyBpbmNsdWRlIHRoZSBpdGVtLlxuICAgKiBUaGlzIGlzIHRvIGhhbmRsZSBwYXJ0aWFsIG9iamVjdHMgYmVpbmcgc2V0IGluIHRoZSBwcmUtc2VsZWN0aW9uIHdoZXJlXG4gICAqIHRoZXkgbWF5IG5vdCBiZSBhdmFpbGFibGUgYnkgdGhlIHNhbWUgbWVjaGFuaXNtIGFzIHRoZSBvcHRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbXMgVGhlIGFycmF5IG9mIGl0ZW1zIGluIHdoaWNoIHRvIGxvb2sgZm9yIHRoZSBpdGVtLlxuICAgKiBAcGFyYW0gaXRlbSBUaGUgaXRlbSB0byBjaGVjayBpbiB0aGUgb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBjb250YWluc0l0ZW0oaXRlbXM6IFRbXSwgaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzRnVuY3Rpb25hbCkge1xuICAgICAgY29uc3QgaXRlbUxhYmVsOiBzdHJpbmcgPSB0aGlzLmxhYmVsRnVuY3Rpb24oaXRlbSk7XG4gICAgICByZXR1cm4gaXRlbXMuc29tZShvcHQgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbEZ1bmN0aW9uKG9wdCkgPT09IGl0ZW1MYWJlbDtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBTaW1wbGUgdXRpbGl0eSBmdW5jdGlvbiB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZXJlIGlzIGFuIGFjdGl2ZSBwcmVzZWxlY3Rpb24uXG4gIHByaXZhdGUgZ2V0IGhhc1ByZXNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcmVzZWxlY3Rpb24gJiYgdGhpcy5wcmVzZWxlY3Rpb24ubGVuZ3RoID4gMDtcbiAgfVxuXG4gIC8vIFNldCB1cCB0aGUgaW5pdGlhbGx5IHNlbGVjdGVkIHZhbHVlcy5cbiAgLy8gTk9URTogSWYgdGhlIHByZXNlbGVjdGlvbiBjaGFuZ2VzIGFuZCB0aGUgdXNlciBoYXMgTk9UIG1hZGUgYW4gYWN0aXZlIHNlbGVjdGlvbixcbiAgLy8gdGhlIGN1cnJlbnQgc2VsZWN0aW9uIHdpbGwgYWxzbyBiZSBjaGFuZ2VkLiBBcyBzb29uIGFzIHRoZSB1c2VyIGhhcyBtYWRlIGFuXG4gIC8vIGFjdGl2ZSBzZWxlY3Rpb24sIGhvd2V2ZXIsIHRoZSBwcmVzZWxlY3Rpb24gaXMgbm8gbG9uZ2VyIHJlbGV2YW50LlxuICBwcml2YXRlIHNldHVwUHJlc2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRnVuY3Rpb25hbCAmJiAhdGhpcy5wU2VsZWN0aW9uTWFkZSAmJiB0aGlzLmhhc1ByZXNlbGVjdGlvbikge1xuICAgICAgbGV0IGNoYW5nZWQgPSB0cnVlOyAvLyBBc3N1bWUgdGhpcyBpcyBhIGNoYW5nZS5cbiAgICAgIGlmICh0aGlzLnBTZWxlY3Rpb24pIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBhcnJheXMsIHRoaXMgaXMgbm90IGEgY2hhbmdlLlxuICAgICAgICBjaGFuZ2VkID0gdGhpcy5wU2VsZWN0aW9uLmZpbHRlcigoaXRlbTogVCkgPT4ge1xuICAgICAgICAgIHJldHVybiAhdGhpcy5jb250YWluc0l0ZW0odGhpcy5wcmVzZWxlY3Rpb24sIGl0ZW0pO1xuICAgICAgICB9KS5sZW5ndGggPiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGlzIGlzIGEgY2hhbmdlLCB1cGRhdGUgdGhlIHNlbGVjdGlvbiBhbmQgdGhlbiBlbWl0IGFuXG4gICAgICAvLyBldmVudCBzbyBhbnkgY29udGFpbmVycyBrbm93IGFib3V0IHRoZSBjaGFuZ2UgdG8gc2VsZWN0aW9uLlxuICAgICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgICAgdGhpcy5wU2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24odGhpcy5wcmVzZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGlvbihpdGVtczogVFtdKTogVFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4udGhpcy5vcHRpb25zLmZpbHRlcihvcHQgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluc0l0ZW0oaXRlbXMsIG9wdCk7XG4gICAgICB9KVxuICAgIF07XG4gIH1cblxuICAvLyBUaGUgb3B0aW9ucyBoYXZlIGNoYW5nZWQuIExldCdzIG1ha2Ugc3VyZSB0aGUgc2VsZWN0aW9uXG4gIC8vIGRvZXNuJ3QgY29udGFpbiBhbnl0aGluZyB0aGF0J3Mgbm90IGN1cnJlbnRseSBhbiBvcHRpb24uXG4gIHByaXZhdGUgY2hlY2tTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNGdW5jdGlvbmFsKSB7XG4gICAgICAvLyBDaGVjayB3aGljaCBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW1zIGFyZSBhY3R1YWxseSBvcHRpb25zLlxuICAgICAgY29uc3QgYWxsb3dlZFNlbGVjdGlvbjogVFtdID0gdGhpcy5zZWxlY3Rpb24uZmlsdGVyKChpdGVtOiBUKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5zSXRlbSh0aGlzLm9wdGlvbnMsIGl0ZW0pO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIElmIGFueSBoYXZlIGRyb3BwZWQgb3V0LCBjaGFuZ2UgdGhlIHNlbGVjdGlvbi5cbiAgICAgIGlmIChhbGxvd2VkU2VsZWN0aW9uLmxlbmd0aCAhPT0gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMucFNlbGVjdGlvbiA9IFsgLi4uYWxsb3dlZFNlbGVjdGlvbiBdO1xuXG4gICAgICAgIC8vIEFuZCBlbWl0IGFuIGV2ZW50IHNvIGFueSBjb250YWluZXJzIGtub3cgYWJvdXQgdGhlIGNoYW5nZSB0byBzZWxlY3Rpb24uXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3Rpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInh1aS1jaGVja2JveC1saXN0IGdvdnVrLWNoZWNrYm94ZXMgZ292dWstY2hlY2tib3hlcy0tc21hbGxcIiAqbmdJZj1cImlzRnVuY3Rpb25hbFwiPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbCBnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwic2VsZWN0X2FsbFwiIGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBbY2hlY2tlZF09XCJhbGxTZWxlY3RlZFwiXG4gICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKClcIiAvPlxuICAgIDxsYWJlbCBmb3I9XCJzZWxlY3RfYWxsXCIgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiPnt7J1NlbGVjdCBhbGwgLyBEZXNlbGVjdCBhbGwnIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWl0ZW1zXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2lkXT1cIidzZWxlY3RfJyArIGlcIiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVJdGVtU2VsZWN0aW9uKGl0ZW0pXCIgLz5cbiAgICAgIDxsYWJlbCBbZm9yXT1cIidzZWxlY3RfJyArIGlcIiBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCI+e3tsYWJlbEZ1bmN0aW9uKGl0ZW0pIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "rpx-xui-translation";
|
|
5
|
-
function ContactDetailsComponent_div_0_h3_1_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
-
i0.ɵɵelementStart(0, "h3", 7);
|
|
7
|
-
i0.ɵɵtext(1);
|
|
8
|
-
i0.ɵɵelementEnd();
|
|
9
|
-
} if (rf & 2) {
|
|
10
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11
|
-
i0.ɵɵadvance(1);
|
|
12
|
-
i0.ɵɵtextInterpolate(ctx_r1.data.title);
|
|
13
|
-
} }
|
|
14
|
-
function ContactDetailsComponent_div_0_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
-
i0.ɵɵelementStart(0, "p")(1, "span", 8);
|
|
16
|
-
i0.ɵɵtext(2);
|
|
17
|
-
i0.ɵɵelementEnd()();
|
|
18
|
-
} if (rf & 2) {
|
|
19
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
20
|
-
i0.ɵɵadvance(1);
|
|
21
|
-
i0.ɵɵproperty("className", "hmcts-badge " + ctx_r2.data.badgeColour);
|
|
22
|
-
i0.ɵɵadvance(1);
|
|
23
|
-
i0.ɵɵtextInterpolate(ctx_r2.data.badgeText);
|
|
24
|
-
} }
|
|
25
|
-
function ContactDetailsComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
-
i0.ɵɵelementStart(0, "div", 9)(1, "span", 10);
|
|
27
|
-
i0.ɵɵtext(2);
|
|
28
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
29
|
-
i0.ɵɵelementEnd();
|
|
30
|
-
i0.ɵɵelementStart(4, "a", 11);
|
|
31
|
-
i0.ɵɵtext(5);
|
|
32
|
-
i0.ɵɵelementEnd()();
|
|
33
|
-
} if (rf & 2) {
|
|
34
|
-
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
35
|
-
i0.ɵɵadvance(2);
|
|
36
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 3, "Email:"), " ");
|
|
37
|
-
i0.ɵɵadvance(2);
|
|
38
|
-
i0.ɵɵpropertyInterpolate1("href", "mailto:", ctx_r3.data.email, "", i0.ɵɵsanitizeUrl);
|
|
39
|
-
i0.ɵɵadvance(1);
|
|
40
|
-
i0.ɵɵtextInterpolate(ctx_r3.data.email);
|
|
41
|
-
} }
|
|
42
|
-
function ContactDetailsComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
-
i0.ɵɵelementStart(0, "div", 12)(1, "span", 10);
|
|
44
|
-
i0.ɵɵtext(2);
|
|
45
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
46
|
-
i0.ɵɵelementEnd();
|
|
47
|
-
i0.ɵɵtext(4);
|
|
48
|
-
i0.ɵɵelementEnd();
|
|
49
|
-
} if (rf & 2) {
|
|
50
|
-
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
51
|
-
i0.ɵɵadvance(2);
|
|
52
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 2, "Phone:"), " ");
|
|
53
|
-
i0.ɵɵadvance(2);
|
|
54
|
-
i0.ɵɵtextInterpolate(ctx_r4.data.phone);
|
|
55
|
-
} }
|
|
56
|
-
function ContactDetailsComponent_div_0_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
-
i0.ɵɵelementStart(0, "div", 13)(1, "span", 10);
|
|
58
|
-
i0.ɵɵtext(2);
|
|
59
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
60
|
-
i0.ɵɵelementEnd();
|
|
61
|
-
i0.ɵɵtext(4);
|
|
62
|
-
i0.ɵɵelementEnd();
|
|
63
|
-
} if (rf & 2) {
|
|
64
|
-
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
65
|
-
i0.ɵɵadvance(2);
|
|
66
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 2, "Opening times:"), " ");
|
|
67
|
-
i0.ɵɵadvance(2);
|
|
68
|
-
i0.ɵɵtextInterpolate(ctx_r5.data.openingTimes);
|
|
69
|
-
} }
|
|
70
|
-
function ContactDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
-
i0.ɵɵelementStart(0, "div", 1);
|
|
72
|
-
i0.ɵɵtemplate(1, ContactDetailsComponent_div_0_h3_1_Template, 2, 1, "h3", 2);
|
|
73
|
-
i0.ɵɵtemplate(2, ContactDetailsComponent_div_0_p_2_Template, 3, 2, "p", 3);
|
|
74
|
-
i0.ɵɵtemplate(3, ContactDetailsComponent_div_0_div_3_Template, 6, 5, "div", 4);
|
|
75
|
-
i0.ɵɵtemplate(4, ContactDetailsComponent_div_0_div_4_Template, 5, 4, "div", 5);
|
|
76
|
-
i0.ɵɵtemplate(5, ContactDetailsComponent_div_0_div_5_Template, 5, 4, "div", 6);
|
|
77
|
-
i0.ɵɵelementEnd();
|
|
78
|
-
} if (rf & 2) {
|
|
79
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
80
|
-
i0.ɵɵadvance(1);
|
|
81
|
-
i0.ɵɵproperty("ngIf", ctx_r0.data.title);
|
|
82
|
-
i0.ɵɵadvance(1);
|
|
83
|
-
i0.ɵɵproperty("ngIf", ctx_r0.data.badgeText);
|
|
84
|
-
i0.ɵɵadvance(1);
|
|
85
|
-
i0.ɵɵproperty("ngIf", ctx_r0.data.email);
|
|
86
|
-
i0.ɵɵadvance(1);
|
|
87
|
-
i0.ɵɵproperty("ngIf", ctx_r0.data.phone);
|
|
88
|
-
i0.ɵɵadvance(1);
|
|
89
|
-
i0.ɵɵproperty("ngIf", ctx_r0.data.openingTimes);
|
|
90
|
-
} }
|
|
91
|
-
export class ContactDetailsComponent {
|
|
92
|
-
constructor() {
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
ContactDetailsComponent.ɵfac = function ContactDetailsComponent_Factory(t) { return new (t || ContactDetailsComponent)(); };
|
|
96
|
-
ContactDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContactDetailsComponent, selectors: [["xuilib-contact-details"]], inputs: { data: "data" }, decls: 1, vars: 1, consts: [["class", "contact-details", 4, "ngIf"], [1, "contact-details"], ["class", "govuk-heading-m", 4, "ngIf"], [4, "ngIf"], ["class", "email", 4, "ngIf"], ["class", "phone", 4, "ngIf"], ["class", "opening-times", 4, "ngIf"], [1, "govuk-heading-m"], [3, "className"], [1, "email"], [1, "govuk-!-font-weight-bold"], [3, "href"], [1, "phone"], [1, "opening-times"]], template: function ContactDetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
-
i0.ɵɵtemplate(0, ContactDetailsComponent_div_0_Template, 6, 5, "div", 0);
|
|
98
|
-
} if (rf & 2) {
|
|
99
|
-
i0.ɵɵproperty("ngIf", ctx.data);
|
|
100
|
-
} }, dependencies: [i1.NgIf, i2.RpxTranslatePipe], styles: [".contact-details[_ngcontent-%COMP%]{margin-top:30px}.contact-details[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .contact-details[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:10px}"] });
|
|
101
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContactDetailsComponent, [{
|
|
102
|
-
type: Component,
|
|
103
|
-
args: [{ selector: 'xuilib-contact-details', template: "<div class=\"contact-details\" *ngIf=\"data\">\n <h3 class=\"govuk-heading-m\" *ngIf=\"data.title\">{{ data.title }}</h3>\n <p *ngIf=\"data.badgeText\"><span [className]=\"'hmcts-badge ' + data.badgeColour\">{{ data.badgeText }}</span></p>\n <div class=\"email\" *ngIf=\"data.email\"><span class=\"govuk-!-font-weight-bold\">{{'Email:' | rpxTranslate}} </span> <a href=\"mailto:{{ data.email }}\">{{ data.email }}</a></div>\n <div class=\"phone\" *ngIf=\"data.phone\"><span class=\"govuk-!-font-weight-bold\">{{'Phone:' | rpxTranslate}} </span>{{ data.phone }}</div>\n <div class=\"opening-times\" *ngIf=\"data.openingTimes\"><span class=\"govuk-!-font-weight-bold\">{{'Opening times:' | rpxTranslate }} </span>{{ data.openingTimes}}</div>\n</div>\n\n", styles: [".contact-details{margin-top:30px}.contact-details h3,.contact-details p{margin-bottom:10px}\n"] }]
|
|
104
|
-
}], function () { return []; }, { data: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}] }); })();
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29udGFjdC1kZXRhaWxzL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhY3QtZGV0YWlscy9jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0lDQy9DLDZCQUErQztJQUFBLFlBQWdCO0lBQUEsaUJBQUs7OztJQUFyQixlQUFnQjtJQUFoQix1Q0FBZ0I7OztJQUMvRCx5QkFBMEIsY0FBQTtJQUFzRCxZQUFvQjtJQUFBLGlCQUFPLEVBQUE7OztJQUEzRSxlQUErQztJQUEvQyxvRUFBK0M7SUFBQyxlQUFvQjtJQUFwQiwyQ0FBb0I7OztJQUNwRyw4QkFBc0MsZUFBQTtJQUF1QyxZQUE0Qjs7SUFBQSxpQkFBTztJQUFDLDZCQUFrQztJQUFBLFlBQWdCO0lBQUEsaUJBQUksRUFBQTs7O0lBQTFGLGVBQTRCO0lBQTVCLDhEQUE0QjtJQUFXLGVBQThCO0lBQTlCLHFGQUE4QjtJQUFDLGVBQWdCO0lBQWhCLHVDQUFnQjs7O0lBQ25LLCtCQUFzQyxlQUFBO0lBQXVDLFlBQTRCOztJQUFBLGlCQUFPO0lBQUEsWUFBZ0I7SUFBQSxpQkFBTTs7O0lBQXpELGVBQTRCO0lBQTVCLDhEQUE0QjtJQUFPLGVBQWdCO0lBQWhCLHVDQUFnQjs7O0lBQ2hJLCtCQUFxRCxlQUFBO0lBQXVDLFlBQXFDOztJQUFBLGlCQUFPO0lBQUEsWUFBc0I7SUFBQSxpQkFBTTs7O0lBQXhFLGVBQXFDO0lBQXJDLHNFQUFxQztJQUFPLGVBQXNCO0lBQXRCLDhDQUFzQjs7O0lBTGhLLDhCQUEwQztJQUN4Qyw0RUFBb0U7SUFDcEUsMEVBQStHO0lBQy9HLDhFQUE2SztJQUM3Syw4RUFBc0k7SUFDdEksOEVBQW9LO0lBQ3RLLGlCQUFNOzs7SUFMeUIsZUFBZ0I7SUFBaEIsd0NBQWdCO0lBQ3pDLGVBQW9CO0lBQXBCLDRDQUFvQjtJQUNKLGVBQWdCO0lBQWhCLHdDQUFnQjtJQUNoQixlQUFnQjtJQUFoQix3Q0FBZ0I7SUFDUixlQUF1QjtJQUF2QiwrQ0FBdUI7O0FER3JELE1BQU0sT0FBTyx1QkFBdUI7SUFJaEM7SUFDQSxDQUFDOzs4RkFMUSx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ1JwQyx3RUFNTTs7UUFOd0IsK0JBQVU7O3VGRFEzQix1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDSSx3QkFBd0I7c0NBTWxCLElBQUk7a0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250YWN0RGV0YWlsc0RhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLWNvbnRhY3QtZGV0YWlscycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3REZXRhaWxzQ29tcG9uZW50IHtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBkYXRhOiBDb250YWN0RGV0YWlsc0RhdGFNb2RlbDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWN0LWRldGFpbHNcIiAqbmdJZj1cImRhdGFcIj5cbiAgPGgzIGNsYXNzPVwiZ292dWstaGVhZGluZy1tXCIgKm5nSWY9XCJkYXRhLnRpdGxlXCI+e3sgZGF0YS50aXRsZSB9fTwvaDM+XG4gIDxwICpuZ0lmPVwiZGF0YS5iYWRnZVRleHRcIj48c3BhbiBbY2xhc3NOYW1lXT1cIidobWN0cy1iYWRnZSAnICsgZGF0YS5iYWRnZUNvbG91clwiPnt7IGRhdGEuYmFkZ2VUZXh0IH19PC9zcGFuPjwvcD5cbiAgPGRpdiBjbGFzcz1cImVtYWlsXCIgKm5nSWY9XCJkYXRhLmVtYWlsXCI+PHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eydFbWFpbDonIHwgcnB4VHJhbnNsYXRlfX0gPC9zcGFuPiA8YSBocmVmPVwibWFpbHRvOnt7IGRhdGEuZW1haWwgfX1cIj57eyBkYXRhLmVtYWlsIH19PC9hPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicGhvbmVcIiAqbmdJZj1cImRhdGEucGhvbmVcIj48c3BhbiBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7J1Bob25lOicgfCBycHhUcmFuc2xhdGV9fSA8L3NwYW4+e3sgZGF0YS5waG9uZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwib3BlbmluZy10aW1lc1wiICpuZ0lmPVwiZGF0YS5vcGVuaW5nVGltZXNcIj48c3BhbiBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7J09wZW5pbmcgdGltZXM6JyB8IHJweFRyYW5zbGF0ZSB9fSA8L3NwYW4+e3sgZGF0YS5vcGVuaW5nVGltZXN9fTwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
|
|
2
|
-
import { CookieService } from '../../services/cookie/cookie.service';
|
|
3
|
-
import { windowToken } from '../../window';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/cookie/cookie.service";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "@angular/router";
|
|
8
|
-
import * as i4 from "rpx-xui-translation";
|
|
9
|
-
function CookieBannerComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
11
|
-
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3)(3, "div", 4)(4, "h2", 5);
|
|
12
|
-
i0.ɵɵtext(5);
|
|
13
|
-
i0.ɵɵpipe(6, "rpxTranslate");
|
|
14
|
-
i0.ɵɵpipe(7, "rpxTranslate");
|
|
15
|
-
i0.ɵɵelementEnd();
|
|
16
|
-
i0.ɵɵelementStart(8, "div", 6)(9, "p");
|
|
17
|
-
i0.ɵɵtext(10);
|
|
18
|
-
i0.ɵɵpipe(11, "rpxTranslate");
|
|
19
|
-
i0.ɵɵelementEnd();
|
|
20
|
-
i0.ɵɵelementStart(12, "p");
|
|
21
|
-
i0.ɵɵtext(13);
|
|
22
|
-
i0.ɵɵpipe(14, "rpxTranslate");
|
|
23
|
-
i0.ɵɵelementEnd()()()();
|
|
24
|
-
i0.ɵɵelementStart(15, "div", 7)(16, "button", 8);
|
|
25
|
-
i0.ɵɵlistener("click", function CookieBannerComponent_div_0_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.acceptCookie()); });
|
|
26
|
-
i0.ɵɵtext(17);
|
|
27
|
-
i0.ɵɵpipe(18, "rpxTranslate");
|
|
28
|
-
i0.ɵɵelementEnd();
|
|
29
|
-
i0.ɵɵelementStart(19, "button", 9);
|
|
30
|
-
i0.ɵɵlistener("click", function CookieBannerComponent_div_0_Template_button_click_19_listener() { i0.ɵɵrestoreView(_r2); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.rejectCookie()); });
|
|
31
|
-
i0.ɵɵtext(20);
|
|
32
|
-
i0.ɵɵpipe(21, "rpxTranslate");
|
|
33
|
-
i0.ɵɵelementEnd();
|
|
34
|
-
i0.ɵɵelementStart(22, "a", 10);
|
|
35
|
-
i0.ɵɵtext(23);
|
|
36
|
-
i0.ɵɵpipe(24, "rpxTranslate");
|
|
37
|
-
i0.ɵɵelementEnd()()()();
|
|
38
|
-
} if (rf & 2) {
|
|
39
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
40
|
-
i0.ɵɵattributeInterpolate1("aria-label", "'Cookies on ", ctx_r0.appName, "'");
|
|
41
|
-
i0.ɵɵadvance(5);
|
|
42
|
-
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(6, 8, "Cookies on"), " ", i0.ɵɵpipeBind1(7, 10, ctx_r0.appName), "");
|
|
43
|
-
i0.ɵɵadvance(5);
|
|
44
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 12, "We use some essential cookies to make this service work."));
|
|
45
|
-
i0.ɵɵadvance(3);
|
|
46
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 14, "We'd also like to use analytics cookies so we can understand how you use the service and make improvements."));
|
|
47
|
-
i0.ɵɵadvance(4);
|
|
48
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 16, "Accept analytics cookies"), " ");
|
|
49
|
-
i0.ɵɵadvance(3);
|
|
50
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 18, "Reject analytics cookies"), " ");
|
|
51
|
-
i0.ɵɵadvance(3);
|
|
52
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(24, 20, "View cookies"));
|
|
53
|
-
} }
|
|
54
|
-
export class CookieBannerComponent {
|
|
55
|
-
constructor(cookieService, window) {
|
|
56
|
-
this.cookieService = cookieService;
|
|
57
|
-
this.enableDynatrace = false;
|
|
58
|
-
this.rejectionNotifier = new EventEmitter();
|
|
59
|
-
this.acceptanceNotifier = new EventEmitter();
|
|
60
|
-
this.isCookieBannerVisible = false;
|
|
61
|
-
this.window = window;
|
|
62
|
-
}
|
|
63
|
-
ngOnInit() {
|
|
64
|
-
this.setState();
|
|
65
|
-
}
|
|
66
|
-
acceptCookie() {
|
|
67
|
-
this.cookieService.setCookie(this.identifier, 'true', this.getExpiryDate());
|
|
68
|
-
this.setState(true);
|
|
69
|
-
}
|
|
70
|
-
rejectCookie() {
|
|
71
|
-
this.cookieService.setCookie(this.identifier, 'false', this.getExpiryDate());
|
|
72
|
-
this.setState(true);
|
|
73
|
-
}
|
|
74
|
-
setState(reload = false) {
|
|
75
|
-
this.isCookieBannerVisible = !this.cookieService.checkCookie(this.identifier);
|
|
76
|
-
if (this.areCookiesAccepted()) {
|
|
77
|
-
this.notifyAcceptance();
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
this.notifyRejection();
|
|
81
|
-
}
|
|
82
|
-
if (reload) { // reload if any of the buttons are pressed
|
|
83
|
-
this.window.location.reload();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
areCookiesAccepted() {
|
|
87
|
-
return this.cookieService.checkCookie(this.identifier) && this.cookieService.getCookie(this.identifier) === 'true';
|
|
88
|
-
}
|
|
89
|
-
notifyRejection() {
|
|
90
|
-
this.rejectionNotifier.emit();
|
|
91
|
-
}
|
|
92
|
-
notifyAcceptance() {
|
|
93
|
-
if (this.enableDynatrace) {
|
|
94
|
-
if (this.window.hasOwnProperty('dtrum')) {
|
|
95
|
-
// @ts-ignore
|
|
96
|
-
const dtrum = this.window['dtrum'];
|
|
97
|
-
if (dtrum) {
|
|
98
|
-
try {
|
|
99
|
-
dtrum.enable();
|
|
100
|
-
dtrum.enableSessionReplay(true);
|
|
101
|
-
}
|
|
102
|
-
catch (e) {
|
|
103
|
-
console.error('Error enabling DynaTrace', e);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
console.info("DynaTrace not enabled on the server");
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
console.info("DynaTrace not enabled on the server");
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
console.info("Dyntrace RUM not enabled via component parameter");
|
|
116
|
-
}
|
|
117
|
-
this.acceptanceNotifier.emit();
|
|
118
|
-
}
|
|
119
|
-
getExpiryDate() {
|
|
120
|
-
const now = new Date();
|
|
121
|
-
const time = now.getTime();
|
|
122
|
-
const expireTime = time + 31536000000; // in 365 days = 3600 * 1000 * 24 * 365
|
|
123
|
-
now.setTime(expireTime);
|
|
124
|
-
return now.toUTCString();
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
CookieBannerComponent.ɵfac = function CookieBannerComponent_Factory(t) { return new (t || CookieBannerComponent)(i0.ɵɵdirectiveInject(i1.CookieService), i0.ɵɵdirectiveInject(windowToken)); };
|
|
128
|
-
CookieBannerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CookieBannerComponent, selectors: [["xuilib-cookie-banner"]], inputs: { identifier: "identifier", appName: "appName", enableDynatrace: "enableDynatrace" }, outputs: { rejectionNotifier: "rejectionNotifier", acceptanceNotifier: "acceptanceNotifier" }, decls: 1, vars: 1, consts: [["class", "govuk-cookie-banner ", "role", "region", 4, "ngIf"], ["role", "region", 1, "govuk-cookie-banner"], [1, "govuk-cookie-banner__message", "govuk-width-container"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], [1, "govuk-cookie-banner__heading", "govuk-heading-m"], [1, "govuk-cookie-banner__content"], [1, "govuk-button-group"], ["value", "accept", "type", "button", "name", "cookies", "data-module", "govuk-button", 1, "govuk-button", 3, "click"], ["value", "reject", "type", "button", "name", "cookies", "data-module", "govuk-button", 1, "govuk-button", 3, "click"], ["routerLink", "/cookies", 1, "govuk-link"]], template: function CookieBannerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
129
|
-
i0.ɵɵtemplate(0, CookieBannerComponent_div_0_Template, 25, 22, "div", 0);
|
|
130
|
-
} if (rf & 2) {
|
|
131
|
-
i0.ɵɵproperty("ngIf", ctx.isCookieBannerVisible);
|
|
132
|
-
} }, dependencies: [i2.NgIf, i3.RouterLink, i4.RpxTranslatePipe], encapsulation: 2 });
|
|
133
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CookieBannerComponent, [{
|
|
134
|
-
type: Component,
|
|
135
|
-
args: [{ selector: 'xuilib-cookie-banner', template: "<div class=\"govuk-cookie-banner \" role=\"region\" attr.aria-label=\"'Cookies on {{appName}}'\" *ngIf=\"isCookieBannerVisible\">\n <div class=\"govuk-cookie-banner__message govuk-width-container\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h2 class=\"govuk-cookie-banner__heading govuk-heading-m\">{{'Cookies on' | rpxTranslate}} {{appName | rpxTranslate}}</h2>\n\n <div class=\"govuk-cookie-banner__content\">\n <p>{{'We use some essential cookies to make this service work.' | rpxTranslate}}</p>\n <p>{{'We\\'d also like to use analytics cookies so we can understand how you use the service and make improvements.' | rpxTranslate}}</p>\n </div>\n </div>\n </div>\n\n <div class=\"govuk-button-group\">\n <button value=\"accept\" type=\"button\" name=\"cookies\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"acceptCookie()\">\n {{'Accept analytics cookies' | rpxTranslate}}\n </button>\n <button value=\"reject\" type=\"button\" name=\"cookies\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"rejectCookie()\">\n {{'Reject analytics cookies' | rpxTranslate}}\n </button>\n <a class=\"govuk-link\" routerLink=\"/cookies\">{{'View cookies' | rpxTranslate}}</a>\n </div>\n </div>\n</div>\n" }]
|
|
136
|
-
}], function () { return [{ type: i1.CookieService }, { type: undefined, decorators: [{
|
|
137
|
-
type: Inject,
|
|
138
|
-
args: [windowToken]
|
|
139
|
-
}] }]; }, { identifier: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], appName: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], enableDynatrace: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], rejectionNotifier: [{
|
|
146
|
-
type: Output
|
|
147
|
-
}], acceptanceNotifier: [{
|
|
148
|
-
type: Output
|
|
149
|
-
}] }); })();
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Nvb2tpZS1iYW5uZXIvY29va2llLWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Nvb2tpZS1iYW5uZXIvY29va2llLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7SUNGM0MsOEJBQXlILGFBQUEsYUFBQSxhQUFBLFlBQUE7SUFLeEQsWUFBMEQ7OztJQUFBLGlCQUFLO0lBRXhILDhCQUEwQyxRQUFBO0lBQ3JDLGFBQTZFOztJQUFBLGlCQUFJO0lBQ3BGLDBCQUFHO0lBQUEsYUFBaUk7O0lBQUEsaUJBQUksRUFBQSxFQUFBLEVBQUE7SUFLOUksK0JBQWdDLGlCQUFBO0lBQ3NFLG1LQUFTLGVBQUEscUJBQWMsQ0FBQSxJQUFDO0lBQzFILGFBQ0Y7O0lBQUEsaUJBQVM7SUFDVCxrQ0FBNkg7SUFBekIsbUtBQVMsZUFBQSxxQkFBYyxDQUFBLElBQUM7SUFDMUgsYUFDRjs7SUFBQSxpQkFBUztJQUNULDhCQUE0QztJQUFBLGFBQWlDOztJQUFBLGlCQUFJLEVBQUEsRUFBQSxFQUFBOzs7SUFyQnZDLDZFQUEwQztJQUt6QixlQUEwRDtJQUExRCw2R0FBMEQ7SUFHOUcsZUFBNkU7SUFBN0Usd0dBQTZFO0lBQzdFLGVB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UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFFLHdDQUF3QztRQUNoRixHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzBGQW5GVSxxQkFBcUIsK0RBWXRCLFdBQVc7d0VBWlYscUJBQXFCO1FDVGxDLHdFQXdCTTs7UUF4QnNGLGdEQUEyQjs7dUZEUzFHLHFCQUFxQjtjQUxqQyxTQUFTOzJCQUNJLHNCQUFzQjs7c0JBZ0IvQixNQUFNO3VCQUFDLFdBQVc7d0JBWEwsVUFBVTtrQkFBekIsS0FBSztZQUNVLE9BQU87a0JBQXRCLEtBQUs7WUFDVSxlQUFlO2tCQUE5QixLQUFLO1lBQ1csaUJBQWlCO2tCQUFqQyxNQUFNO1lBQ1Usa0JBQWtCO2tCQUFsQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29va2llL2Nvb2tpZS5zZXJ2aWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd4dWlsaWItY29va2llLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nvb2tpZS1iYW5uZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuXG5leHBvcnQgY2xhc3MgQ29va2llQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGlkZW50aWZpZXI6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGFwcE5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZUR5bmF0cmFjZTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcHVibGljIHJlamVjdGlvbk5vdGlmaWVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgYWNjZXB0YW5jZU5vdGlmaWVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIGlzQ29va2llQmFubmVyVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgcmVhZG9ubHkgd2luZG93OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pIHdpbmRvdzogYW55LFxuICApIHtcbiAgICB0aGlzLndpbmRvdyA9IHdpbmRvdztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0YXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYWNjZXB0Q29va2llKCk6IHZvaWQge1xuICAgIHRoaXMuY29va2llU2VydmljZS5zZXRDb29raWUodGhpcy5pZGVudGlmaWVyLCAndHJ1ZScsIHRoaXMuZ2V0RXhwaXJ5RGF0ZSgpKTtcbiAgICB0aGlzLnNldFN0YXRlKHRydWUpO1xuICB9XG5cbiAgcHVibGljIHJlamVjdENvb2tpZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0Q29va2llKHRoaXMuaWRlbnRpZmllciwgJ2ZhbHNlJywgdGhpcy5nZXRFeHBpcnlEYXRlKCkpO1xuICAgIHRoaXMuc2V0U3RhdGUodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U3RhdGUocmVsb2FkOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29va2llQmFubmVyVmlzaWJsZSA9ICF0aGlzLmNvb2tpZVNlcnZpY2UuY2hlY2tDb29raWUodGhpcy5pZGVudGlmaWVyKTtcblxuICAgIGlmICh0aGlzLmFyZUNvb2tpZXNBY2NlcHRlZCgpKSB7XG4gICAgICB0aGlzLm5vdGlmeUFjY2VwdGFuY2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ub3RpZnlSZWplY3Rpb24oKTtcbiAgICB9XG5cbiAgICBpZiAocmVsb2FkKSB7IC8vIHJlbG9hZCBpZiBhbnkgb2YgdGhlIGJ1dHRvbnMgYXJlIHByZXNzZWRcbiAgICAgIHRoaXMud2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhcmVDb29raWVzQWNjZXB0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29va2llU2VydmljZS5jaGVja0Nvb2tpZSh0aGlzLmlkZW50aWZpZXIpICYmIHRoaXMuY29va2llU2VydmljZS5nZXRDb29raWUodGhpcy5pZGVudGlmaWVyKSA9PT0gJ3RydWUnO1xuICB9XG5cbiAgcHVibGljIG5vdGlmeVJlamVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnJlamVjdGlvbk5vdGlmaWVyLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBub3RpZnlBY2NlcHRhbmNlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVuYWJsZUR5bmF0cmFjZSkge1xuICAgICAgaWYgKHRoaXMud2luZG93Lmhhc093blByb3BlcnR5KCdkdHJ1bScpKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgZHRydW0gPSB0aGlzLndpbmRvd1snZHRydW0nXTtcbiAgICAgICAgaWYgKGR0cnVtKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGR0cnVtLmVuYWJsZSgpO1xuICAgICAgICAgICAgZHRydW0uZW5hYmxlU2Vzc2lvblJlcGxheSh0cnVlKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBlbmFibGluZyBEeW5hVHJhY2UnLCBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5pbmZvKFwiRHluYVRyYWNlIG5vdCBlbmFibGVkIG9uIHRoZSBzZXJ2ZXJcIik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhcIkR5bmFUcmFjZSBub3QgZW5hYmxlZCBvbiB0aGUgc2VydmVyXCIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmluZm8oXCJEeW50cmFjZSBSVU0gbm90IGVuYWJsZWQgdmlhIGNvbXBvbmVudCBwYXJhbWV0ZXJcIik7XG4gICAgfVxuICAgIHRoaXMuYWNjZXB0YW5jZU5vdGlmaWVyLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhwaXJ5RGF0ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgdGltZSA9IG5vdy5nZXRUaW1lKCk7XG4gICAgY29uc3QgZXhwaXJlVGltZSA9IHRpbWUgKyAzMTUzNjAwMDAwMDsgIC8vICBpbiAzNjUgZGF5cyA9IDM2MDAgKiAxMDAwICogMjQgKiAzNjVcbiAgICBub3cuc2V0VGltZShleHBpcmVUaW1lKTtcbiAgICByZXR1cm4gbm93LnRvVVRDU3RyaW5nKCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWNvb2tpZS1iYW5uZXIgXCIgcm9sZT1cInJlZ2lvblwiIGF0dHIuYXJpYS1sYWJlbD1cIidDb29raWVzIG9uIHt7YXBwTmFtZX19J1wiICpuZ0lmPVwiaXNDb29raWVCYW5uZXJWaXNpYmxlXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1jb29raWUtYmFubmVyX19tZXNzYWdlIGdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkc1wiPlxuICAgICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1jb29raWUtYmFubmVyX19oZWFkaW5nIGdvdnVrLWhlYWRpbmctbVwiPnt7J0Nvb2tpZXMgb24nIHwgcnB4VHJhbnNsYXRlfX0ge3thcHBOYW1lIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jb29raWUtYmFubmVyX19jb250ZW50XCI+XG4gICAgICAgICAgPHA+e3snV2UgdXNlIHNvbWUgZXNzZW50aWFsIGNvb2tpZXMgdG8gbWFrZSB0aGlzIHNlcnZpY2Ugd29yay4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgICAgICAgPHA+e3snV2VcXCdkIGFsc28gbGlrZSB0byB1c2UgYW5hbHl0aWNzIGNvb2tpZXMgc28gd2UgY2FuIHVuZGVyc3RhbmQgaG93IHlvdSB1c2UgdGhlIHNlcnZpY2UgYW5kIG1ha2UgaW1wcm92ZW1lbnRzLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICAgIDxidXR0b24gdmFsdWU9XCJhY2NlcHRcIiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cImNvb2tpZXNcIiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCIgKGNsaWNrKT1cImFjY2VwdENvb2tpZSgpXCI+XG4gICAgICAgIHt7J0FjY2VwdCBhbmFseXRpY3MgY29va2llcycgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHZhbHVlPVwicmVqZWN0XCIgdHlwZT1cImJ1dHRvblwiIG5hbWU9XCJjb29raWVzXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiIChjbGljayk9XCJyZWplY3RDb29raWUoKVwiPlxuICAgICAgICB7eydSZWplY3QgYW5hbHl0aWNzIGNvb2tpZXMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgcm91dGVyTGluaz1cIi9jb29raWVzXCI+e3snVmlldyBjb29raWVzJyB8IHJweFRyYW5zbGF0ZX19PC9hPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|