@swisspost/internet-header 1.5.0-beta.2 → 1.5.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/LICENSE +202 -202
- package/dist/cjs/{if.component-313f59b8.js → if.component-51d000af.js} +6 -6
- package/dist/cjs/if.component-51d000af.js.map +1 -0
- package/dist/cjs/{klp-widget.controller-84642428.js → klp-widget.controller-d8941c4e.js} +4811 -4811
- package/dist/cjs/{klp-widget.controller-84642428.js.map → klp-widget.controller-d8941c4e.js.map} +1 -1
- package/dist/cjs/{language.service-a80ae01d.js → language.service-7dbf739d.js} +141 -141
- package/dist/cjs/language.service-7dbf739d.js.map +1 -0
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +33 -33
- package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/post-language-switch.cjs.entry.js +88 -88
- package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +51 -51
- package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js +226 -226
- package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js +15 -15
- package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-search.cjs.entry.js +556 -534
- package/dist/cjs/post-search.cjs.entry.js.map +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +41 -41
- package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
- package/dist/cjs/{store-47e14589.js → store-d0d514fc.js} +20 -13
- package/dist/cjs/store-d0d514fc.js.map +1 -0
- package/dist/cjs/{svg-icon.component-10fbda11.js → svg-icon.component-be93f876.js} +2 -2
- package/dist/cjs/svg-icon.component-be93f876.js.map +1 -0
- package/dist/cjs/{svg-sprite.component-c3b454b3.js → svg-sprite.component-1bd7a058.js} +40 -40
- package/dist/cjs/svg-sprite.component-1bd7a058.js.map +1 -0
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +370 -392
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +125 -125
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +608 -608
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/cjs/{ui.service-db4a8252.js → ui.service-e1ebb6d4.js} +28 -28
- package/dist/cjs/ui.service-e1ebb6d4.js.map +1 -0
- package/dist/cjs/{utils-b6014257.js → utils-60853c5d.js} +15 -15
- package/dist/cjs/utils-60853c5d.js.map +1 -0
- package/dist/collection/assets/config/test-configuration.json +4067 -4067
- package/dist/collection/assets/i18n/translations.js +38 -38
- package/dist/collection/assets/i18n/translations.js.map +1 -1
- package/dist/collection/assets/js/sockjs-client.js +5134 -5134
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -11
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -42
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -8
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -6
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -12
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -253
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -12
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -24
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -6
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -6
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -5
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -86
- package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
- package/dist/collection/components/post-internet-header/post-internet-header.js +676 -676
- package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -14
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -67
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -9
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js +186 -186
- package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
- package/dist/collection/components/post-logo/logo-sprite.component.js +4 -4
- package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -1
- package/dist/collection/components/post-logo/post-logo.js +60 -60
- package/dist/collection/components/post-logo/post-logo.js.map +1 -1
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -13
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -347
- package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -67
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
- package/dist/collection/components/post-search/post-search.js +362 -362
- package/dist/collection/components/post-search/post-search.js.map +1 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -51
- package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
- package/dist/collection/data/store.js +11 -11
- package/dist/collection/data/store.js.map +1 -1
- package/dist/collection/index.js +2 -2
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/models/breadcrumbs.model.js +2 -2
- package/dist/collection/models/breadcrumbs.model.js.map +1 -1
- package/dist/collection/models/coveo.model.js +2 -2
- package/dist/collection/models/coveo.model.js.map +1 -1
- package/dist/collection/models/footer.model.js +2 -2
- package/dist/collection/models/footer.model.js.map +1 -1
- package/dist/collection/models/general.model.js +2 -2
- package/dist/collection/models/general.model.js.map +1 -1
- package/dist/collection/models/geocode.model.js +10 -10
- package/dist/collection/models/geocode.model.js.map +1 -1
- package/dist/collection/models/header.model.js +2 -2
- package/dist/collection/models/header.model.js.map +1 -1
- package/dist/collection/models/implementor.model.js +2 -2
- package/dist/collection/models/implementor.model.js.map +1 -1
- package/dist/collection/models/language.model.js +2 -2
- package/dist/collection/models/language.model.js.map +1 -1
- package/dist/collection/models/track-and-trace.model.js +2 -2
- package/dist/collection/models/track-and-trace.model.js.map +1 -1
- package/dist/collection/services/config.service.js +170 -170
- package/dist/collection/services/config.service.js.map +1 -1
- package/dist/collection/services/language.service.js +107 -107
- package/dist/collection/services/language.service.js.map +1 -1
- package/dist/collection/services/route.service.js +163 -163
- package/dist/collection/services/route.service.js.map +1 -1
- package/dist/collection/services/search/coveo.service.js +34 -34
- package/dist/collection/services/search/coveo.service.js.map +1 -1
- package/dist/collection/services/search/coveo.settings.js +19 -19
- package/dist/collection/services/search/coveo.settings.js.map +1 -1
- package/dist/collection/services/search/parcel.service.js +54 -54
- package/dist/collection/services/search/parcel.service.js.map +1 -1
- package/dist/collection/services/search/places.service.js +95 -95
- package/dist/collection/services/search/places.service.js.map +1 -1
- package/dist/collection/services/search/places.settings.js +16 -16
- package/dist/collection/services/search/places.settings.js.map +1 -1
- package/dist/collection/services/search/search-utilities.js +26 -26
- package/dist/collection/services/search/search-utilities.js.map +1 -1
- package/dist/collection/services/search/search.service.js +42 -42
- package/dist/collection/services/search/search.service.js.map +1 -1
- package/dist/collection/services/ui.service.js +30 -30
- package/dist/collection/services/ui.service.js.map +1 -1
- package/dist/collection/tests/setup-tests.js +14 -14
- package/dist/collection/tests/setup-tests.js.map +1 -1
- package/dist/collection/utils/highlighted.component.js +11 -11
- package/dist/collection/utils/highlighted.component.js.map +1 -1
- package/dist/collection/utils/if.component.js +7 -7
- package/dist/collection/utils/if.component.js.map +1 -1
- package/dist/collection/utils/svg-icon.component.js +3 -3
- package/dist/collection/utils/svg-icon.component.js.map +1 -1
- package/dist/collection/utils/svg-sprite.component.js +3 -3
- package/dist/collection/utils/svg-sprite.component.js.map +1 -1
- package/dist/collection/utils/utils.js +16 -16
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/klp-widget.controller.js +4810 -4810
- package/dist/components/klp-widget.controller.js.map +1 -1
- package/dist/components/language.service.js +139 -139
- package/dist/components/language.service.js.map +1 -1
- package/dist/components/post-klp-login-widget2.js +48 -48
- package/dist/components/post-klp-login-widget2.js.map +1 -1
- package/dist/components/post-language-switch2.js +102 -102
- package/dist/components/post-language-switch2.js.map +1 -1
- package/dist/components/post-logo2.js +67 -67
- package/dist/components/post-logo2.js.map +1 -1
- package/dist/components/post-main-navigation2.js +243 -243
- package/dist/components/post-main-navigation2.js.map +1 -1
- package/dist/components/post-meta-navigation2.js +32 -32
- package/dist/components/post-meta-navigation2.js.map +1 -1
- package/dist/components/post-search2.js +577 -555
- package/dist/components/post-search2.js.map +1 -1
- package/dist/components/post-skiplinks2.js +52 -52
- package/dist/components/post-skiplinks2.js.map +1 -1
- package/dist/components/store.js +19 -12
- package/dist/components/store.js.map +1 -1
- package/dist/components/svg-icon.component.js +1 -1
- package/dist/components/svg-icon.component.js.map +1 -1
- package/dist/components/svg-sprite.component.js +39 -39
- package/dist/components/svg-sprite.component.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +387 -409
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-footer.js +140 -140
- package/dist/components/swisspost-internet-footer.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +672 -672
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/components/ui.service.js +27 -27
- package/dist/components/ui.service.js.map +1 -1
- package/dist/components/utils.js +14 -14
- package/dist/components/utils.js.map +1 -1
- package/dist/esm/{if.component-542fb8c3.js → if.component-0fe54385.js} +6 -6
- package/dist/esm/if.component-0fe54385.js.map +1 -0
- package/dist/esm/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +4811 -4811
- package/dist/esm/{klp-widget.controller-903e0422.js.map → klp-widget.controller-55366e6a.js.map} +1 -1
- package/dist/esm/{language.service-e49858e0.js → language.service-023d2711.js} +141 -141
- package/dist/esm/language.service-023d2711.js.map +1 -0
- package/dist/esm/post-klp-login-widget.entry.js +33 -33
- package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm/post-language-switch.entry.js +88 -88
- package/dist/esm/post-language-switch.entry.js.map +1 -1
- package/dist/esm/post-logo.entry.js +51 -51
- package/dist/esm/post-logo.entry.js.map +1 -1
- package/dist/esm/post-main-navigation.entry.js +226 -226
- package/dist/esm/post-main-navigation.entry.js.map +1 -1
- package/dist/esm/post-meta-navigation.entry.js +15 -15
- package/dist/esm/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm/post-search.entry.js +556 -534
- package/dist/esm/post-search.entry.js.map +1 -1
- package/dist/esm/post-skiplinks.entry.js +41 -41
- package/dist/esm/post-skiplinks.entry.js.map +1 -1
- package/dist/esm/{store-d495dc07.js → store-837c3490.js} +20 -13
- package/dist/esm/store-837c3490.js.map +1 -0
- package/dist/esm/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +2 -2
- package/dist/esm/svg-icon.component-e09b4bf9.js.map +1 -0
- package/dist/esm/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +40 -40
- package/dist/esm/svg-sprite.component-cf60303f.js.map +1 -0
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +370 -392
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-footer.entry.js +125 -125
- package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +608 -608
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +28 -28
- package/dist/esm/ui.service-2fbc9c45.js.map +1 -0
- package/dist/esm/{utils-5bf107ff.js → utils-ee79122f.js} +15 -15
- package/dist/esm/utils-ee79122f.js.map +1 -0
- package/dist/esm-es5/{if.component-542fb8c3.js → if.component-0fe54385.js} +1 -1
- package/dist/esm-es5/if.component-0fe54385.js.map +1 -0
- package/dist/esm-es5/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +1 -1
- package/dist/{swisspost-internet-header/p-83f6cd1e.js.map → esm-es5/klp-widget.controller-55366e6a.js.map} +1 -1
- package/dist/esm-es5/{language.service-e49858e0.js → language.service-023d2711.js} +2 -2
- package/dist/esm-es5/language.service-023d2711.js.map +1 -0
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-logo.entry.js.map +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/post-search.entry.js.map +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
- package/dist/esm-es5/store-837c3490.js +2 -0
- package/dist/esm-es5/store-837c3490.js.map +1 -0
- package/dist/esm-es5/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +1 -1
- package/dist/esm-es5/svg-icon.component-e09b4bf9.js.map +1 -0
- package/dist/esm-es5/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +1 -1
- package/dist/esm-es5/svg-sprite.component-cf60303f.js.map +1 -0
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +1 -1
- package/dist/esm-es5/ui.service-2fbc9c45.js.map +1 -0
- package/dist/esm-es5/{utils-5bf107ff.js → utils-ee79122f.js} +1 -1
- package/dist/esm-es5/utils-ee79122f.js.map +1 -0
- package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -4067
- package/dist/swisspost-internet-header/p-06649b46.js +2 -0
- package/dist/swisspost-internet-header/p-06649b46.js.map +1 -0
- package/dist/swisspost-internet-header/{p-ec80c8fc.js → p-0942595f.js} +2 -2
- package/dist/swisspost-internet-header/p-0942595f.js.map +1 -0
- package/dist/swisspost-internet-header/{p-c29ec122.system.js → p-0c5624c0.system.js} +1 -1
- package/dist/swisspost-internet-header/p-0c5624c0.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-2eb04045.entry.js → p-0cba8ab4.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-0cba8ab4.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
- package/dist/swisspost-internet-header/{p-ddcb8258.entry.js → p-26879023.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-26879023.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-cb3de015.system.entry.js → p-28e6362f.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-28e6362f.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-00fd320e.entry.js → p-322526ef.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-322526ef.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-f4ff1e9e.system.js → p-3753a678.system.js} +2 -2
- package/dist/swisspost-internet-header/p-3753a678.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a9c4b2d0.system.entry.js → p-38d645ba.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-38d645ba.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-872a76a4.system.js → p-42695801.system.js} +1 -1
- package/dist/swisspost-internet-header/p-42695801.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-bdabd6ac.js → p-45db66a6.js} +1 -1
- package/dist/swisspost-internet-header/p-45db66a6.js.map +1 -0
- package/dist/swisspost-internet-header/p-493337e1.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-493337e1.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-78f653be.system.entry.js → p-5d2fac3b.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-5d2fac3b.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-62c5cf26.entry.js +2 -0
- package/dist/swisspost-internet-header/p-62c5cf26.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-9d0a7039.entry.js → p-64cb215a.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-64cb215a.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a51ad207.system.entry.js → p-66144e99.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-66144e99.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +7 -0
- package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-12baacf0.entry.js → p-77d5e07f.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-77d5e07f.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-7ea26ee9.entry.js +2 -0
- package/dist/swisspost-internet-header/p-7ea26ee9.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-7fcba2e7.system.js +2 -0
- package/dist/swisspost-internet-header/p-7fcba2e7.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-549b62ba.system.js → p-88aac12c.system.js} +1 -1
- package/dist/swisspost-internet-header/p-88aac12c.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-0e2ec555.js → p-8bf099a8.js} +1 -1
- package/dist/swisspost-internet-header/p-8bf099a8.js.map +1 -0
- package/dist/swisspost-internet-header/{p-8717445f.entry.js → p-95b81c4d.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-95b81c4d.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-3eb881c3.js → p-a2f9d462.js} +1 -1
- package/dist/swisspost-internet-header/p-a2f9d462.js.map +1 -0
- package/dist/swisspost-internet-header/{p-eeff8b03.js → p-ab1dd269.js} +1 -1
- package/dist/swisspost-internet-header/p-ab1dd269.js.map +1 -0
- package/dist/swisspost-internet-header/p-b228fe49.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-b228fe49.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a4160d23.entry.js → p-ccb522ba.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-cfa787d7.entry.js +6 -0
- package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-c946c5b8.system.entry.js → p-d6539597.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-d6539597.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-b406315a.system.entry.js → p-e2990968.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-e2990968.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-83f6cd1e.js → p-ed24b372.js} +1 -1
- package/dist/swisspost-internet-header/p-ed24b372.js.map +1 -0
- package/dist/swisspost-internet-header/{p-9509f6c7.system.js → p-edb2802d.system.js} +1 -1
- package/dist/swisspost-internet-header/p-edb2802d.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-ee915bbe.system.js → p-ee119d2e.system.js} +1 -1
- package/dist/swisspost-internet-header/p-ee119d2e.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-883f9547.system.entry.js → p-f38f38f4.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-3ba40afe.js → p-f7c0cf7b.js} +1 -1
- package/dist/swisspost-internet-header/p-f7c0cf7b.js.map +1 -0
- package/dist/swisspost-internet-header/{p-4654b2af.system.js → p-ffc59851.system.js} +1 -1
- package/dist/swisspost-internet-header/p-ffc59851.system.js.map +1 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/types/assets/i18n/translations.d.ts +37 -37
- package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -9
- package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -12
- package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -7
- package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -6
- package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -16
- package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -45
- package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -6
- package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -4
- package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -10
- package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -124
- package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -3
- package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -10
- package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -6
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -27
- package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -4
- package/dist/types/components/post-logo/post-logo.d.ts +11 -11
- package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -8
- package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -48
- package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -5
- package/dist/types/components/post-search/post-search.d.ts +61 -61
- package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -9
- package/dist/types/data/store.d.ts +16 -16
- package/dist/types/index.d.ts +1 -1
- package/dist/types/models/breadcrumbs.model.d.ts +36 -36
- package/dist/types/models/coveo.model.d.ts +22 -22
- package/dist/types/models/footer.model.d.ts +48 -48
- package/dist/types/models/general.model.d.ts +46 -46
- package/dist/types/models/geocode.model.d.ts +52 -52
- package/dist/types/models/header.model.d.ts +163 -163
- package/dist/types/models/implementor.model.d.ts +22 -22
- package/dist/types/models/language.model.d.ts +6 -6
- package/dist/types/models/track-and-trace.model.d.ts +25 -25
- package/dist/types/services/config.service.d.ts +56 -56
- package/dist/types/services/language.service.d.ts +65 -65
- package/dist/types/services/route.service.d.ts +39 -39
- package/dist/types/services/search/coveo.service.d.ts +9 -9
- package/dist/types/services/search/coveo.settings.d.ts +2 -2
- package/dist/types/services/search/parcel.service.d.ts +28 -28
- package/dist/types/services/search/places.service.d.ts +24 -24
- package/dist/types/services/search/places.settings.d.ts +3 -3
- package/dist/types/services/search/search-utilities.d.ts +15 -15
- package/dist/types/services/search/search.service.d.ts +24 -24
- package/dist/types/services/ui.service.d.ts +23 -23
- package/dist/types/utils/highlighted.component.d.ts +4 -4
- package/dist/types/utils/if.component.d.ts +4 -4
- package/dist/types/utils/svg-icon.component.d.ts +4 -4
- package/dist/types/utils/svg-sprite.component.d.ts +1 -1
- package/dist/types/utils/utils.d.ts +8 -8
- package/package.json +7 -7
- package/readme.md +57 -15
- package/dist/cjs/if.component-313f59b8.js.map +0 -1
- package/dist/cjs/language.service-a80ae01d.js.map +0 -1
- package/dist/cjs/store-47e14589.js.map +0 -1
- package/dist/cjs/svg-icon.component-10fbda11.js.map +0 -1
- package/dist/cjs/svg-sprite.component-c3b454b3.js.map +0 -1
- package/dist/cjs/ui.service-db4a8252.js.map +0 -1
- package/dist/cjs/utils-b6014257.js.map +0 -1
- package/dist/esm/if.component-542fb8c3.js.map +0 -1
- package/dist/esm/language.service-e49858e0.js.map +0 -1
- package/dist/esm/store-d495dc07.js.map +0 -1
- package/dist/esm/svg-icon.component-1b1b27a2.js.map +0 -1
- package/dist/esm/svg-sprite.component-ec0ac38c.js.map +0 -1
- package/dist/esm/ui.service-1d9b0f51.js.map +0 -1
- package/dist/esm/utils-5bf107ff.js.map +0 -1
- package/dist/esm-es5/if.component-542fb8c3.js.map +0 -1
- package/dist/esm-es5/klp-widget.controller-903e0422.js.map +0 -1
- package/dist/esm-es5/language.service-e49858e0.js.map +0 -1
- package/dist/esm-es5/store-d495dc07.js +0 -2
- package/dist/esm-es5/store-d495dc07.js.map +0 -1
- package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +0 -1
- package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +0 -1
- package/dist/esm-es5/ui.service-1d9b0f51.js.map +0 -1
- package/dist/esm-es5/utils-5bf107ff.js.map +0 -1
- package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-0e2ec555.js.map +0 -1
- package/dist/swisspost-internet-header/p-12baacf0.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-3ba40afe.js.map +0 -1
- package/dist/swisspost-internet-header/p-3eb881c3.js.map +0 -1
- package/dist/swisspost-internet-header/p-458c9862.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-458c9862.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4654b2af.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-549b62ba.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-5e43c5e0.js +0 -2
- package/dist/swisspost-internet-header/p-5e43c5e0.js.map +0 -1
- package/dist/swisspost-internet-header/p-74932c29.entry.js +0 -6
- package/dist/swisspost-internet-header/p-74932c29.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-7f16a46b.entry.js +0 -2
- package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-8717445f.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-872a76a4.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-b406315a.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-bdabd6ac.js.map +0 -1
- package/dist/swisspost-internet-header/p-c29ec122.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-c69923cd.system.js +0 -2
- package/dist/swisspost-internet-header/p-c69923cd.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +0 -7
- package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-ec80c8fc.js.map +0 -1
- package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-eeff8b03.js.map +0 -1
- package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-fa0c66c7.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fa0c66c7.entry.js.map +0 -1
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { state } from '../../data/store';
|
|
2
|
-
// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883
|
|
3
|
-
// Track and trace URL
|
|
4
|
-
export const getTrackAndTraceApiUrl = (id) => {
|
|
5
|
-
const lang = state.currentLanguage;
|
|
6
|
-
return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;
|
|
7
|
-
};
|
|
8
|
-
// Get the redire
|
|
9
|
-
export const getTrackAndTraceRedirectUrl = (query, { packageTrackingRedirectUrl }) => {
|
|
10
|
-
return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Check whether a query is a tracking id
|
|
14
|
-
*
|
|
15
|
-
* @param query User query
|
|
16
|
-
* @returns Boolean
|
|
17
|
-
*/
|
|
18
|
-
export const isParcel = async (query, searchConfig) => {
|
|
19
|
-
const parcelInfo = await getParcelInfo(query, searchConfig);
|
|
20
|
-
return parcelInfo.ok;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Try to get parcel info from a query that is possibly a tracking id.
|
|
24
|
-
* This is mainly used to check if a search should redirect to track&trace instead of the regular search.
|
|
25
|
-
*
|
|
26
|
-
* @param query User query that is possibly a tracking number
|
|
27
|
-
* @returns Track and trace info
|
|
28
|
-
*/
|
|
29
|
-
export const getParcelInfo = async (query, { redirectPattern }) => {
|
|
30
|
-
const trackingNrPattern = new RegExp(redirectPattern);
|
|
31
|
-
if (trackingNrPattern.test(query)) {
|
|
32
|
-
try {
|
|
33
|
-
const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));
|
|
34
|
-
const trackAndTraceResult = await trackAndTraceReqest.json();
|
|
35
|
-
return Object.assign(Object.assign({}, trackAndTraceResult), { ok: trackAndTraceResult.ok === 'true' });
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
console.warn(`Could not check track and trace API due to error: ${error.message}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return { ok: false, timestamp: new Date().toDateString() };
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Get parcel info if query is a parcel or null
|
|
45
|
-
*
|
|
46
|
-
* @param query Parcel id
|
|
47
|
-
* @returns Parcel info and a redirect url or null if not a parcel
|
|
48
|
-
*/
|
|
49
|
-
export const getParcelSuggestion = async (query, searchConfig) => {
|
|
50
|
-
const parcelInfo = await getParcelInfo(query, searchConfig);
|
|
51
|
-
return parcelInfo.ok
|
|
52
|
-
? Object.assign(Object.assign({}, parcelInfo), { url: getTrackAndTraceRedirectUrl(query, searchConfig) }) : null;
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=parcel.service.js.map
|
|
1
|
+
import { state } from '../../data/store';
|
|
2
|
+
// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883
|
|
3
|
+
// Track and trace URL
|
|
4
|
+
export const getTrackAndTraceApiUrl = (id) => {
|
|
5
|
+
const lang = state.currentLanguage;
|
|
6
|
+
return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;
|
|
7
|
+
};
|
|
8
|
+
// Get the redire
|
|
9
|
+
export const getTrackAndTraceRedirectUrl = (query, { packageTrackingRedirectUrl }) => {
|
|
10
|
+
return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Check whether a query is a tracking id
|
|
14
|
+
*
|
|
15
|
+
* @param query User query
|
|
16
|
+
* @returns Boolean
|
|
17
|
+
*/
|
|
18
|
+
export const isParcel = async (query, searchConfig) => {
|
|
19
|
+
const parcelInfo = await getParcelInfo(query, searchConfig);
|
|
20
|
+
return parcelInfo.ok;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Try to get parcel info from a query that is possibly a tracking id.
|
|
24
|
+
* This is mainly used to check if a search should redirect to track&trace instead of the regular search.
|
|
25
|
+
*
|
|
26
|
+
* @param query User query that is possibly a tracking number
|
|
27
|
+
* @returns Track and trace info
|
|
28
|
+
*/
|
|
29
|
+
export const getParcelInfo = async (query, { redirectPattern }) => {
|
|
30
|
+
const trackingNrPattern = new RegExp(redirectPattern);
|
|
31
|
+
if (trackingNrPattern.test(query)) {
|
|
32
|
+
try {
|
|
33
|
+
const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));
|
|
34
|
+
const trackAndTraceResult = await trackAndTraceReqest.json();
|
|
35
|
+
return Object.assign(Object.assign({}, trackAndTraceResult), { ok: trackAndTraceResult.ok === 'true' });
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.warn(`Could not check track and trace API due to error: ${error.message}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return { ok: false, timestamp: new Date().toDateString() };
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Get parcel info if query is a parcel or null
|
|
45
|
+
*
|
|
46
|
+
* @param query Parcel id
|
|
47
|
+
* @returns Parcel info and a redirect url or null if not a parcel
|
|
48
|
+
*/
|
|
49
|
+
export const getParcelSuggestion = async (query, searchConfig) => {
|
|
50
|
+
const parcelInfo = await getParcelInfo(query, searchConfig);
|
|
51
|
+
return parcelInfo.ok
|
|
52
|
+
? Object.assign(Object.assign({}, parcelInfo), { url: getTrackAndTraceRedirectUrl(query, searchConfig) }) : null;
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=parcel.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parcel.service.js","sourceRoot":"","sources":["../../../../src/services/search/parcel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,iEAAiE;AAEjE,sBAAsB;AACtB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAE;EACnD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;EACnC,OAAO,uBAAuB,IAAI,yBAAyB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAa,EACb,EAAE,0BAA0B,EAAiB,EAC7C,EAAE;EACF,OAAO,0BAA0B,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,YAA2B,EAAoB,EAAE;EAC7F,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC5D,OAAO,UAAU,CAAC,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,KAAa,EACb,EAAE,eAAe,EAAiB,EACN,EAAE;EAC9B,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;EAEtD,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACjC,IAAI;MACF,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;MACvE,MAAM,mBAAmB,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;MAC7D,uCAAY,mBAAmB,KAAE,EAAE,EAAE,mBAAmB,CAAC,EAAE,KAAK,MAAM,IAAG;KAC1E;IAAC,OAAO,KAAK,EAAE;MACd,OAAO,CAAC,IAAI,CAAC,qDAAqD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACpF;GACF;EAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;AAC7D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,KAAa,EACb,YAA2B,EAC4B,EAAE;EACzD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC5D,OAAO,UAAU,CAAC,EAAE;IAClB,CAAC,iCAAM,UAAU,KAAE,GAAG,EAAE,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC,IACxE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC","sourcesContent":["import { state } from '../../data/store';\
|
|
1
|
+
{"version":3,"file":"parcel.service.js","sourceRoot":"","sources":["../../../../src/services/search/parcel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,iEAAiE;AAEjE,sBAAsB;AACtB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAE;EACnD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;EACnC,OAAO,uBAAuB,IAAI,yBAAyB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAa,EACb,EAAE,0BAA0B,EAAiB,EAC7C,EAAE;EACF,OAAO,0BAA0B,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,YAA2B,EAAoB,EAAE;EAC7F,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC5D,OAAO,UAAU,CAAC,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,KAAa,EACb,EAAE,eAAe,EAAiB,EACN,EAAE;EAC9B,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;EAEtD,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACjC,IAAI;MACF,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;MACvE,MAAM,mBAAmB,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;MAC7D,uCAAY,mBAAmB,KAAE,EAAE,EAAE,mBAAmB,CAAC,EAAE,KAAK,MAAM,IAAG;KAC1E;IAAC,OAAO,KAAK,EAAE;MACd,OAAO,CAAC,IAAI,CAAC,qDAAqD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACpF;GACF;EAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;AAC7D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,KAAa,EACb,YAA2B,EAC4B,EAAE;EACzD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC5D,OAAO,UAAU,CAAC,EAAE;IAClB,CAAC,iCAAM,UAAU,KAAE,GAAG,EAAE,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC,IACxE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC","sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\n\n// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883\n\n// Track and trace URL\nexport const getTrackAndTraceApiUrl = (id: string) => {\n const lang = state.currentLanguage;\n return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;\n};\n\n// Get the redire\nexport const getTrackAndTraceRedirectUrl = (\n query: string,\n { packageTrackingRedirectUrl }: ISearchConfig,\n) => {\n return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));\n};\n\n/**\n * Check whether a query is a tracking id\n *\n * @param query User query\n * @returns Boolean\n */\nexport const isParcel = async (query: string, searchConfig: ISearchConfig): Promise<boolean> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok;\n};\n\n/**\n * Try to get parcel info from a query that is possibly a tracking id.\n * This is mainly used to check if a search should redirect to track&trace instead of the regular search.\n *\n * @param query User query that is possibly a tracking number\n * @returns Track and trace info\n */\nexport const getParcelInfo = async (\n query: string,\n { redirectPattern }: ISearchConfig,\n): Promise<TrackAndTraceInfo> => {\n const trackingNrPattern = new RegExp(redirectPattern);\n\n if (trackingNrPattern.test(query)) {\n try {\n const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));\n const trackAndTraceResult = await trackAndTraceReqest.json();\n return { ...trackAndTraceResult, ok: trackAndTraceResult.ok === 'true' };\n } catch (error) {\n console.warn(`Could not check track and trace API due to error: ${error.message}`);\n }\n }\n\n return { ok: false, timestamp: new Date().toDateString() };\n};\n\n/**\n * Get parcel info if query is a parcel or null\n *\n * @param query Parcel id\n * @returns Parcel info and a redirect url or null if not a parcel\n */\nexport const getParcelSuggestion = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<(TrackAndTraceInfo & { url: string }) | null> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok\n ? { ...parcelInfo, url: getTrackAndTraceRedirectUrl(query, searchConfig) }\n : null;\n};\n"]}
|
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
import { state } from '../../data/store';
|
|
2
|
-
import { gisAPIUrl, pois, placesUrl } from './places.settings';
|
|
3
|
-
import { hardNormalize, createSlug } from './search-utilities';
|
|
4
|
-
// Never load types twice
|
|
5
|
-
let typesCache = null;
|
|
6
|
-
/**
|
|
7
|
-
* Convert Post POI ids to stao cache ids
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
const convertTypes = async () => {
|
|
11
|
-
if (typesCache === null) {
|
|
12
|
-
try {
|
|
13
|
-
const typesResponse = await fetch(`${gisAPIUrl}/Types?lang=${state.currentLanguage}`);
|
|
14
|
-
const typesJSON = (await typesResponse.json());
|
|
15
|
-
typesCache = encodeURIComponent(pois
|
|
16
|
-
.map(poi => {
|
|
17
|
-
const foundType = typesJSON.types.find(type => type.id === poi);
|
|
18
|
-
return foundType === null || foundType === void 0 ? void 0 : foundType.tag;
|
|
19
|
-
})
|
|
20
|
-
.filter(poi => poi !== undefined)
|
|
21
|
-
.join(','));
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');
|
|
25
|
-
throw error;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return typesCache;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Query the Gis API for locations and localities (pois)
|
|
32
|
-
*
|
|
33
|
-
* @param query User input string
|
|
34
|
-
* @returns
|
|
35
|
-
*/
|
|
36
|
-
export const queryPlaces = async (query) => {
|
|
37
|
-
if (query.length === 0) {
|
|
38
|
-
return [];
|
|
39
|
-
}
|
|
40
|
-
const limit = 8;
|
|
41
|
-
const excludeTypes = ['address', 'locality', 'region'];
|
|
42
|
-
const types = await convertTypes();
|
|
43
|
-
const geocoderUrl = `${gisAPIUrl}/Geocode?query=${encodeURIComponent(query)}&lang=${state.currentLanguage}&pois=${types}&limit=100`;
|
|
44
|
-
try {
|
|
45
|
-
const geocodeResponse = await fetch(geocoderUrl);
|
|
46
|
-
const geocodeJSON = (await geocodeResponse.json());
|
|
47
|
-
if (!geocodeJSON.ok) {
|
|
48
|
-
throw new Error(geocodeJSON.info);
|
|
49
|
-
}
|
|
50
|
-
return geocodeJSON.locations
|
|
51
|
-
.filter(location => !excludeTypes.includes(location.type))
|
|
52
|
-
.slice(0, limit);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');
|
|
56
|
-
throw error;
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Try to highlight place suggestions
|
|
61
|
-
* Limitation: accented chars are not handled by this basic function
|
|
62
|
-
*
|
|
63
|
-
* @param query Search term
|
|
64
|
-
* @param place Name of the suggested place
|
|
65
|
-
* @returns
|
|
66
|
-
*/
|
|
67
|
-
export const highlightPlacesString = (query, place) => {
|
|
68
|
-
if (query === undefined)
|
|
69
|
-
return place;
|
|
70
|
-
// Strip accents from the string
|
|
71
|
-
const reference = hardNormalize(place);
|
|
72
|
-
const q = hardNormalize(query);
|
|
73
|
-
const indexOfQuery = reference.indexOf(q);
|
|
74
|
-
if (indexOfQuery < 0) {
|
|
75
|
-
return place;
|
|
76
|
-
}
|
|
77
|
-
return `${place.substring(0, indexOfQuery)}{${place.substring(indexOfQuery, indexOfQuery + query.length)}}${place.substring(indexOfQuery + query.length, place.length)}`;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* Get the deeplink to any location found via geocoder
|
|
81
|
-
*
|
|
82
|
-
* @param location A location from the Gis API Geocode endpoint
|
|
83
|
-
* @returns
|
|
84
|
-
*/
|
|
85
|
-
export const getPlacesUrl = (location) => {
|
|
86
|
-
let url;
|
|
87
|
-
if (location.id !== '') {
|
|
88
|
-
url = `${placesUrl}/${state.currentLanguage}/${location.id}/${createSlug(location.name)}`;
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;
|
|
92
|
-
}
|
|
93
|
-
return url;
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=places.service.js.map
|
|
1
|
+
import { state } from '../../data/store';
|
|
2
|
+
import { gisAPIUrl, pois, placesUrl } from './places.settings';
|
|
3
|
+
import { hardNormalize, createSlug } from './search-utilities';
|
|
4
|
+
// Never load types twice
|
|
5
|
+
let typesCache = null;
|
|
6
|
+
/**
|
|
7
|
+
* Convert Post POI ids to stao cache ids
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
const convertTypes = async () => {
|
|
11
|
+
if (typesCache === null) {
|
|
12
|
+
try {
|
|
13
|
+
const typesResponse = await fetch(`${gisAPIUrl}/Types?lang=${state.currentLanguage}`);
|
|
14
|
+
const typesJSON = (await typesResponse.json());
|
|
15
|
+
typesCache = encodeURIComponent(pois
|
|
16
|
+
.map(poi => {
|
|
17
|
+
const foundType = typesJSON.types.find(type => type.id === poi);
|
|
18
|
+
return foundType === null || foundType === void 0 ? void 0 : foundType.tag;
|
|
19
|
+
})
|
|
20
|
+
.filter(poi => poi !== undefined)
|
|
21
|
+
.join(','));
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return typesCache;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Query the Gis API for locations and localities (pois)
|
|
32
|
+
*
|
|
33
|
+
* @param query User input string
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
export const queryPlaces = async (query) => {
|
|
37
|
+
if (query.length === 0) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
const limit = 8;
|
|
41
|
+
const excludeTypes = ['address', 'locality', 'region'];
|
|
42
|
+
const types = await convertTypes();
|
|
43
|
+
const geocoderUrl = `${gisAPIUrl}/Geocode?query=${encodeURIComponent(query)}&lang=${state.currentLanguage}&pois=${types}&limit=100`;
|
|
44
|
+
try {
|
|
45
|
+
const geocodeResponse = await fetch(geocoderUrl);
|
|
46
|
+
const geocodeJSON = (await geocodeResponse.json());
|
|
47
|
+
if (!geocodeJSON.ok) {
|
|
48
|
+
throw new Error(geocodeJSON.info);
|
|
49
|
+
}
|
|
50
|
+
return geocodeJSON.locations
|
|
51
|
+
.filter(location => !excludeTypes.includes(location.type))
|
|
52
|
+
.slice(0, limit);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Try to highlight place suggestions
|
|
61
|
+
* Limitation: accented chars are not handled by this basic function
|
|
62
|
+
*
|
|
63
|
+
* @param query Search term
|
|
64
|
+
* @param place Name of the suggested place
|
|
65
|
+
* @returns
|
|
66
|
+
*/
|
|
67
|
+
export const highlightPlacesString = (query, place) => {
|
|
68
|
+
if (query === undefined)
|
|
69
|
+
return place;
|
|
70
|
+
// Strip accents from the string
|
|
71
|
+
const reference = hardNormalize(place);
|
|
72
|
+
const q = hardNormalize(query);
|
|
73
|
+
const indexOfQuery = reference.indexOf(q);
|
|
74
|
+
if (indexOfQuery < 0) {
|
|
75
|
+
return place;
|
|
76
|
+
}
|
|
77
|
+
return `${place.substring(0, indexOfQuery)}{${place.substring(indexOfQuery, indexOfQuery + query.length)}}${place.substring(indexOfQuery + query.length, place.length)}`;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Get the deeplink to any location found via geocoder
|
|
81
|
+
*
|
|
82
|
+
* @param location A location from the Gis API Geocode endpoint
|
|
83
|
+
* @returns
|
|
84
|
+
*/
|
|
85
|
+
export const getPlacesUrl = (location) => {
|
|
86
|
+
let url;
|
|
87
|
+
if (location.id !== '') {
|
|
88
|
+
url = `${placesUrl}/${state.currentLanguage}/${location.id}/${createSlug(location.name)}`;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;
|
|
92
|
+
}
|
|
93
|
+
return url;
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=places.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"places.service.js","sourceRoot":"","sources":["../../../../src/services/search/places.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { state } from '../../data/store';\
|
|
1
|
+
{"version":3,"file":"places.service.js","sourceRoot":"","sources":["../../../../src/services/search/places.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { state } from '../../data/store';\nimport { GeocodeLocation, GeocodeResponse, ServiceTypesResponse } from '../../models/geocode.model';\nimport { gisAPIUrl, pois, placesUrl } from './places.settings';\nimport { hardNormalize, createSlug } from './search-utilities';\n\n// Never load types twice\nlet typesCache: string | null = null;\n\n/**\n * Convert Post POI ids to stao cache ids\n * @returns\n */\nconst convertTypes = async () => {\n if (typesCache === null) {\n try {\n const typesResponse = await fetch(`${gisAPIUrl}/Types?lang=${state.currentLanguage}`);\n const typesJSON = (await typesResponse.json()) as ServiceTypesResponse;\n typesCache = encodeURIComponent(\n pois\n .map(poi => {\n const foundType = typesJSON.types.find(type => type.id === poi);\n return foundType?.tag;\n })\n .filter(poi => poi !== undefined)\n .join(','),\n );\n } catch (error) {\n console.error(\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\n );\n throw error;\n }\n }\n\n return typesCache;\n};\n\n/**\n * Query the Gis API for locations and localities (pois)\n *\n * @param query User input string\n * @returns\n */\nexport const queryPlaces = async (query: string): Promise<GeocodeLocation[]> => {\n if (query.length === 0) {\n return [];\n }\n\n const limit = 8;\n const excludeTypes = ['address', 'locality', 'region'];\n const types = await convertTypes();\n const geocoderUrl = `${gisAPIUrl}/Geocode?query=${encodeURIComponent(query)}&lang=${\n state.currentLanguage\n }&pois=${types}&limit=100`;\n\n try {\n const geocodeResponse = await fetch(geocoderUrl);\n const geocodeJSON = (await geocodeResponse.json()) as GeocodeResponse;\n if (!geocodeJSON.ok) {\n throw new Error(geocodeJSON.info);\n }\n return geocodeJSON.locations\n .filter(location => !excludeTypes.includes(location.type))\n .slice(0, limit);\n } catch (error) {\n console.error(\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\n );\n throw error;\n }\n};\n\n/**\n * Try to highlight place suggestions\n * Limitation: accented chars are not handled by this basic function\n *\n * @param query Search term\n * @param place Name of the suggested place\n * @returns\n */\nexport const highlightPlacesString = (query: string | undefined, place: string) => {\n if (query === undefined) return place;\n\n // Strip accents from the string\n const reference = hardNormalize(place);\n const q = hardNormalize(query);\n const indexOfQuery = reference.indexOf(q);\n\n if (indexOfQuery < 0) {\n return place;\n }\n\n return `${place.substring(0, indexOfQuery)}{${place.substring(\n indexOfQuery,\n indexOfQuery + query.length,\n )}}${place.substring(indexOfQuery + query.length, place.length)}`;\n};\n\n/**\n * Get the deeplink to any location found via geocoder\n *\n * @param location A location from the Gis API Geocode endpoint\n * @returns\n */\nexport const getPlacesUrl = (location: GeocodeLocation): string => {\n let url: string;\n\n if (location.id !== '') {\n url = `${placesUrl}/${state.currentLanguage}/${location.id}/${createSlug(location.name)}`;\n } else {\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\n }\n\n return url;\n};\n"]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
// Implement some TOPOS logic into the header search
|
|
2
|
-
export const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';
|
|
3
|
-
export const placesUrl = 'https://places.post.ch';
|
|
4
|
-
export const pois = [
|
|
5
|
-
'001PST',
|
|
6
|
-
'001MP24',
|
|
7
|
-
'001AG-PICK',
|
|
8
|
-
'001PFFIL',
|
|
9
|
-
'001PFST',
|
|
10
|
-
'001BZ',
|
|
11
|
-
'001LZB',
|
|
12
|
-
'001PZ',
|
|
13
|
-
'001LZP',
|
|
14
|
-
'001AL',
|
|
15
|
-
];
|
|
16
|
-
//# sourceMappingURL=places.settings.js.map
|
|
1
|
+
// Implement some TOPOS logic into the header search
|
|
2
|
+
export const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';
|
|
3
|
+
export const placesUrl = 'https://places.post.ch';
|
|
4
|
+
export const pois = [
|
|
5
|
+
'001PST',
|
|
6
|
+
'001MP24',
|
|
7
|
+
'001AG-PICK',
|
|
8
|
+
'001PFFIL',
|
|
9
|
+
'001PFST',
|
|
10
|
+
'001BZ',
|
|
11
|
+
'001LZB',
|
|
12
|
+
'001PZ',
|
|
13
|
+
'001LZP',
|
|
14
|
+
'001AL',
|
|
15
|
+
];
|
|
16
|
+
//# sourceMappingURL=places.settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"places.settings.js","sourceRoot":"","sources":["../../../../src/services/search/places.settings.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,SAAS,GAAG,uDAAuD,CAAC;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAClD,MAAM,CAAC,MAAM,IAAI,GAAG;EAClB,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,UAAU;EACV,SAAS;EACT,OAAO;EACP,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACR,CAAC","sourcesContent":["// Implement some TOPOS logic into the header search\
|
|
1
|
+
{"version":3,"file":"places.settings.js","sourceRoot":"","sources":["../../../../src/services/search/places.settings.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,SAAS,GAAG,uDAAuD,CAAC;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAClD,MAAM,CAAC,MAAM,IAAI,GAAG;EAClB,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,UAAU;EACV,SAAS;EACT,OAAO;EACP,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACR,CAAC","sourcesContent":["// Implement some TOPOS logic into the header search\nexport const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';\nexport const placesUrl = 'https://places.post.ch';\nexport const pois = [\n '001PST',\n '001MP24',\n '001AG-PICK',\n '001PFFIL',\n '001PFST',\n '001BZ',\n '001LZB',\n '001PZ',\n '001LZP',\n '001AL',\n];\n"]}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import slugify from '@sindresorhus/slugify';
|
|
2
|
-
/**
|
|
3
|
-
* Transform to lowercase, extract accents to separate unicode chars,
|
|
4
|
-
* replace all accent unicode chars so only standard latin chars remain
|
|
5
|
-
* https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463
|
|
6
|
-
*
|
|
7
|
-
* @param str Input string
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
export const hardNormalize = (str) => str
|
|
11
|
-
.toLowerCase()
|
|
12
|
-
.normalize('NFD')
|
|
13
|
-
.replace(/[\u0300-\u036f]/g, '');
|
|
14
|
-
/**
|
|
15
|
-
* Convert a poi name to a URL compatible slug, logic copied from TOPOS
|
|
16
|
-
* @param fragment A poi name
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
export const createSlug = (fragment) => slugify(fragment
|
|
20
|
-
.replace(/ \/ /g, '-')
|
|
21
|
-
.replace(/ /g, '-')
|
|
22
|
-
.replace(/\//g, '')
|
|
23
|
-
.replace(/\./g, '')
|
|
24
|
-
.replace(/\,/g, '')
|
|
25
|
-
.replace(/\'/g, ''));
|
|
26
|
-
//# sourceMappingURL=search-utilities.js.map
|
|
1
|
+
import slugify from '@sindresorhus/slugify';
|
|
2
|
+
/**
|
|
3
|
+
* Transform to lowercase, extract accents to separate unicode chars,
|
|
4
|
+
* replace all accent unicode chars so only standard latin chars remain
|
|
5
|
+
* https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463
|
|
6
|
+
*
|
|
7
|
+
* @param str Input string
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export const hardNormalize = (str) => str
|
|
11
|
+
.toLowerCase()
|
|
12
|
+
.normalize('NFD')
|
|
13
|
+
.replace(/[\u0300-\u036f]/g, '');
|
|
14
|
+
/**
|
|
15
|
+
* Convert a poi name to a URL compatible slug, logic copied from TOPOS
|
|
16
|
+
* @param fragment A poi name
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export const createSlug = (fragment) => slugify(fragment
|
|
20
|
+
.replace(/ \/ /g, '-')
|
|
21
|
+
.replace(/ /g, '-')
|
|
22
|
+
.replace(/\//g, '')
|
|
23
|
+
.replace(/\./g, '')
|
|
24
|
+
.replace(/\,/g, '')
|
|
25
|
+
.replace(/\'/g, ''));
|
|
26
|
+
//# sourceMappingURL=search-utilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-utilities.js","sourceRoot":"","sources":["../../../../src/services/search/search-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE,CACnD,GAAG;GACA,WAAW,EAAE;GACb,SAAS,CAAC,KAAK,CAAC;GAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAU,EAAE,CACrD,OAAO,CACL,QAAQ;GACL,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;GACrB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,CAAC","sourcesContent":["import slugify from '@sindresorhus/slugify';\
|
|
1
|
+
{"version":3,"file":"search-utilities.js","sourceRoot":"","sources":["../../../../src/services/search/search-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE,CACnD,GAAG;GACA,WAAW,EAAE;GACb,SAAS,CAAC,KAAK,CAAC;GAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAU,EAAE,CACrD,OAAO,CACL,QAAQ;GACL,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;GACrB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,CAAC","sourcesContent":["import slugify from '@sindresorhus/slugify';\n\n/**\n * Transform to lowercase, extract accents to separate unicode chars,\n * replace all accent unicode chars so only standard latin chars remain\n * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463\n *\n * @param str Input string\n * @returns\n */\nexport const hardNormalize = (str: string): string =>\n str\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n\n/**\n * Convert a poi name to a URL compatible slug, logic copied from TOPOS\n * @param fragment A poi name\n * @returns\n */\nexport const createSlug = (fragment: string): string =>\n slugify(\n fragment\n .replace(/ \\/ /g, '-')\n .replace(/ /g, '-')\n .replace(/\\//g, '')\n .replace(/\\./g, '')\n .replace(/\\,/g, '')\n .replace(/\\'/g, ''),\n );\n"]}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { state } from '../../data/store';
|
|
2
|
-
import { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';
|
|
3
|
-
/**
|
|
4
|
-
* Construct a search page url from a query
|
|
5
|
-
*
|
|
6
|
-
* @param query Search term
|
|
7
|
-
* @returns
|
|
8
|
-
*/
|
|
9
|
-
export const getSearchRedirectUrl = async (query, searchConfig) => {
|
|
10
|
-
const isTrackTraceId = await isParcel(query, searchConfig);
|
|
11
|
-
return isTrackTraceId
|
|
12
|
-
? getTrackAndTraceRedirectUrl(query, searchConfig)
|
|
13
|
-
: getSearchPageUrl(query);
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Stitch toghether the search page URL
|
|
17
|
-
*
|
|
18
|
-
* @param query Search term
|
|
19
|
-
* @returns Search page URL
|
|
20
|
-
*/
|
|
21
|
-
export const getSearchPageUrl = (query) => {
|
|
22
|
-
var _a;
|
|
23
|
-
if (((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search) === undefined) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const { searchPageUrl } = state.localizedConfig.header.search;
|
|
27
|
-
const searchParam = `#q=${encodeURIComponent(query)}`;
|
|
28
|
-
return `${searchPageUrl}${searchParam}&t=AllTab`;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Equalize the length of two arrays while filling up empty slots up to max. length
|
|
32
|
-
*
|
|
33
|
-
* @param arrayA First array
|
|
34
|
-
* @param arrayB Second array
|
|
35
|
-
* @param maxLength Max. length of result array
|
|
36
|
-
* @returns Array with two resulting arrays
|
|
37
|
-
*/
|
|
38
|
-
export const equalizeArrays = (arrayA, arrayB, maxLength = 8) => {
|
|
39
|
-
const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));
|
|
40
|
-
return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=search.service.js.map
|
|
1
|
+
import { state } from '../../data/store';
|
|
2
|
+
import { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';
|
|
3
|
+
/**
|
|
4
|
+
* Construct a search page url from a query
|
|
5
|
+
*
|
|
6
|
+
* @param query Search term
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export const getSearchRedirectUrl = async (query, searchConfig) => {
|
|
10
|
+
const isTrackTraceId = await isParcel(query, searchConfig);
|
|
11
|
+
return isTrackTraceId
|
|
12
|
+
? getTrackAndTraceRedirectUrl(query, searchConfig)
|
|
13
|
+
: getSearchPageUrl(query);
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Stitch toghether the search page URL
|
|
17
|
+
*
|
|
18
|
+
* @param query Search term
|
|
19
|
+
* @returns Search page URL
|
|
20
|
+
*/
|
|
21
|
+
export const getSearchPageUrl = (query) => {
|
|
22
|
+
var _a;
|
|
23
|
+
if (((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search) === undefined) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const { searchPageUrl } = state.localizedConfig.header.search;
|
|
27
|
+
const searchParam = `#q=${encodeURIComponent(query)}`;
|
|
28
|
+
return `${searchPageUrl}${searchParam}&t=AllTab`;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Equalize the length of two arrays while filling up empty slots up to max. length
|
|
32
|
+
*
|
|
33
|
+
* @param arrayA First array
|
|
34
|
+
* @param arrayB Second array
|
|
35
|
+
* @param maxLength Max. length of result array
|
|
36
|
+
* @returns Array with two resulting arrays
|
|
37
|
+
*/
|
|
38
|
+
export const equalizeArrays = (arrayA, arrayB, maxLength = 8) => {
|
|
39
|
+
const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));
|
|
40
|
+
return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=search.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.service.js","sourceRoot":"","sources":["../../../../src/services/search/search.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,KAAa,EACb,YAA2B,EACE,EAAE;EAC/B,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC3D,OAAO,cAAc;IACnB,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC;IAClD,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAsB,EAAE;;EACpE,IAAI,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC,MAAM,MAAK,SAAS,EAAE;IACtD,OAAO;GACR;EACD,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;EAC9D,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;EACtD,OAAO,GAAG,aAAa,GAAG,WAAW,WAAW,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,MAAW,EAAE,MAAW,EAAE,SAAS,GAAG,CAAC,EAAc,EAAE;EAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;EACxF,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC","sourcesContent":["import { state } from '../../data/store';\
|
|
1
|
+
{"version":3,"file":"search.service.js","sourceRoot":"","sources":["../../../../src/services/search/search.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,KAAa,EACb,YAA2B,EACE,EAAE;EAC/B,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC3D,OAAO,cAAc;IACnB,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC;IAClD,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAsB,EAAE;;EACpE,IAAI,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC,MAAM,MAAK,SAAS,EAAE;IACtD,OAAO;GACR;EACD,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;EAC9D,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;EACtD,OAAO,GAAG,aAAa,GAAG,WAAW,WAAW,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,MAAW,EAAE,MAAW,EAAE,SAAS,GAAG,CAAC,EAAc,EAAE;EAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;EACxF,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC","sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';\n\n/**\n * Construct a search page url from a query\n *\n * @param query Search term\n * @returns\n */\nexport const getSearchRedirectUrl = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<string | undefined> => {\n const isTrackTraceId = await isParcel(query, searchConfig);\n return isTrackTraceId\n ? getTrackAndTraceRedirectUrl(query, searchConfig)\n : getSearchPageUrl(query);\n};\n\n/**\n * Stitch toghether the search page URL\n *\n * @param query Search term\n * @returns Search page URL\n */\nexport const getSearchPageUrl = (query: string): string | undefined => {\n if (state.localizedConfig?.header.search === undefined) {\n return;\n }\n const { searchPageUrl } = state.localizedConfig.header.search;\n const searchParam = `#q=${encodeURIComponent(query)}`;\n return `${searchPageUrl}${searchParam}&t=AllTab`;\n};\n\n/**\n * Equalize the length of two arrays while filling up empty slots up to max. length\n *\n * @param arrayA First array\n * @param arrayB Second array\n * @param maxLength Max. length of result array\n * @returns Array with two resulting arrays\n */\nexport const equalizeArrays = <A, B>(arrayA: A[], arrayB: B[], maxLength = 8): [A[], B[]] => {\n const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));\n return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];\n};\n"]}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if an element with `text-overflow: ellipsis;` is fully displayed or concatenated
|
|
3
|
-
* https://stackoverflow.com/questions/7738117/html-text-overflow-ellipsis-detection
|
|
4
|
-
*
|
|
5
|
-
* @param element Element to check. This is the element with the `text-overflow: ellipsis;` style
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export const isConcatenated = (element) => element.offsetWidth < element.scrollWidth;
|
|
9
|
-
/**
|
|
10
|
-
* Check if user preferes reduced motion
|
|
11
|
-
* Windows 10: `Windows Settings` > `Ease of Access` > `Display` > `Simplify and Personalize Windows` > `Show animations in Windows`
|
|
12
|
-
*
|
|
13
|
-
* @returns
|
|
14
|
-
*/
|
|
15
|
-
export const userPrefersReducedMotion = () => {
|
|
16
|
-
return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Check if an element has a transition applied
|
|
20
|
-
*
|
|
21
|
-
* @param element Element to check. This is the element with the `transition` style
|
|
22
|
-
* @param transition Specific transition to check for (e.g. `translate`)
|
|
23
|
-
* @returns
|
|
24
|
-
*/
|
|
25
|
-
export const elementHasTransition = (element, transition) => {
|
|
26
|
-
const style = window.getComputedStyle(element);
|
|
27
|
-
// If not specified otherwise, the default value of transition is 'all 0s ease 0s',
|
|
28
|
-
return style.transition !== 'all 0s ease 0s' && style.transition.includes(transition);
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=ui.service.js.map
|
|
1
|
+
/**
|
|
2
|
+
* Check if an element with `text-overflow: ellipsis;` is fully displayed or concatenated
|
|
3
|
+
* https://stackoverflow.com/questions/7738117/html-text-overflow-ellipsis-detection
|
|
4
|
+
*
|
|
5
|
+
* @param element Element to check. This is the element with the `text-overflow: ellipsis;` style
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export const isConcatenated = (element) => element.offsetWidth < element.scrollWidth;
|
|
9
|
+
/**
|
|
10
|
+
* Check if user preferes reduced motion
|
|
11
|
+
* Windows 10: `Windows Settings` > `Ease of Access` > `Display` > `Simplify and Personalize Windows` > `Show animations in Windows`
|
|
12
|
+
*
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
export const userPrefersReducedMotion = () => {
|
|
16
|
+
return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Check if an element has a transition applied
|
|
20
|
+
*
|
|
21
|
+
* @param element Element to check. This is the element with the `transition` style
|
|
22
|
+
* @param transition Specific transition to check for (e.g. `translate`)
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export const elementHasTransition = (element, transition) => {
|
|
26
|
+
const style = window.getComputedStyle(element);
|
|
27
|
+
// If not specified otherwise, the default value of transition is 'all 0s ease 0s',
|
|
28
|
+
return style.transition !== 'all 0s ease 0s' && style.transition.includes(transition);
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=ui.service.js.map
|