@swisspost/internet-header 1.13.0 → 1.13.2
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/dist/cjs/if.component-31542061.js +12 -0
- package/dist/cjs/{if.component-2cd3c1ff.js.map → if.component-31542061.js.map} +1 -1
- package/dist/cjs/{index-d8f6eb4c.js → index-3423c7b3.js} +126 -76
- package/dist/cjs/index-3423c7b3.js.map +1 -0
- package/dist/cjs/index.cjs.js +18 -18
- package/dist/cjs/{klp-widget.controller-8baf3b8a.js → klp-widget.controller-7fbe23c3.js} +11 -11
- package/dist/cjs/{klp-widget.controller-8baf3b8a.js.map → klp-widget.controller-7fbe23c3.js.map} +1 -1
- package/dist/cjs/language.service-4742451a.js +182 -0
- package/dist/cjs/language.service-4742451a.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/{esm/post-internet-breadcrumbs-d66f6403.js → cjs/post-internet-breadcrumbs-15f878ef.js} +278 -276
- package/dist/cjs/post-internet-breadcrumbs-15f878ef.js.map +1 -0
- package/dist/cjs/post-internet-footer-5fa54b4d.js +161 -0
- package/dist/cjs/post-internet-footer-5fa54b4d.js.map +1 -0
- package/dist/cjs/post-internet-header-797beaef.js +837 -0
- package/dist/cjs/post-internet-header-797beaef.js.map +1 -0
- package/dist/cjs/post-klp-login-widget-b0093c44.js +63 -0
- package/dist/cjs/{post-klp-login-widget-720e454a.js.map → post-klp-login-widget-b0093c44.js.map} +1 -1
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +5 -5
- package/dist/cjs/{post-language-switch-e429b5b3.js → post-language-switch-a2dacdd9.js} +88 -88
- package/dist/cjs/post-language-switch-a2dacdd9.js.map +1 -0
- package/dist/cjs/post-language-switch.cjs.entry.js +7 -7
- package/dist/cjs/{post-logo-da02bfef.js → post-logo-ac175767.js} +14 -14
- package/dist/cjs/{post-logo-da02bfef.js.map → post-logo-ac175767.js.map} +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +3 -3
- package/dist/cjs/post-main-navigation-8ed49014.js +240 -0
- package/dist/cjs/post-main-navigation-8ed49014.js.map +1 -0
- package/dist/cjs/post-main-navigation.cjs.entry.js +7 -7
- package/dist/cjs/{post-meta-navigation-287f3f61.js → post-meta-navigation-35b2926d.js} +15 -15
- package/dist/cjs/{post-meta-navigation-287f3f61.js.map → post-meta-navigation-35b2926d.js.map} +1 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js +3 -3
- package/dist/cjs/post-search-656fc0e6.js +597 -0
- package/dist/cjs/post-search-656fc0e6.js.map +1 -0
- package/dist/cjs/post-search.cjs.entry.js +8 -8
- package/dist/cjs/post-skiplinks-857502b0.js +52 -0
- package/dist/cjs/{post-skiplinks-65c64b0a.js.map → post-skiplinks-857502b0.js.map} +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +5 -5
- package/dist/cjs/{store-59e53b54.js → store-24f8d785.js} +10 -10
- package/dist/cjs/{store-59e53b54.js.map → store-24f8d785.js.map} +1 -1
- package/dist/cjs/{svg-icon.component-60f1d3d5.js → svg-icon.component-5355af90.js} +3 -3
- package/dist/cjs/{svg-icon.component-60f1d3d5.js.map → svg-icon.component-5355af90.js.map} +1 -1
- package/dist/cjs/svg-sprite.component-4f4f4f30.js +51 -0
- package/dist/cjs/{svg-sprite.component-af7a21db.js.map → svg-sprite.component-4f4f4f30.js.map} +1 -1
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +7 -7
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +5 -5
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +8 -8
- package/dist/cjs/swisspost-internet-header.cjs.js +3 -3
- package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
- package/dist/cjs/{ui.service-488151be.js → ui.service-7334148b.js} +5 -5
- package/dist/cjs/{ui.service-488151be.js.map → ui.service-7334148b.js.map} +1 -1
- package/dist/cjs/{utils-717975e0.js → utils-0a793763.js} +7 -7
- package/dist/cjs/{utils-717975e0.js.map → utils-0a793763.js.map} +1 -1
- package/dist/collection/assets/i18n/translations.js +65 -65
- package/dist/collection/assets/i18n/translations.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +4 -4
- 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 +28 -28
- 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 +1 -1
- 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 +1 -1
- 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.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +2 -2
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +288 -290
- 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 +7 -7
- 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 +16 -16
- 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 +2 -2
- 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 +2 -2
- 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 +1 -1
- 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.css +1 -1
- package/dist/collection/components/post-internet-footer/post-internet-footer.js +82 -82
- package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +42 -42
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js.map +1 -1
- package/dist/collection/components/post-internet-header/post-internet-header.css +1 -1
- package/dist/collection/components/post-internet-header/post-internet-header.js +707 -701
- 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 +10 -10
- 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.css +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +99 -99
- 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 +10 -10
- 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 +169 -171
- package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
- package/dist/collection/components/post-logo/post-logo.js +20 -20
- 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 +9 -9
- 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.css +1 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.js +313 -317
- 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 +62 -62
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
- package/dist/collection/components/post-search/post-search.css +6 -4
- package/dist/collection/components/post-search/post-search.js +367 -369
- package/dist/collection/components/post-search/post-search.js.map +1 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.js +44 -44
- package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
- package/dist/collection/data/store.js +8 -8
- package/dist/collection/data/store.js.map +1 -1
- package/dist/collection/models/geocode.model.js +6 -6
- package/dist/collection/models/geocode.model.js.map +1 -1
- package/dist/collection/services/config.service.js +116 -116
- package/dist/collection/services/config.service.js.map +1 -1
- package/dist/collection/services/language.service.js +66 -66
- package/dist/collection/services/language.service.js.map +1 -1
- package/dist/collection/services/route.service.js +105 -105
- package/dist/collection/services/route.service.js.map +1 -1
- package/dist/collection/services/search/coveo.service.js +28 -28
- package/dist/collection/services/search/coveo.service.js.map +1 -1
- package/dist/collection/services/search/coveo.settings.js +30 -30
- package/dist/collection/services/search/coveo.settings.js.map +1 -1
- package/dist/collection/services/search/parcel.service.js +29 -29
- package/dist/collection/services/search/parcel.service.js.map +1 -1
- package/dist/collection/services/search/places.service.js +44 -44
- package/dist/collection/services/search/places.service.js.map +1 -1
- package/dist/collection/services/search/places.settings.js +10 -10
- package/dist/collection/services/search/places.settings.js.map +1 -1
- package/dist/collection/services/search/search-utilities.js +3 -3
- package/dist/collection/services/search/search-utilities.js.map +1 -1
- package/dist/collection/services/search/search.service.js +13 -13
- package/dist/collection/services/search/search.service.js.map +1 -1
- package/dist/collection/services/ui.service.js +4 -4
- package/dist/collection/services/ui.service.js.map +1 -1
- package/dist/collection/utils/highlighted.component.js +7 -7
- package/dist/collection/utils/highlighted.component.js.map +1 -1
- package/dist/collection/utils/if.component.js +4 -4
- package/dist/collection/utils/if.component.js.map +1 -1
- package/dist/collection/utils/scrollparent.js +18 -15
- package/dist/collection/utils/scrollparent.js.map +1 -1
- package/dist/collection/utils/svg-icon.component.js.map +1 -1
- package/dist/collection/utils/svg-sprite.component.js.map +1 -1
- package/dist/collection/utils/utils.js +6 -6
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/index.js +18 -18
- package/dist/components/klp-widget.controller.js +10 -10
- package/dist/components/klp-widget.controller.js.map +1 -1
- package/dist/components/language.service.js +131 -131
- package/dist/components/language.service.js.map +1 -1
- package/dist/components/post-klp-login-widget.d.ts +2 -2
- package/dist/components/post-klp-login-widget2.js +61 -61
- package/dist/components/post-klp-login-widget2.js.map +1 -1
- package/dist/components/post-language-switch.d.ts +2 -2
- package/dist/components/post-language-switch2.js +99 -99
- package/dist/components/post-language-switch2.js.map +1 -1
- package/dist/components/post-logo.d.ts +2 -2
- package/dist/components/post-logo2.js +25 -25
- package/dist/components/post-logo2.js.map +1 -1
- package/dist/components/post-main-navigation.d.ts +2 -2
- package/dist/components/post-main-navigation2.js +221 -221
- package/dist/components/post-main-navigation2.js.map +1 -1
- package/dist/components/post-meta-navigation.d.ts +2 -2
- package/dist/components/post-meta-navigation2.js +29 -29
- package/dist/components/post-meta-navigation2.js.map +1 -1
- package/dist/components/post-search.d.ts +2 -2
- package/dist/components/post-search2.js +456 -456
- package/dist/components/post-search2.js.map +1 -1
- package/dist/components/post-skiplinks.d.ts +2 -2
- package/dist/components/post-skiplinks2.js +46 -46
- package/dist/components/post-skiplinks2.js.map +1 -1
- package/dist/components/store.js +8 -8
- 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 +42 -42
- package/dist/components/svg-sprite.component.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.d.ts +2 -2
- package/dist/components/swisspost-internet-breadcrumbs.js +286 -286
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-footer.d.ts +2 -2
- package/dist/components/swisspost-internet-footer.js +138 -138
- package/dist/components/swisspost-internet-footer.js.map +1 -1
- package/dist/components/swisspost-internet-header.d.ts +2 -2
- package/dist/components/swisspost-internet-header.js +684 -674
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/components/ui.service.js +4 -4
- package/dist/components/ui.service.js.map +1 -1
- package/dist/components/utils.js +6 -6
- package/dist/components/utils.js.map +1 -1
- package/dist/docs.d.ts +1 -21
- package/dist/docs.json +52 -42
- package/dist/esm/if.component-d88d9e48.js +10 -0
- package/dist/esm/{if.component-3a779aca.js.map → if.component-d88d9e48.js.map} +1 -1
- package/dist/esm/{index-9c3ab2a5.js → index-42178863.js} +126 -76
- package/dist/esm/index-42178863.js.map +1 -0
- package/dist/esm/index.js +18 -18
- package/dist/esm/{klp-widget.controller-668f7e8d.js → klp-widget.controller-549d5132.js} +11 -11
- package/dist/esm/{klp-widget.controller-668f7e8d.js.map → klp-widget.controller-549d5132.js.map} +1 -1
- package/dist/esm/language.service-8c9e6bc5.js +178 -0
- package/dist/esm/language.service-8c9e6bc5.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/{cjs/post-internet-breadcrumbs-35549ad2.js → esm/post-internet-breadcrumbs-ca69e5ac.js} +276 -278
- package/dist/esm/post-internet-breadcrumbs-ca69e5ac.js.map +1 -0
- package/dist/esm/post-internet-footer-cdae34cd.js +159 -0
- package/dist/esm/post-internet-footer-cdae34cd.js.map +1 -0
- package/dist/esm/post-internet-header-134f39f0.js +835 -0
- package/dist/esm/post-internet-header-134f39f0.js.map +1 -0
- package/dist/esm/post-klp-login-widget-0b199a8c.js +61 -0
- package/dist/esm/{post-klp-login-widget-83bce2f7.js.map → post-klp-login-widget-0b199a8c.js.map} +1 -1
- package/dist/esm/post-klp-login-widget.entry.js +5 -5
- package/dist/esm/{post-language-switch-c5fb82a7.js → post-language-switch-a7291097.js} +88 -88
- package/dist/esm/post-language-switch-a7291097.js.map +1 -0
- package/dist/esm/post-language-switch.entry.js +7 -7
- package/dist/esm/{post-logo-9c64e476.js → post-logo-a6bf90c5.js} +14 -14
- package/dist/esm/{post-logo-9c64e476.js.map → post-logo-a6bf90c5.js.map} +1 -1
- package/dist/esm/post-logo.entry.js +3 -3
- package/dist/esm/post-main-navigation-733675fb.js +238 -0
- package/dist/esm/post-main-navigation-733675fb.js.map +1 -0
- package/dist/esm/post-main-navigation.entry.js +7 -7
- package/dist/esm/{post-meta-navigation-ee6a10e5.js → post-meta-navigation-5c330dfa.js} +15 -15
- package/dist/esm/{post-meta-navigation-ee6a10e5.js.map → post-meta-navigation-5c330dfa.js.map} +1 -1
- package/dist/esm/post-meta-navigation.entry.js +3 -3
- package/dist/esm/post-search-0506c0d1.js +595 -0
- package/dist/esm/post-search-0506c0d1.js.map +1 -0
- package/dist/esm/post-search.entry.js +8 -8
- package/dist/esm/post-skiplinks-9e5d3c8e.js +50 -0
- package/dist/esm/{post-skiplinks-a6288afa.js.map → post-skiplinks-9e5d3c8e.js.map} +1 -1
- package/dist/esm/post-skiplinks.entry.js +5 -5
- package/dist/esm/{store-654647f4.js → store-c3a7c877.js} +10 -10
- package/dist/esm/{store-654647f4.js.map → store-c3a7c877.js.map} +1 -1
- package/dist/esm/svg-icon.component-bac5b09e.js +8 -0
- package/dist/esm/{svg-icon.component-dd8bec82.js.map → svg-icon.component-bac5b09e.js.map} +1 -1
- package/dist/esm/svg-sprite.component-1d9c1de3.js +49 -0
- package/dist/esm/{svg-sprite.component-883e6b13.js.map → svg-sprite.component-1d9c1de3.js.map} +1 -1
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +7 -7
- package/dist/esm/swisspost-internet-footer.entry.js +5 -5
- package/dist/esm/swisspost-internet-header.entry.js +8 -8
- package/dist/esm/swisspost-internet-header.js +4 -4
- package/dist/esm/swisspost-internet-header.js.map +1 -1
- package/dist/esm/{ui.service-a71cf490.js → ui.service-22f2c593.js} +5 -5
- package/dist/esm/{ui.service-a71cf490.js.map → ui.service-22f2c593.js.map} +1 -1
- package/dist/esm/{utils-3a8ff48f.js → utils-c8805f81.js} +7 -7
- package/dist/esm/{utils-3a8ff48f.js.map → utils-c8805f81.js.map} +1 -1
- package/dist/esm-es5/{if.component-3a779aca.js → if.component-d88d9e48.js} +1 -1
- package/dist/esm-es5/index-42178863.js +2 -0
- package/dist/esm-es5/index-42178863.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{klp-widget.controller-668f7e8d.js → klp-widget.controller-549d5132.js} +10 -10
- package/dist/esm-es5/{language.service-ce320a05.js → language.service-8c9e6bc5.js} +2 -2
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/post-internet-breadcrumbs-ca69e5ac.js +7 -0
- package/dist/esm-es5/{post-internet-breadcrumbs-d66f6403.js.map → post-internet-breadcrumbs-ca69e5ac.js.map} +1 -1
- package/dist/esm-es5/{post-internet-footer-1a85281b.js → post-internet-footer-cdae34cd.js} +2 -2
- package/dist/esm-es5/{post-internet-footer-1a85281b.js.map → post-internet-footer-cdae34cd.js.map} +1 -1
- package/dist/esm-es5/post-internet-header-134f39f0.js +2 -0
- package/dist/esm-es5/post-internet-header-134f39f0.js.map +1 -0
- package/dist/esm-es5/post-klp-login-widget-0b199a8c.js +2 -0
- package/dist/esm-es5/{post-klp-login-widget-83bce2f7.js.map → post-klp-login-widget-0b199a8c.js.map} +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/{post-language-switch-c5fb82a7.js → post-language-switch-a7291097.js} +2 -2
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/{post-logo-9c64e476.js → post-logo-a6bf90c5.js} +2 -2
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation-733675fb.js +2 -0
- package/dist/esm-es5/post-main-navigation-733675fb.js.map +1 -0
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/{post-meta-navigation-ee6a10e5.js → post-meta-navigation-5c330dfa.js} +2 -2
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-search-0506c0d1.js +2 -0
- package/dist/esm-es5/{post-search-2bcee8ff.js.map → post-search-0506c0d1.js.map} +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/{post-skiplinks-a6288afa.js → post-skiplinks-9e5d3c8e.js} +2 -2
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/{store-654647f4.js → store-c3a7c877.js} +2 -2
- package/dist/esm-es5/{store-654647f4.js.map → store-c3a7c877.js.map} +1 -1
- package/dist/esm-es5/{svg-icon.component-dd8bec82.js → svg-icon.component-bac5b09e.js} +2 -2
- package/dist/esm-es5/{svg-sprite.component-883e6b13.js → svg-sprite.component-1d9c1de3.js} +2 -2
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
- package/dist/esm-es5/{ui.service-a71cf490.js → ui.service-22f2c593.js} +1 -1
- package/dist/esm-es5/{utils-3a8ff48f.js → utils-c8805f81.js} +1 -1
- package/dist/swisspost-internet-header/index.esm.js +1 -1
- package/dist/swisspost-internet-header/{p-90495bab.system.js → p-05bb41bf.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-90495bab.system.js.map → p-05bb41bf.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-986a52bc.system.js → p-06f51515.system.js} +1 -1
- package/dist/swisspost-internet-header/{p-4fa19e3b.js → p-0adc396f.js} +2 -2
- package/dist/swisspost-internet-header/p-0df077ea.system.js +2 -0
- package/dist/swisspost-internet-header/p-0df077ea.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-1668b002.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-f2a43ce2.system.js → p-1fd8561a.system.js} +1 -1
- package/dist/swisspost-internet-header/{p-3875e06a.js → p-2133f8ff.js} +2 -2
- package/dist/swisspost-internet-header/{p-3875e06a.js.map → p-2133f8ff.js.map} +1 -1
- package/dist/swisspost-internet-header/p-266e6d3a.js +2 -0
- package/dist/swisspost-internet-header/p-266e6d3a.js.map +1 -0
- package/dist/swisspost-internet-header/{p-7eaa5689.js → p-2a8d5787.js} +1 -1
- package/dist/swisspost-internet-header/{p-a27d0d9d.system.js → p-2b163d9c.system.js} +2 -2
- package/dist/swisspost-internet-header/p-31e7f09a.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-3abbb0bc.js +3 -0
- package/dist/swisspost-internet-header/p-3abbb0bc.js.map +1 -0
- package/dist/swisspost-internet-header/p-3e4285cd.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-cf46d687.js → p-3e59929c.js} +2 -2
- package/dist/swisspost-internet-header/p-461e53b1.js +2 -0
- package/dist/swisspost-internet-header/p-4e3b909b.js +2 -0
- package/dist/swisspost-internet-header/{p-8e8fdd91.js.map → p-4e3b909b.js.map} +1 -1
- package/dist/swisspost-internet-header/p-51a44f8a.js +2 -0
- package/dist/swisspost-internet-header/{p-81245339.js.map → p-51a44f8a.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-7d9a5ba9.system.js → p-548291cb.system.js} +2 -2
- package/dist/swisspost-internet-header/p-550de753.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-56f249a0.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-62bb3696.system.js +2 -0
- package/dist/swisspost-internet-header/{p-11130047.system.js.map → p-62bb3696.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-66a7fdb3.js +7 -0
- package/dist/swisspost-internet-header/{p-606bbe0b.js.map → p-66a7fdb3.js.map} +1 -1
- package/dist/swisspost-internet-header/p-7957177c.system.js +2 -0
- package/dist/swisspost-internet-header/{p-136336f4.system.js.map → p-7957177c.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-cf06f703.js → p-840aa5c6.js} +1 -1
- package/dist/swisspost-internet-header/p-85b6421e.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-221cac54.system.js → p-87d6ddc6.system.js} +2 -2
- package/dist/swisspost-internet-header/p-8936d9c2.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-53847bbe.js → p-8f6fb84d.js} +2 -2
- package/dist/swisspost-internet-header/{p-53847bbe.js.map → p-8f6fb84d.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-7f25dd1a.system.js → p-90609524.system.js} +2 -2
- package/dist/swisspost-internet-header/p-9448353b.system.js +7 -0
- package/dist/swisspost-internet-header/{p-18784d29.system.js.map → p-9448353b.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-97a93bc5.entry.js +2 -0
- package/dist/swisspost-internet-header/p-9cb8483e.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-3339310e.js → p-a39139a9.js} +1 -1
- package/dist/swisspost-internet-header/p-a49a2089.system.js +3 -0
- package/dist/swisspost-internet-header/p-a49a2089.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-5f246e59.system.js → p-a7bc91ca.system.js} +10 -10
- package/dist/swisspost-internet-header/p-a9610d39.system.js +2 -0
- package/dist/swisspost-internet-header/p-a9610d39.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-aa836528.entry.js +2 -0
- package/dist/swisspost-internet-header/p-aae36739.entry.js +2 -0
- package/dist/swisspost-internet-header/p-b4ae4c6d.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-b588b3bf.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-0cc75941.js → p-b62ac44c.js} +2 -2
- package/dist/swisspost-internet-header/p-b9a1a146.system.js +2 -0
- package/dist/swisspost-internet-header/p-b9a1a146.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-abd9c082.system.js → p-c8567a81.system.js} +2 -2
- package/dist/swisspost-internet-header/p-c857983f.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-c9baeae6.system.js → p-c876af15.system.js} +2 -2
- package/dist/swisspost-internet-header/p-c91db812.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-34c8dc2c.js → p-ca6b8cae.js} +2 -2
- package/dist/swisspost-internet-header/p-cb958a70.entry.js +2 -0
- package/dist/swisspost-internet-header/p-d55807a5.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-0e776d6e.system.js → p-d7e221af.system.js} +1 -1
- package/dist/swisspost-internet-header/p-da01a322.system.js +2 -0
- package/dist/swisspost-internet-header/{p-bbfd407b.js → p-dc2f1d20.js} +1 -1
- package/dist/swisspost-internet-header/{p-0f41f18b.js → p-e082d4fe.js} +2 -2
- package/dist/swisspost-internet-header/{p-861ca9cc.js → p-e2b94a49.js} +2 -2
- package/dist/swisspost-internet-header/p-ec8cc78c.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-11ed194f.system.js → p-f038a170.system.js} +2 -2
- package/dist/swisspost-internet-header/p-f6816aeb.js +2 -0
- package/dist/swisspost-internet-header/p-f6816aeb.js.map +1 -0
- package/dist/swisspost-internet-header/{p-7333dfb8.system.js → p-fab8c31c.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-7333dfb8.system.js.map → p-fab8c31c.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-fc3447a7.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-fce5a989.system.entry.js +2 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.css +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.js +15 -15
- package/dist/types/assets/i18n/translations.d.ts +65 -65
- package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +6 -6
- package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +1 -1
- package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +4 -4
- package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +3 -3
- package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +6 -6
- package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +51 -51
- package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +2 -2
- package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +3 -3
- package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +1 -1
- package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +2 -2
- package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +2 -2
- package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +11 -11
- package/dist/types/components/post-internet-header/post-internet-header.d.ts +127 -125
- package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +11 -11
- package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +3 -3
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +23 -23
- package/dist/types/components/post-logo/post-logo.d.ts +2 -2
- package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +5 -5
- package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +38 -38
- package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +3 -3
- package/dist/types/components/post-search/post-search.d.ts +65 -65
- package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +7 -7
- package/dist/types/data/store.d.ts +11 -11
- package/dist/types/models/breadcrumbs.model.d.ts +25 -25
- package/dist/types/models/coveo.model.d.ts +14 -14
- package/dist/types/models/footer.model.d.ts +35 -35
- package/dist/types/models/general.model.d.ts +36 -36
- package/dist/types/models/geocode.model.d.ts +42 -42
- package/dist/types/models/header.model.d.ts +123 -123
- package/dist/types/models/implementor.model.d.ts +5 -5
- package/dist/types/models/language.model.d.ts +4 -4
- package/dist/types/models/track-and-trace.model.d.ts +22 -22
- package/dist/types/services/language.service.d.ts +65 -65
- package/dist/types/services/search/parcel.service.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +8 -0
- package/dist/types/utils/highlighted.component.d.ts +2 -2
- package/dist/types/utils/if.component.d.ts +1 -1
- package/dist/types/utils/svg-icon.component.d.ts +2 -2
- package/package.json +23 -22
- package/dist/cjs/if.component-2cd3c1ff.js +0 -12
- package/dist/cjs/index-d8f6eb4c.js.map +0 -1
- package/dist/cjs/language.service-ba88f512.js +0 -182
- package/dist/cjs/language.service-ba88f512.js.map +0 -1
- package/dist/cjs/post-internet-breadcrumbs-35549ad2.js.map +0 -1
- package/dist/cjs/post-internet-footer-6077e395.js +0 -161
- package/dist/cjs/post-internet-footer-6077e395.js.map +0 -1
- package/dist/cjs/post-internet-header-d0833b40.js +0 -828
- package/dist/cjs/post-internet-header-d0833b40.js.map +0 -1
- package/dist/cjs/post-klp-login-widget-720e454a.js +0 -63
- package/dist/cjs/post-language-switch-e429b5b3.js.map +0 -1
- package/dist/cjs/post-main-navigation-364129b8.js +0 -240
- package/dist/cjs/post-main-navigation-364129b8.js.map +0 -1
- package/dist/cjs/post-search-947e91e0.js +0 -597
- package/dist/cjs/post-search-947e91e0.js.map +0 -1
- package/dist/cjs/post-skiplinks-65c64b0a.js +0 -52
- package/dist/cjs/svg-sprite.component-af7a21db.js +0 -51
- package/dist/esm/if.component-3a779aca.js +0 -10
- package/dist/esm/index-9c3ab2a5.js.map +0 -1
- package/dist/esm/language.service-ce320a05.js +0 -178
- package/dist/esm/language.service-ce320a05.js.map +0 -1
- package/dist/esm/post-internet-breadcrumbs-d66f6403.js.map +0 -1
- package/dist/esm/post-internet-footer-1a85281b.js +0 -159
- package/dist/esm/post-internet-footer-1a85281b.js.map +0 -1
- package/dist/esm/post-internet-header-2e386826.js +0 -826
- package/dist/esm/post-internet-header-2e386826.js.map +0 -1
- package/dist/esm/post-klp-login-widget-83bce2f7.js +0 -61
- package/dist/esm/post-language-switch-c5fb82a7.js.map +0 -1
- package/dist/esm/post-main-navigation-f65c6ae6.js +0 -238
- package/dist/esm/post-main-navigation-f65c6ae6.js.map +0 -1
- package/dist/esm/post-search-2bcee8ff.js +0 -595
- package/dist/esm/post-search-2bcee8ff.js.map +0 -1
- package/dist/esm/post-skiplinks-a6288afa.js +0 -50
- package/dist/esm/svg-icon.component-dd8bec82.js +0 -8
- package/dist/esm/svg-sprite.component-883e6b13.js +0 -49
- package/dist/esm-es5/index-9c3ab2a5.js +0 -2
- package/dist/esm-es5/index-9c3ab2a5.js.map +0 -1
- package/dist/esm-es5/post-internet-breadcrumbs-d66f6403.js +0 -7
- package/dist/esm-es5/post-internet-header-2e386826.js +0 -2
- package/dist/esm-es5/post-internet-header-2e386826.js.map +0 -1
- package/dist/esm-es5/post-klp-login-widget-83bce2f7.js +0 -2
- package/dist/esm-es5/post-main-navigation-f65c6ae6.js +0 -2
- package/dist/esm-es5/post-main-navigation-f65c6ae6.js.map +0 -1
- package/dist/esm-es5/post-search-2bcee8ff.js +0 -2
- package/dist/swisspost-internet-header/p-03700f57.entry.js +0 -2
- package/dist/swisspost-internet-header/p-11130047.system.js +0 -2
- package/dist/swisspost-internet-header/p-136336f4.system.js +0 -2
- package/dist/swisspost-internet-header/p-16448630.entry.js +0 -2
- package/dist/swisspost-internet-header/p-18784d29.system.js +0 -7
- package/dist/swisspost-internet-header/p-1ba81427.system.js +0 -2
- package/dist/swisspost-internet-header/p-1ba81427.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-1c803066.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-1deb7484.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-265ea943.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-27b931f4.js +0 -3
- package/dist/swisspost-internet-header/p-27b931f4.js.map +0 -1
- package/dist/swisspost-internet-header/p-2b4536f7.entry.js +0 -2
- package/dist/swisspost-internet-header/p-32292ac8.system.js +0 -2
- package/dist/swisspost-internet-header/p-32292ac8.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-36422c11.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-3d724e84.system.js +0 -3
- package/dist/swisspost-internet-header/p-3d724e84.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-460d3542.system.js +0 -2
- package/dist/swisspost-internet-header/p-583cb740.system.js +0 -2
- package/dist/swisspost-internet-header/p-583cb740.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-606bbe0b.js +0 -7
- package/dist/swisspost-internet-header/p-7f458307.js +0 -2
- package/dist/swisspost-internet-header/p-81245339.js +0 -2
- package/dist/swisspost-internet-header/p-8238173f.entry.js +0 -2
- package/dist/swisspost-internet-header/p-8e8fdd91.js +0 -2
- package/dist/swisspost-internet-header/p-8f7878f8.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-957c0b41.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-a27dde06.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-af910442.entry.js +0 -2
- package/dist/swisspost-internet-header/p-b62bbe38.js +0 -2
- package/dist/swisspost-internet-header/p-b62bbe38.js.map +0 -1
- package/dist/swisspost-internet-header/p-b924a94f.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-bc9e30be.entry.js +0 -2
- package/dist/swisspost-internet-header/p-c0181582.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-d26e34e9.entry.js +0 -2
- package/dist/swisspost-internet-header/p-f19aad4d.entry.js +0 -2
- package/dist/swisspost-internet-header/p-f1ce2d29.entry.js +0 -2
- package/dist/swisspost-internet-header/p-f67f47fb.js +0 -2
- package/dist/swisspost-internet-header/p-f67f47fb.js.map +0 -1
- package/dist/swisspost-internet-header/p-f7cf9f71.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fdc2ba17.system.entry.js +0 -2
- /package/dist/esm-es5/{if.component-3a779aca.js.map → if.component-d88d9e48.js.map} +0 -0
- /package/dist/esm-es5/{klp-widget.controller-668f7e8d.js.map → klp-widget.controller-549d5132.js.map} +0 -0
- /package/dist/esm-es5/{language.service-ce320a05.js.map → language.service-8c9e6bc5.js.map} +0 -0
- /package/dist/esm-es5/{post-language-switch-c5fb82a7.js.map → post-language-switch-a7291097.js.map} +0 -0
- /package/dist/esm-es5/{post-logo-9c64e476.js.map → post-logo-a6bf90c5.js.map} +0 -0
- /package/dist/esm-es5/{post-meta-navigation-ee6a10e5.js.map → post-meta-navigation-5c330dfa.js.map} +0 -0
- /package/dist/esm-es5/{post-skiplinks-a6288afa.js.map → post-skiplinks-9e5d3c8e.js.map} +0 -0
- /package/dist/esm-es5/{svg-icon.component-dd8bec82.js.map → svg-icon.component-bac5b09e.js.map} +0 -0
- /package/dist/esm-es5/{svg-sprite.component-883e6b13.js.map → svg-sprite.component-1d9c1de3.js.map} +0 -0
- /package/dist/esm-es5/{ui.service-a71cf490.js.map → ui.service-22f2c593.js.map} +0 -0
- /package/dist/esm-es5/{utils-3a8ff48f.js.map → utils-c8805f81.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-986a52bc.system.js.map → p-06f51515.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-4fa19e3b.js.map → p-0adc396f.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-03700f57.entry.js.map → p-1668b002.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-f2a43ce2.system.js.map → p-1fd8561a.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-7eaa5689.js.map → p-2a8d5787.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-a27d0d9d.system.js.map → p-2b163d9c.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-16448630.entry.js.map → p-31e7f09a.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-1c803066.system.entry.js.map → p-3e4285cd.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-cf46d687.js.map → p-3e59929c.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-7f458307.js.map → p-461e53b1.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-7d9a5ba9.system.js.map → p-548291cb.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-1deb7484.system.entry.js.map → p-550de753.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-265ea943.system.entry.js.map → p-56f249a0.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-cf06f703.js.map → p-840aa5c6.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-2b4536f7.entry.js.map → p-85b6421e.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-221cac54.system.js.map → p-87d6ddc6.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-36422c11.system.entry.js.map → p-8936d9c2.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-7f25dd1a.system.js.map → p-90609524.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-460d3542.system.js.map → p-97a93bc5.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-8238173f.entry.js.map → p-9cb8483e.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-3339310e.js.map → p-a39139a9.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-5f246e59.system.js.map → p-a7bc91ca.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-8f7878f8.system.entry.js.map → p-aa836528.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-957c0b41.system.entry.js.map → p-aae36739.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-a27dde06.system.entry.js.map → p-b4ae4c6d.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-af910442.entry.js.map → p-b588b3bf.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-0cc75941.js.map → p-b62ac44c.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-abd9c082.system.js.map → p-c8567a81.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-b924a94f.system.entry.js.map → p-c857983f.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-c9baeae6.system.js.map → p-c876af15.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-bc9e30be.entry.js.map → p-c91db812.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-34c8dc2c.js.map → p-ca6b8cae.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-c0181582.system.entry.js.map → p-cb958a70.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-d26e34e9.entry.js.map → p-d55807a5.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-0e776d6e.system.js.map → p-d7e221af.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-f19aad4d.entry.js.map → p-da01a322.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-bbfd407b.js.map → p-dc2f1d20.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-0f41f18b.js.map → p-e082d4fe.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-861ca9cc.js.map → p-e2b94a49.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-f1ce2d29.entry.js.map → p-ec8cc78c.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-11ed194f.system.js.map → p-f038a170.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-f7cf9f71.entry.js.map → p-fc3447a7.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-fdc2ba17.system.entry.js.map → p-fce5a989.system.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"post-search2.js","mappings":"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","names":[],"sources":["src/services/search/parcel.service.ts","src/services/search/search.service.ts","src/services/search/coveo.settings.ts","src/services/search/coveo.service.ts","src/services/search/places.settings.ts","src/services/search/search-utilities.ts","src/services/search/places.service.ts","src/utils/highlighted.component.tsx","src/utils/if.component.tsx","src/components/post-search/post-search.scss?tag=post-search&encapsulation=shadow","src/components/post-search/post-search.tsx"],"sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\n\nlet parcelController: AbortController;\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 'sending' in parcelInfo;\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 const url = getTrackAndTraceApiUrl(query);\n\n if (parcelController) parcelController.abort();\n parcelController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, { signal: parcelController.signal })\n .then(response => response.json())\n .then((trackAndTraceResult: TrackAndTraceInfo) => {\n resolve({ ...trackAndTraceResult, ok: trackAndTraceResult.ok });\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(`Could not check track and trace API due to error: ${error.message}`);\n reject(error);\n }\n });\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","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 = 7): [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","import { CoveoOptions } from '../../models/coveo.model';\n\n// Coveo constants\nexport const coveo: CoveoOptions = {\n url: 'https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest',\n environment: {\n prod: {\n organisation: 'postchagprod6ef4sbet',\n token: 'xx5b629890-23b9-4fbe-b601-0e8719186969',\n },\n int01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n int02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n devs1: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n test: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n },\n};\n","import { state } from '../../data/store';\nimport { CoveoCompletion, CoveoResponse } from '../../models/coveo.model';\nimport { coveo } from './coveo.settings';\nimport { getSearchPageUrl } from './search.service';\n\nlet suggestionsController: AbortController;\n\n/**\n * Get suggestions from coveo\n * https://docs.coveo.com/en/1459/build-a-search-ui/get-query-suggestions#context-object\n *\n * @param query Search term\n * @returns\n */\nexport const getCoveoSuggestions = async (query: string): Promise<CoveoCompletion[]> => {\n if (\n state.localizedConfig?.header?.search === undefined ||\n state.localizedConfig?.header?.search.isCustomSuggestionHidden === true\n )\n return [];\n const config = state.localizedConfig.header.search;\n const { token, organisation } = coveo.environment[state.environment];\n const url = `${coveo.url}?q=${query}&locale=${state.currentLanguage}&searchHub=${config.searchHubName}&pipeline=${config.searchPipelineName}&organizationId=${organisation}`;\n\n if (suggestionsController) suggestionsController.abort();\n suggestionsController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, {\n signal: suggestionsController.signal,\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n .then(response => response.json())\n .then((coveoJSON: CoveoResponse) => {\n resolve(\n coveoJSON.completions.map(completion => ({\n ...completion,\n redirectUrl: getSearchPageUrl(completion.expression),\n })),\n );\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(\n `Fetching coveo suggestions failed, ${error}\\nDid you add \"*.coveo.com\" to your connect-src content security policy and tried turning off your adblocker?`,\n );\n reject(error);\n }\n });\n });\n};\n","// 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","/**\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","import { state } from '../../data/store';\nimport { GeocodeLocation, GeocodeResponse } from '../../models/geocode.model';\nimport { gisAPIUrl, placesUrl } from './places.settings';\nimport { hardNormalize } from './search-utilities';\n\nlet placesController: AbortController;\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 searchParameters = Object.entries({\n query: encodeURIComponent(query),\n lang: state.currentLanguage,\n limit: 7,\n }).reduce((s, [k, v], i) => `${s}${i === 0 ? '?' : '&'}${k}=${v}`, '');\n\n const url = `${gisAPIUrl}/Geocode${searchParameters}`;\n\n if (placesController) placesController.abort();\n placesController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, { signal: placesController.signal })\n .then(response => response.json())\n .then((geocodeJSON: GeocodeResponse) => {\n if (!geocodeJSON.ok) throw new Error(geocodeJSON.info);\n resolve(geocodeJSON.locations);\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(\n `Fetching places failed, ${error}\\nDid you add \"places.post.ch\" to your connect-src content security policy?`,\n );\n reject(error);\n }\n });\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}/detail`;\n } else {\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\n }\n\n return url;\n};\n","import { h } from '@stencil/core';\n\nexport const HighlightedText = (props: { text: string; highlightClass?: string }) => {\n const highlightClass = props.highlightClass ?? 'bold';\n const highlightedString = props.text\n .replace(/[{(]/g, `<span class=\"${highlightClass}\">`)\n .replace(/[})]/g, '</span>')\n .replace(/[\\[\\]]/g, '');\n return <span innerHTML={highlightedString}></span>;\n};\n","import { JSXBase } from '@stencil/core/internal';\n\nexport const If = (\n props: {\n condition: boolean;\n },\n children: JSXBase.IntrinsicElements,\n) => {\n if (!props.condition) {\n return null;\n }\n return children;\n};\n","@use '@swisspost/design-system-styles/core' as post;\n@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/forms';\n@use '@swisspost/design-system-styles/components/floating-label';\n@use '@swisspost/design-system-styles/components/grid';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n}\n\n.search,\n:host {\n height: 100%;\n}\n\n.search-button {\n @extend %nav-link;\n\n height: 100%;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding-right: calc(1rem - 1px);\n padding-left: calc(1rem - 1px);\n\n @include mixins.min(lg) {\n padding: 0 calc(1.125rem - 1px);\n }\n\n @include mixins.min(xl) {\n padding: 0 calc(1.5rem - 1px);\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .visually-hidden {\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n\n.flyout {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n background: white;\n overflow: auto;\n overscroll-behavior: contain;\n padding-top: 3.25rem;\n padding-bottom: 3.25rem;\n z-index: -1;\n transform: translateY(-100%);\n transition: transform 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n @include mixins.min(lg) {\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n }\n }\n\n @include mixins.max(lg) {\n height: calc(100vh - var(--header-height) - 1px);\n }\n\n &.open {\n transform: translateY(0);\n }\n}\n\n.form-floating {\n .form-control,\n .form-control + label {\n padding-right: post.$input-padding-x * 5;\n }\n}\n\n.start-search-button,\n.clear-search-button {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-right: 1rem;\n padding-left: 0.5rem;\n display: flex;\n align-items: center;\n cursor: pointer;\n background: none;\n border: 0;\n box-shadow: none;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.clear-search-button {\n right: 3rem;\n padding-right: 0.5rem;\n visibility: hidden;\n}\n\n.suggestions {\n margin: 1.5rem 0;\n\n a {\n padding: 0.75rem 1rem;\n\n &:hover,\n &:focus,\n &.selected {\n background: color.$gray-background;\n }\n\n &.parcel-suggestion {\n flex-wrap: wrap;\n }\n }\n}\n\n.search-recommendation__icon {\n height: 1.5em;\n width: 1.5em;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport { CoveoCompletion } from '../../models/coveo.model';\nimport { GeocodeLocation } from '../../models/geocode.model';\nimport { TagManagerDataLayer } from '../../models/general.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n ISearchRecommendation,\n IsFocusable,\n} from '../../models/header.model';\nimport { equalizeArrays, getSearchRedirectUrl } from '../../services/search/search.service';\nimport { getCoveoSuggestions } from '../../services/search/coveo.service';\nimport {\n getPlacesUrl,\n highlightPlacesString,\n queryPlaces,\n} from '../../services/search/places.service';\nimport { elementHasTransition, userPrefersReducedMotion } from '../../services/ui.service';\nimport { HighlightedText } from '../../utils/highlighted.component';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\nimport { getParcelSuggestion } from '../../services/search/parcel.service';\nimport { If } from '../../utils/if.component';\nimport { translate } from '../../services/language.service';\n\n@Component({\n tag: 'post-search',\n styleUrl: 'post-search.scss',\n shadow: true,\n})\nexport class PostSearch implements HasDropdown, IsFocusable {\n @State() searchDropdownOpen = false;\n @State() coveoSuggestions: CoveoCompletion[] = [];\n @State() placeSuggestions: GeocodeLocation[] = [];\n @State() parcelSuggestion: (TrackAndTraceInfo & { url: string }) | null = null;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Element() host: DropdownElement;\n private searchBox?: HTMLInputElement;\n private searchFlyout: HTMLElement | undefined;\n private throttledResize: throttle<() => void>;\n private clearButton?: HTMLButtonElement;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n }\n\n componentWillUpdate() {\n // Check if search flyout got set to close\n if (this.searchFlyout && !this.searchDropdownOpen) {\n this.searchFlyout.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n if (this.searchFlyout === undefined) {\n return resolve(true);\n }\n\n this.searchFlyout.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Search flyout got set to open\n if (this.searchFlyout && this.searchDropdownOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.searchFlyout.getBoundingClientRect();\n this.searchFlyout.classList.add('open');\n }\n\n // Focus on the searchBox whenever the dropdown is opened\n if (this.searchDropdownOpen && this.searchBox) {\n this.searchBox.focus({ preventScroll: true });\n }\n }\n\n public async toggleDropdown(event?: Event): Promise<boolean>;\n public async toggleDropdown(force?: boolean): Promise<boolean>;\n\n /**\n * Toggle the dropdown and optionally force an open/closed state\n * @param force Boolean to force open/closed state\n * @returns Boolean indicating open state of the component\n */\n @Method()\n async toggleDropdown(force?: unknown) {\n this.searchDropdownOpen =\n force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;\n this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });\n\n if (!this.searchDropdownOpen) {\n // Reset suggestions when dropdown closes\n this.coveoSuggestions = [];\n this.placeSuggestions = [];\n if (this.searchBox) this.searchBox.value = '';\n void this.setFocus();\n } else {\n // Get basic suggestions when dropdown opens\n try {\n this.coveoSuggestions = await getCoveoSuggestions('');\n } catch {}\n }\n\n this.setBodyScroll();\n\n return this.searchDropdownOpen;\n }\n\n /**\n * Sets the focus on the search button\n */\n @Method()\n public async setFocus() {\n const shadowRoot = this.host.shadowRoot;\n if (shadowRoot === null) {\n return;\n }\n const toggleButton = shadowRoot.querySelector<HTMLElement>('.search-button');\n if (toggleButton) {\n toggleButton.focus();\n }\n }\n\n private handleResize() {\n // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls\n if (this.searchDropdownOpen) {\n this.setBodyScroll();\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)\n */\n private setBodyScroll() {\n if (!this.searchFlyout) {\n return;\n }\n\n if (this.searchDropdownOpen && window.innerWidth < 1024) {\n disableBodyScroll(this.searchFlyout);\n } else {\n enableBodyScroll(this.searchFlyout);\n }\n }\n\n /**\n * Fetch suggestions from all available sources\n */\n private async handleSearchInput() {\n if (this.searchBox === undefined || state.localizedConfig?.header.search === undefined) {\n return;\n }\n const query = this.searchBox.value.trim();\n\n // shows or hides clearButton depending on the content of the searchbar\n if (this.clearButton) {\n if (query !== '') {\n this.clearButton.style.visibility = 'visible';\n } else {\n this.clearButton.style.visibility = 'hidden';\n }\n }\n\n const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([\n queryPlaces(query),\n getCoveoSuggestions(query),\n getParcelSuggestion(query, state.localizedConfig.header.search),\n ]);\n\n this.parcelSuggestion = trackAndTraceInfo;\n\n // Parcel suggestion is more important than any other\n if (trackAndTraceInfo) {\n this.placeSuggestions = [];\n this.coveoSuggestions = [];\n } else {\n [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(\n coveoSuggestions,\n placeSuggestions,\n 7,\n );\n }\n\n this.deselectSuggestion();\n }\n\n /**\n * clear Search box\n * calls handleSearchInput to update/remove suggestions\n */\n private handleClearSearchBox() {\n if (this.searchBox !== undefined) {\n this.searchBox.value = '';\n this.handleSearchInput();\n }\n }\n\n /**\n * Start search on enter\n * @param event\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (this.searchFlyout === undefined) {\n return;\n }\n\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const selectedHref = selectedSuggestion?.getAttribute('href') ?? null;\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n if (selectedHref !== null) {\n window.location.href = selectedHref;\n } else {\n void this.startSearch();\n }\n\n break;\n case 'arrowdown':\n this.deselectSuggestion();\n\n if (selectedSuggestion?.parentElement?.nextElementSibling?.firstElementChild) {\n // Select next suggestion if there's any, otherwise none will be selected\n selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n // If there are any suggestions, select first suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[0].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n case 'arrowup':\n this.deselectSuggestion();\n\n if (selectedSuggestion?.parentElement?.previousElementSibling?.firstElementChild) {\n // Select previous suggestion if there's any, otherwise none will be selected\n\n selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n // If there are any suggestions, select last suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[suggestions.length - 1].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n }\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseEnterSuggestion(event: MouseEvent) {\n this.deselectSuggestion();\n\n // Set hovered suggestion element as selected\n (event.target as HTMLElement).classList.add('selected');\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseLeaveSuggestions() {\n this.deselectSuggestion();\n }\n\n /**\n * Deselect any previously selected suggestion\n */\n private deselectSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');\n\n if (selectedSuggestion) {\n selectedSuggestion.classList.remove('selected');\n }\n }\n\n /**\n * Update search box with selected suggestion\n */\n private updateSearchBoxWithSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n // Get the newly selected suggestion\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const suggestedText = selectedSuggestion?.dataset.suggestionText;\n\n // Update search box value with selected suggestion text\n if (suggestedText !== undefined && this.searchBox) {\n this.searchBox.value = suggestedText;\n }\n }\n\n /**\n * Redirect to the post search page\n */\n private async startSearch() {\n if (this.searchBox && state.localizedConfig?.header.search) {\n const redirectUrl = await getSearchRedirectUrl(\n this.searchBox.value.trim(),\n state.localizedConfig.header.search,\n );\n if (!redirectUrl) return;\n window.location.href = redirectUrl;\n }\n }\n\n private trackRecommendationClick(recommendation: ISearchRecommendation) {\n if (!('dataLayer' in window)) return;\n\n const trackingAttributes = recommendation.additionalAttributes.reduce((acc, curr) => {\n acc[curr.name] = curr.value;\n return acc;\n }, {});\n\n (window.dataLayer as TagManagerDataLayer).push({\n event: trackingAttributes['data-event'],\n text: trackingAttributes['data-text'],\n link_url: trackingAttributes['data-linkurl'],\n label: trackingAttributes['data-label'],\n type: trackingAttributes['data-type'],\n });\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const isParcelTrackingNr = this.parcelSuggestion && 'sending' in this.parcelSuggestion;\n const showPortalRecommendations =\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\n\n return (\n <Host role=\"search\">\n <SvgSprite />\n <div class=\"search\">\n <button\n id=\"post-internet-header-search-button\"\n class=\"search-button\"\n type=\"button\"\n aria-expanded={`${this.searchDropdownOpen}`}\n onClick={e => void this.toggleDropdown(e)}\n >\n <span class=\"visually-hidden\">\n {this.searchDropdownOpen\n ? translations.searchToggleExpanded\n : translations.searchToggle}\n </span>\n <SvgIcon name={this.searchDropdownOpen ? 'pi-close' : 'pi-search'} />\n </button>\n <If condition={this.searchDropdownOpen}>\n <div class=\"flyout\" ref={e => (this.searchFlyout = e)}>\n <div class=\"container box\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-md-10 col-lg-8\">\n <div class=\"form-group form-floating\">\n <input\n type=\"text\"\n role=\"searchbox\"\n id=\"searchBox\"\n class=\"form-control form-control-lg\"\n placeholder={translations.flyoutSearchBoxFloatingLabel}\n autocomplete=\"off\"\n ref={el => (this.searchBox = el)}\n onInput={() => void this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button\n onClick={() => this.handleClearSearchBox()}\n class=\"clear-search-button\"\n type=\"reset\"\n id=\"clearButton\"\n ref={el => (this.clearButton = el)}\n >\n <span class=\"visually-hidden\">{translate('Delete search term')}</span>\n <SvgIcon name=\"pi-close\" />\n </button>\n <button onClick={() => void this.startSearch()} class=\"start-search-button\">\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\n <SvgIcon name=\"pi-search\" />\n </button>\n </div>\n {showPortalRecommendations && (\n <h2 id=\"post-internet-header-search-recommendations-title\" class=\"bold\">\n {search.searchRecommendations.title}\n </h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n aria-labelledby={\n showPortalRecommendations\n ? 'post-internet-header-search-recommendations-title'\n : undefined\n }\n >\n {showPortalRecommendations &&\n search.searchRecommendations.links.map(recommendation => (\n <li key={recommendation.href}>\n <a\n class=\"nav-link search-recommendation\"\n href={new URL(recommendation.href, 'https://post.ch').href}\n data-suggestion-text={recommendation.label}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n onClick={() => this.trackRecommendationClick(recommendation)}\n >\n <span\n class=\"search-recommendation__icon\"\n innerHTML={recommendation.inlineSvg}\n ></span>\n <span>{recommendation.label}</span>\n </a>\n </li>\n ))}\n {isParcelTrackingNr && (\n <li>\n <a\n class=\"nav-link parcel-suggestion\"\n href={this.parcelSuggestion!.url}\n data-suggestion-text={this.searchBox?.value}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-letter-parcel\" />\n <span class=\"bold\">{this.parcelSuggestion?.sending?.id}: </span>\n <span>\n {[\n this.parcelSuggestion?.sending?.product,\n ' ' + this.parcelSuggestion?.sending?.recipient.zipcode,\n ' ' + this.parcelSuggestion?.sending?.recipient.city,\n ', ' + this.parcelSuggestion?.sending?.state,\n ]\n .filter(s => s !== '' && s !== ' ')\n .join('')}\n </span>\n </a>\n </li>\n )}\n {!showPortalRecommendations &&\n this.coveoSuggestions &&\n this.coveoSuggestions.map(suggestion => (\n <li key={suggestion.objectId}>\n <a\n class=\"nav-link\"\n href={suggestion.redirectUrl}\n data-suggestion-text={suggestion.expression}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-search\" />\n <HighlightedText text={suggestion.highlighted} />\n </a>\n </li>\n ))}\n {!showPortalRecommendations &&\n this.placeSuggestions &&\n this.placeSuggestions.map(suggestion => (\n <li key={suggestion.id}>\n <a\n class=\"nav-link\"\n href={getPlacesUrl(suggestion)}\n data-suggestion-text={suggestion.name}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-place\" />\n <HighlightedText\n text={highlightPlacesString(\n this.searchBox?.value?.trim(),\n suggestion.name,\n )}\n />\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n </div>\n </If>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"post-search2.js","mappings":"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","names":[],"sources":["src/services/search/parcel.service.ts","src/services/search/search.service.ts","src/services/search/coveo.settings.ts","src/services/search/coveo.service.ts","src/services/search/places.settings.ts","src/services/search/search-utilities.ts","src/services/search/places.service.ts","src/utils/highlighted.component.tsx","src/utils/if.component.tsx","src/components/post-search/post-search.scss?tag=post-search&encapsulation=shadow","src/components/post-search/post-search.tsx"],"sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\n\nlet parcelController: AbortController;\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 'sending' in parcelInfo;\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 const url = getTrackAndTraceApiUrl(query);\n\n if (parcelController) parcelController.abort();\n parcelController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, { signal: parcelController.signal })\n .then(response => response.json())\n .then((trackAndTraceResult: TrackAndTraceInfo) => {\n resolve({ ...trackAndTraceResult, ok: trackAndTraceResult.ok });\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(`Could not check track and trace API due to error: ${error.message}`);\n reject(error);\n }\n });\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","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 = 7): [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","import { CoveoOptions } from '../../models/coveo.model';\n\n// Coveo constants\nexport const coveo: CoveoOptions = {\n url: 'https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest',\n environment: {\n prod: {\n organisation: 'postchagprod6ef4sbet',\n token: 'xx5b629890-23b9-4fbe-b601-0e8719186969',\n },\n int01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n int02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n devs1: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n test: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n },\n};\n","import { state } from '../../data/store';\nimport { CoveoCompletion, CoveoResponse } from '../../models/coveo.model';\nimport { coveo } from './coveo.settings';\nimport { getSearchPageUrl } from './search.service';\n\nlet suggestionsController: AbortController;\n\n/**\n * Get suggestions from coveo\n * https://docs.coveo.com/en/1459/build-a-search-ui/get-query-suggestions#context-object\n *\n * @param query Search term\n * @returns\n */\nexport const getCoveoSuggestions = async (query: string): Promise<CoveoCompletion[]> => {\n if (\n state.localizedConfig?.header?.search === undefined ||\n state.localizedConfig?.header?.search.isCustomSuggestionHidden === true\n )\n return [];\n const config = state.localizedConfig.header.search;\n const { token, organisation } = coveo.environment[state.environment];\n const url = `${coveo.url}?q=${query}&locale=${state.currentLanguage}&searchHub=${config.searchHubName}&pipeline=${config.searchPipelineName}&organizationId=${organisation}`;\n\n if (suggestionsController) suggestionsController.abort();\n suggestionsController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, {\n signal: suggestionsController.signal,\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n .then(response => response.json())\n .then((coveoJSON: CoveoResponse) => {\n resolve(\n coveoJSON.completions.map(completion => ({\n ...completion,\n redirectUrl: getSearchPageUrl(completion.expression),\n })),\n );\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(\n `Fetching coveo suggestions failed, ${error}\\nDid you add \"*.coveo.com\" to your connect-src content security policy and tried turning off your adblocker?`,\n );\n reject(error);\n }\n });\n });\n};\n","// 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","/**\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","import { state } from '../../data/store';\nimport { GeocodeLocation, GeocodeResponse } from '../../models/geocode.model';\nimport { gisAPIUrl, placesUrl } from './places.settings';\nimport { hardNormalize } from './search-utilities';\n\nlet placesController: AbortController;\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 searchParameters = Object.entries({\n query: encodeURIComponent(query),\n lang: state.currentLanguage,\n limit: 7,\n }).reduce((s, [k, v], i) => `${s}${i === 0 ? '?' : '&'}${k}=${v}`, '');\n\n const url = `${gisAPIUrl}/Geocode${searchParameters}`;\n\n if (placesController) placesController.abort();\n placesController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, { signal: placesController.signal })\n .then(response => response.json())\n .then((geocodeJSON: GeocodeResponse) => {\n if (!geocodeJSON.ok) throw new Error(geocodeJSON.info);\n resolve(geocodeJSON.locations);\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(\n `Fetching places failed, ${error}\\nDid you add \"places.post.ch\" to your connect-src content security policy?`,\n );\n reject(error);\n }\n });\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}/detail`;\n } else {\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\n }\n\n return url;\n};\n","import { h } from '@stencil/core';\n\nexport const HighlightedText = (props: { text: string; highlightClass?: string }) => {\n const highlightClass = props.highlightClass ?? 'bold';\n const highlightedString = props.text\n .replace(/[{(]/g, `<span class=\"${highlightClass}\">`)\n .replace(/[})]/g, '</span>')\n .replace(/[\\[\\]]/g, '');\n return <span innerHTML={highlightedString}></span>;\n};\n","import { JSXBase } from '@stencil/core/internal';\n\nexport const If = (\n props: {\n condition: boolean;\n },\n children: JSXBase.IntrinsicElements,\n) => {\n if (!props.condition) {\n return null;\n }\n return children;\n};\n","@use '@swisspost/design-system-styles/core' as post;\n@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/forms';\n@use '@swisspost/design-system-styles/components/floating-label';\n@use '@swisspost/design-system-styles/components/grid';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n}\n\n.search,\n:host {\n height: 100%;\n}\n\n.search-button {\n @extend %nav-link;\n\n height: 100%;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding-right: calc(1rem - 1px);\n padding-left: calc(1rem - 1px);\n\n @include mixins.min(lg) {\n padding: 0 calc(1.125rem - 1px);\n }\n\n @include mixins.min(xl) {\n padding: 0 calc(1.5rem - 1px);\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .visually-hidden {\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n\n.flyout {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n background: white;\n overflow: auto;\n overscroll-behavior: contain;\n padding-top: 3.25rem;\n padding-bottom: 3.25rem;\n z-index: -1;\n transform: translateY(-100%);\n transition: transform 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n @include mixins.min(lg) {\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n }\n }\n\n @include mixins.max(lg) {\n height: calc(100vh - var(--header-height) - 1px);\n }\n\n &.open {\n transform: translateY(0);\n }\n}\n\n.form-floating {\n .form-control,\n .form-control + label {\n padding-right: post.$input-padding-x * 5;\n }\n}\n\n.start-search-button,\n.clear-search-button {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-right: 1rem;\n padding-left: 0.5rem;\n display: flex;\n align-items: center;\n cursor: pointer;\n background: none;\n border: 0;\n box-shadow: none;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.clear-search-button {\n right: 3rem;\n padding-right: 0.5rem;\n visibility: hidden;\n}\n\n.suggestions {\n margin: 1.5rem 0;\n\n a {\n padding: 0.75rem 1rem;\n\n &:hover,\n &:focus,\n &.selected {\n background: color.$gray-background;\n }\n\n &.parcel-suggestion {\n flex-wrap: wrap;\n }\n }\n}\n\n.search-recommendation__icon {\n height: 1.5em;\n width: 1.5em;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport { CoveoCompletion } from '../../models/coveo.model';\nimport { GeocodeLocation } from '../../models/geocode.model';\nimport { TagManagerDataLayer } from '../../models/general.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n ISearchRecommendation,\n IsFocusable,\n} from '../../models/header.model';\nimport { equalizeArrays, getSearchRedirectUrl } from '../../services/search/search.service';\nimport { getCoveoSuggestions } from '../../services/search/coveo.service';\nimport {\n getPlacesUrl,\n highlightPlacesString,\n queryPlaces,\n} from '../../services/search/places.service';\nimport { elementHasTransition, userPrefersReducedMotion } from '../../services/ui.service';\nimport { HighlightedText } from '../../utils/highlighted.component';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\nimport { getParcelSuggestion } from '../../services/search/parcel.service';\nimport { If } from '../../utils/if.component';\nimport { translate } from '../../services/language.service';\n\n@Component({\n tag: 'post-search',\n styleUrl: 'post-search.scss',\n shadow: true,\n})\nexport class PostSearch implements HasDropdown, IsFocusable {\n @State() searchDropdownOpen = false;\n @State() coveoSuggestions: CoveoCompletion[] = [];\n @State() placeSuggestions: GeocodeLocation[] = [];\n @State() parcelSuggestion: (TrackAndTraceInfo & { url: string }) | null = null;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Element() host: DropdownElement;\n private searchBox?: HTMLInputElement;\n private searchFlyout: HTMLElement | undefined;\n private throttledResize: throttle<() => void>;\n private clearButton?: HTMLButtonElement;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n }\n\n componentWillUpdate() {\n // Check if search flyout got set to close\n if (this.searchFlyout && !this.searchDropdownOpen) {\n this.searchFlyout.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n if (this.searchFlyout === undefined) {\n return resolve(true);\n }\n\n this.searchFlyout.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Search flyout got set to open\n if (this.searchFlyout && this.searchDropdownOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.searchFlyout.getBoundingClientRect();\n this.searchFlyout.classList.add('open');\n }\n\n // Focus on the searchBox whenever the dropdown is opened\n if (this.searchDropdownOpen && this.searchBox) {\n this.searchBox.focus({ preventScroll: true });\n }\n }\n\n public async toggleDropdown(event?: Event): Promise<boolean>;\n public async toggleDropdown(force?: boolean): Promise<boolean>;\n\n /**\n * Toggle the dropdown and optionally force an open/closed state\n * @param force Boolean to force open/closed state\n * @returns Boolean indicating open state of the component\n */\n @Method()\n async toggleDropdown(force?: unknown) {\n this.searchDropdownOpen =\n force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;\n this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });\n\n if (!this.searchDropdownOpen) {\n // Reset suggestions when dropdown closes\n this.coveoSuggestions = [];\n this.placeSuggestions = [];\n if (this.searchBox) this.searchBox.value = '';\n void this.setFocus();\n } else {\n // Get basic suggestions when dropdown opens\n try {\n this.coveoSuggestions = await getCoveoSuggestions('');\n } catch {}\n }\n\n this.setBodyScroll();\n\n return this.searchDropdownOpen;\n }\n\n /**\n * Sets the focus on the search button\n */\n @Method()\n public async setFocus() {\n const shadowRoot = this.host.shadowRoot;\n if (shadowRoot === null) {\n return;\n }\n const toggleButton = shadowRoot.querySelector<HTMLElement>('.search-button');\n if (toggleButton) {\n toggleButton.focus();\n }\n }\n\n private handleResize() {\n // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls\n if (this.searchDropdownOpen) {\n this.setBodyScroll();\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)\n */\n private setBodyScroll() {\n if (!this.searchFlyout) {\n return;\n }\n\n if (this.searchDropdownOpen && window.innerWidth < 1024) {\n disableBodyScroll(this.searchFlyout);\n } else {\n enableBodyScroll(this.searchFlyout);\n }\n }\n\n /**\n * Fetch suggestions from all available sources\n */\n private async handleSearchInput() {\n if (this.searchBox === undefined || state.localizedConfig?.header.search === undefined) {\n return;\n }\n const query = this.searchBox.value.trim();\n\n // shows or hides clearButton depending on the content of the searchbar\n if (this.clearButton) {\n if (query !== '') {\n this.clearButton.style.visibility = 'visible';\n } else {\n this.clearButton.style.visibility = 'hidden';\n }\n }\n\n const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([\n queryPlaces(query),\n getCoveoSuggestions(query),\n getParcelSuggestion(query, state.localizedConfig.header.search),\n ]);\n\n this.parcelSuggestion = trackAndTraceInfo;\n\n // Parcel suggestion is more important than any other\n if (trackAndTraceInfo) {\n this.placeSuggestions = [];\n this.coveoSuggestions = [];\n } else {\n [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(\n coveoSuggestions,\n placeSuggestions,\n 7,\n );\n }\n\n this.deselectSuggestion();\n }\n\n /**\n * clear Search box\n * calls handleSearchInput to update/remove suggestions\n */\n private handleClearSearchBox() {\n if (this.searchBox !== undefined) {\n this.searchBox.value = '';\n this.handleSearchInput();\n }\n }\n\n /**\n * Start search on enter\n * @param event\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (this.searchFlyout === undefined) {\n return;\n }\n\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const selectedHref = selectedSuggestion?.getAttribute('href') ?? null;\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n if (selectedHref !== null) {\n window.location.href = selectedHref;\n } else {\n void this.startSearch();\n }\n\n break;\n case 'arrowdown':\n this.deselectSuggestion();\n\n if (selectedSuggestion?.parentElement?.nextElementSibling?.firstElementChild) {\n // Select next suggestion if there's any, otherwise none will be selected\n selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n // If there are any suggestions, select first suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[0].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n case 'arrowup':\n this.deselectSuggestion();\n\n if (selectedSuggestion?.parentElement?.previousElementSibling?.firstElementChild) {\n // Select previous suggestion if there's any, otherwise none will be selected\n\n selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n // If there are any suggestions, select last suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[suggestions.length - 1].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n }\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseEnterSuggestion(event: MouseEvent) {\n this.deselectSuggestion();\n\n // Set hovered suggestion element as selected\n (event.target as HTMLElement).classList.add('selected');\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseLeaveSuggestions() {\n this.deselectSuggestion();\n }\n\n /**\n * Deselect any previously selected suggestion\n */\n private deselectSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');\n\n if (selectedSuggestion) {\n selectedSuggestion.classList.remove('selected');\n }\n }\n\n /**\n * Update search box with selected suggestion\n */\n private updateSearchBoxWithSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n // Get the newly selected suggestion\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const suggestedText = selectedSuggestion?.dataset.suggestionText;\n\n // Update search box value with selected suggestion text\n if (suggestedText !== undefined && this.searchBox) {\n this.searchBox.value = suggestedText;\n }\n }\n\n /**\n * Redirect to the post search page\n */\n private async startSearch() {\n if (this.searchBox && state.localizedConfig?.header.search) {\n const redirectUrl = await getSearchRedirectUrl(\n this.searchBox.value.trim(),\n state.localizedConfig.header.search,\n );\n if (!redirectUrl) return;\n window.location.href = redirectUrl;\n }\n }\n\n private trackRecommendationClick(recommendation: ISearchRecommendation) {\n if (!('dataLayer' in window)) return;\n\n const trackingAttributes = recommendation.additionalAttributes.reduce((acc, curr) => {\n acc[curr.name] = curr.value;\n return acc;\n }, {});\n\n (window.dataLayer as TagManagerDataLayer).push({\n event: trackingAttributes['data-event'],\n text: trackingAttributes['data-text'],\n link_url: trackingAttributes['data-linkurl'],\n label: trackingAttributes['data-label'],\n type: trackingAttributes['data-type'],\n });\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const isParcelTrackingNr = this.parcelSuggestion && 'sending' in this.parcelSuggestion;\n const showPortalRecommendations =\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\n\n return (\n <Host role=\"search\">\n <SvgSprite />\n <div class=\"search\">\n <button\n id=\"post-internet-header-search-button\"\n class=\"search-button\"\n type=\"button\"\n aria-expanded={`${this.searchDropdownOpen}`}\n onClick={e => void this.toggleDropdown(e)}\n >\n <span class=\"visually-hidden\">\n {this.searchDropdownOpen\n ? translations.searchToggleExpanded\n : translations.searchToggle}\n </span>\n <SvgIcon name={this.searchDropdownOpen ? 'pi-close' : 'pi-search'} />\n </button>\n <If condition={this.searchDropdownOpen}>\n <div class=\"flyout\" ref={e => (this.searchFlyout = e)}>\n <div class=\"container box\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-md-10 col-lg-8\">\n <div class=\"form-group form-floating\">\n <input\n type=\"text\"\n role=\"searchbox\"\n id=\"searchBox\"\n class=\"form-control form-control-lg\"\n placeholder={translations.flyoutSearchBoxFloatingLabel}\n autocomplete=\"off\"\n ref={el => (this.searchBox = el)}\n onInput={() => void this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button\n onClick={() => this.handleClearSearchBox()}\n class=\"clear-search-button\"\n type=\"reset\"\n id=\"clearButton\"\n ref={el => (this.clearButton = el)}\n >\n <span class=\"visually-hidden\">{translate('Delete search term')}</span>\n <SvgIcon name=\"pi-close\" />\n </button>\n <button onClick={() => void this.startSearch()} class=\"start-search-button\">\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\n <SvgIcon name=\"pi-search\" />\n </button>\n </div>\n {showPortalRecommendations && (\n <h2 id=\"post-internet-header-search-recommendations-title\" class=\"bold\">\n {search.searchRecommendations.title}\n </h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n aria-labelledby={\n showPortalRecommendations\n ? 'post-internet-header-search-recommendations-title'\n : undefined\n }\n >\n {showPortalRecommendations &&\n search.searchRecommendations.links.map(recommendation => (\n <li key={recommendation.href}>\n <a\n class=\"nav-link search-recommendation\"\n href={new URL(recommendation.href, 'https://post.ch').href}\n data-suggestion-text={recommendation.label}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n onClick={() => this.trackRecommendationClick(recommendation)}\n >\n <span\n class=\"search-recommendation__icon\"\n innerHTML={recommendation.inlineSvg}\n ></span>\n <span>{recommendation.label}</span>\n </a>\n </li>\n ))}\n {isParcelTrackingNr && (\n <li>\n <a\n class=\"nav-link parcel-suggestion\"\n href={this.parcelSuggestion!.url}\n data-suggestion-text={this.searchBox?.value}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-letter-parcel\" />\n <span class=\"bold\">{this.parcelSuggestion?.sending?.id}: </span>\n <span>\n {[\n this.parcelSuggestion?.sending?.product,\n ' ' + this.parcelSuggestion?.sending?.recipient.zipcode,\n ' ' + this.parcelSuggestion?.sending?.recipient.city,\n ', ' + this.parcelSuggestion?.sending?.state,\n ]\n .filter(s => s !== '' && s !== ' ')\n .join('')}\n </span>\n </a>\n </li>\n )}\n {!showPortalRecommendations &&\n this.coveoSuggestions &&\n this.coveoSuggestions.map(suggestion => (\n <li key={suggestion.objectId}>\n <a\n class=\"nav-link\"\n href={suggestion.redirectUrl}\n data-suggestion-text={suggestion.expression}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-search\" />\n <HighlightedText text={suggestion.highlighted} />\n </a>\n </li>\n ))}\n {!showPortalRecommendations &&\n this.placeSuggestions &&\n this.placeSuggestions.map(suggestion => (\n <li key={suggestion.id}>\n <a\n class=\"nav-link\"\n href={getPlacesUrl(suggestion)}\n data-suggestion-text={suggestion.name}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-place\" />\n <HighlightedText\n text={highlightPlacesString(\n this.searchBox?.value?.trim(),\n suggestion.name,\n )}\n />\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n </div>\n </If>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -2,8 +2,8 @@ import type { Components, JSX } from "../types/components";
|
|
|
2
2
|
|
|
3
3
|
interface PostSkiplinks extends Components.PostSkiplinks, HTMLElement {}
|
|
4
4
|
export const PostSkiplinks: {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
prototype: PostSkiplinks;
|
|
6
|
+
new (): PostSkiplinks;
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
9
|
* Used to define this component and all nested components recursively.
|
|
@@ -6,57 +6,57 @@ import { S as SvgIcon } from './svg-icon.component.js';
|
|
|
6
6
|
const postSkiplinksCss = ":host{display:block}.skiplinks a{position:absolute;top:.5rem;left:.5rem;clip:rect(0 0 0 0);width:1px;overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem;background:#fff}.skiplinks a:focus-visible{position:absolute;clip:unset;width:auto}";
|
|
7
7
|
|
|
8
8
|
const PostSkiplinks = /*@__PURE__*/ proxyCustomElement(class PostSkiplinks extends HTMLElement {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
getMainId() {
|
|
14
|
-
var _a;
|
|
15
|
-
return (_a = document.querySelector('main[id]')) === null || _a === void 0 ? void 0 : _a.getAttribute('id');
|
|
16
|
-
}
|
|
17
|
-
setFocus(tagname) {
|
|
18
|
-
const rootHost = this.host.closest('.post-internet-header');
|
|
19
|
-
if (!rootHost) {
|
|
20
|
-
return;
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.__registerHost();
|
|
21
12
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
getMainId() {
|
|
14
|
+
var _a;
|
|
15
|
+
return (_a = document.querySelector('main[id]')) === null || _a === void 0 ? void 0 : _a.getAttribute('id');
|
|
25
16
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
render() {
|
|
37
|
-
var _a;
|
|
38
|
-
const config = (_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header;
|
|
39
|
-
const mainId = this.getMainId();
|
|
40
|
-
if (config === undefined) {
|
|
41
|
-
return;
|
|
17
|
+
setFocus(tagname) {
|
|
18
|
+
const rootHost = this.host.closest('.post-internet-header');
|
|
19
|
+
if (!rootHost) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const focusable = rootHost.querySelector(tagname);
|
|
23
|
+
if (focusable) {
|
|
24
|
+
focusable.setFocus();
|
|
25
|
+
}
|
|
42
26
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
27
|
+
focusMain() {
|
|
28
|
+
this.setFocus('post-main-navigation');
|
|
29
|
+
}
|
|
30
|
+
focusSearch() {
|
|
31
|
+
this.setFocus('post-search');
|
|
32
|
+
}
|
|
33
|
+
focusLogin() {
|
|
34
|
+
this.setFocus('post-klp-login-widget');
|
|
35
|
+
}
|
|
36
|
+
render() {
|
|
37
|
+
var _a;
|
|
38
|
+
const config = (_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header;
|
|
39
|
+
const mainId = this.getMainId();
|
|
40
|
+
if (config === undefined) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
return (h(Host, null, h("div", { class: "skiplinks" }, h("ul", { class: "no-list", "aria-label": translate('Skip Links') }, h("li", null, h("a", { class: "nav-link", href: config.logo.logoLink }, h("span", null, config.logo.logoLinkTitle), h(SvgIcon, { name: "pi-pointy-arrow-right" }))), h("li", null, h("a", { class: "nav-link", href: "#post-internet-header-main-navigation", onClick: () => this.focusMain() }, h("span", null, config.translations.navMainAriaLabel), h(SvgIcon, { name: "pi-pointy-arrow-right" }))), mainId ? (h("li", null, h("a", { class: "nav-link", href: `#${mainId}` }, h("span", null, translate('Go to main content')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null, state.search ? (h("li", null, h("a", { class: "nav-link", href: "#post-internet-header-search-button", onClick: () => this.focusSearch() }, h("span", null, translate('Go to search')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null, state.login ? (h("li", null, h("a", { class: "nav-link", href: "#post-klp-login-widget", onClick: () => this.focusLogin() }, h("span", null, translate('Go to login')), h(SvgIcon, { name: "pi-pointy-arrow-right" })))) : null))));
|
|
44
|
+
}
|
|
45
|
+
get host() { return this; }
|
|
46
|
+
static get style() { return postSkiplinksCss; }
|
|
47
47
|
}, [0, "post-skiplinks"]);
|
|
48
48
|
function defineCustomElement() {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
if (typeof customElements === "undefined") {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const components = ["post-skiplinks"];
|
|
53
|
+
components.forEach(tagName => { switch (tagName) {
|
|
54
|
+
case "post-skiplinks":
|
|
55
|
+
if (!customElements.get(tagName)) {
|
|
56
|
+
customElements.define(tagName, PostSkiplinks);
|
|
57
|
+
}
|
|
58
|
+
break;
|
|
59
|
+
} });
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
export { PostSkiplinks as P, defineCustomElement as d };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"post-skiplinks2.js","mappings":";;;;;AAAA,MAAM,gBAAgB,GAAG,mSAAmS;;MCW/S,aAAa;;;;;
|
|
1
|
+
{"file":"post-skiplinks2.js","mappings":";;;;;AAAA,MAAM,gBAAgB,GAAG,mSAAmS;;MCW/S,aAAa;;;;;IAGhB,SAAS;;QACf,OAAO,MAAA,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,0CAAE,YAAY,CAAC,IAAI,CAAC,CAAC;KAC/D;IAEO,QAAQ,CAAC,OAAe;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAmB,OAAO,CAAC,CAAC;QACpE,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,QAAQ,EAAE,CAAC;SACtB;KACF;IAEO,SAAS;QACf,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;KACvC;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;KAC9B;IAEO,UAAU;QAChB,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;KACxC;IAED,MAAM;;QACJ,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO;SACR;QAED,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAC,WAAW,IACpB,UAAI,KAAK,EAAC,SAAS,gBAAa,SAAS,CAAC,YAAY,CAAC,IACrD,cACE,SAAG,KAAK,EAAC,UAAU,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAC5C,gBAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAQ,EACxC,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,EACL,cACE,SACE,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,uCAAuC,EAC5C,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,IAE/B,gBAAO,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAQ,EACnD,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,EACJ,MAAM,IACL,cACE,SAAG,KAAK,EAAC,UAAU,EAAC,IAAI,EAAE,IAAI,MAAM,EAAE,IACpC,gBAAO,SAAS,CAAC,oBAAoB,CAAC,CAAQ,EAC9C,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,IACH,IAAI,EACP,KAAK,CAAC,MAAM,IACX,cACE,SACE,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,qCAAqC,EAC1C,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,IAEjC,gBAAO,SAAS,CAAC,cAAc,CAAC,CAAQ,EACxC,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,IACH,IAAI,EACP,KAAK,CAAC,KAAK,IACV,cACE,SAAG,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,wBAAwB,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,IAChF,gBAAO,SAAS,CAAC,aAAa,CAAC,CAAQ,EACvC,EAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,CACtC,CACD,IACH,IAAI,CACL,CACD,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/post-skiplinks/post-skiplinks.scss?tag=post-skiplinks","src/components/post-skiplinks/post-skiplinks.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.skiplinks {\n a {\n position: absolute;\n top: 0.5rem;\n left: 0.5rem;\n clip: rect(0 0 0 0);\n width: 1px;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: 0.25rem;\n background: white;\n\n &:focus-visible {\n position: absolute;\n clip: unset;\n width: auto;\n }\n }\n}\n","import { Component, Element, h, Host } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { FocusableElement } from '../../models/header.model';\nimport { translate } from '../../services/language.service';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-skiplinks',\n styleUrl: 'post-skiplinks.scss',\n shadow: false,\n})\nexport class PostSkiplinks {\n @Element() host: HTMLPostSkiplinksElement;\n\n private getMainId() {\n return document.querySelector('main[id]')?.getAttribute('id');\n }\n\n private setFocus(tagname: string) {\n const rootHost = this.host.closest('.post-internet-header');\n if (!rootHost) {\n return;\n }\n\n const focusable = rootHost.querySelector<FocusableElement>(tagname);\n if (focusable) {\n focusable.setFocus();\n }\n }\n\n private focusMain() {\n this.setFocus('post-main-navigation');\n }\n\n private focusSearch() {\n this.setFocus('post-search');\n }\n\n private focusLogin() {\n this.setFocus('post-klp-login-widget');\n }\n\n render() {\n const config = state.localizedConfig?.header;\n const mainId = this.getMainId();\n\n if (config === undefined) {\n return;\n }\n\n return (\n <Host>\n <div class=\"skiplinks\">\n <ul class=\"no-list\" aria-label={translate('Skip Links')}>\n <li>\n <a class=\"nav-link\" href={config.logo.logoLink}>\n <span>{config.logo.logoLinkTitle}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-internet-header-main-navigation\"\n onClick={() => this.focusMain()}\n >\n <span>{config.translations.navMainAriaLabel}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n {mainId ? (\n <li>\n <a class=\"nav-link\" href={`#${mainId}`}>\n <span>{translate('Go to main content')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n {state.search ? (\n <li>\n <a\n class=\"nav-link\"\n href=\"#post-internet-header-search-button\"\n onClick={() => this.focusSearch()}\n >\n <span>{translate('Go to search')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n {state.login ? (\n <li>\n <a class=\"nav-link\" href=\"#post-klp-login-widget\" onClick={() => this.focusLogin()}>\n <span>{translate('Go to login')}</span>\n <SvgIcon name=\"pi-pointy-arrow-right\" />\n </a>\n </li>\n ) : null}\n </ul>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
package/dist/components/store.js
CHANGED
|
@@ -192,14 +192,14 @@ const createStore = (defaultState, shouldUpdate) => {
|
|
|
192
192
|
};
|
|
193
193
|
|
|
194
194
|
const { state, reset, dispose } = createStore({
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
195
|
+
projectId: null,
|
|
196
|
+
currentLanguage: null,
|
|
197
|
+
localizedConfig: null,
|
|
198
|
+
environment: 'prod',
|
|
199
|
+
search: true,
|
|
200
|
+
login: true,
|
|
201
|
+
meta: true,
|
|
202
|
+
stickyness: 'minimal',
|
|
203
203
|
});
|
|
204
204
|
|
|
205
205
|
export { dispose as d, state as s };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"store.js","mappings":"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","names":[],"sources":["../../node_modules/.pnpm/@stencil+store@2.0.11_@stencil+core@4.7.0/node_modules/@stencil/store/dist/index.mjs","src/data/store.ts"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import { createStore } from '@stencil/store';\nimport { Environment, ILocalizedConfig, ILocalizedCustomConfig } from '../models/general.model';\nimport { NavMainEntity } from '../models/header.model';\nimport { IAvailableLanguage } from '../models/language.model';\nimport { StickynessOptions } from '../components';\n\nexport interface HeaderState {\n localizedConfig: ILocalizedConfig | null;\n currentLanguage: string | null;\n projectId: string | null;\n environment: Environment;\n search: boolean;\n login: boolean;\n meta: boolean;\n languageSwitchOverrides?: IAvailableLanguage[];\n localizedCustomConfig?: ILocalizedCustomConfig;\n osFlyoutOverrides?: NavMainEntity;\n stickyness: StickynessOptions;\n}\n\nexport const { state, reset, dispose } = createStore<HeaderState>({\n projectId: null,\n currentLanguage: null,\n localizedConfig: null,\n environment: 'prod',\n search: true,\n login: true,\n meta: true,\n stickyness: 'minimal',\n});\n"],"version":3}
|
|
1
|
+
{"file":"store.js","mappings":";;AAEA,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,KAAK;AAC9C,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,KAAK;AACL,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrC,QAAQ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,KAAK;AACL,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK;AAC7B,IAAI,IAAI,SAAS,CAAC;AAClB,IAAI,OAAO,CAAC,GAAG,IAAI,KAAK;AACxB,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,YAAY,CAAC,SAAS,CAAC,CAAC;AACpC,SAAS;AACT,QAAQ,SAAS,GAAG,UAAU,CAAC,MAAM;AACrC,YAAY,SAAS,GAAG,CAAC,CAAC;AAC1B,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,SAAS,EAAE,EAAE,CAAC,CAAC;AACf,KAAK,CAAC;AACN,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,CAAC,YAAY,KAAK,EAAE,aAAa,IAAI,YAAY,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC;AACnG,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,GAAG,KAAK;AAC1C,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;AAChC,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,KAAK;AACL,CAAC,EAAE,IAAI,CAAC,CAAC;AACT,MAAM,mBAAmB,GAAG,MAAM;AAClC,IAAI,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;AAC/C;AACA;AACA,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;AACnC,IAAI,OAAO;AACX,QAAQ,OAAO,EAAE,MAAM,YAAY,CAAC,KAAK,EAAE;AAC3C,QAAQ,GAAG,EAAE,CAAC,QAAQ,KAAK;AAC3B,YAAY,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;AAC1C,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AACzD,aAAa;AACb,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,QAAQ,KAAK;AAC3B,YAAY,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxD,YAAY,IAAI,QAAQ,EAAE;AAC1B,gBAAgB,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACzE,aAAa;AACb,YAAY,eAAe,CAAC,YAAY,CAAC,CAAC;AAC1C,SAAS;AACT,QAAQ,KAAK,EAAE,MAAM;AACrB,YAAY,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AACtE,YAAY,eAAe,CAAC,YAAY,CAAC,CAAC;AAC1C,SAAS;AACT,KAAK,CAAC;AACN,CAAC,CAAC;AACF;AACA,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;AAClE,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;AAChF,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAChD,IAAI,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,KAAK,CAAC,GAAG,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC;AACrH,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,GAAG,EAAE,EAAE;AACf,QAAQ,GAAG,EAAE,EAAE;AACf,QAAQ,KAAK,EAAE,EAAE;AACjB,KAAK,CAAC;AACN,IAAI,MAAM,KAAK,GAAG,MAAM;AACxB,QAAQ,IAAI,EAAE,CAAC;AACf;AACA;AACA,QAAQ,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1G,QAAQ,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7C,KAAK,CAAC;AACN,IAAI,MAAM,OAAO,GAAG,MAAM;AAC1B;AACA;AACA,QAAQ,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAC/C,QAAQ,KAAK,EAAE,CAAC;AAChB,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK;AAC9B,QAAQ,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnD,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK;AACrC,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9C,QAAQ,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;AACrD,YAAY,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACxC,YAAY,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxE,SAAS;AACT,KAAK,CAAC;AACN,IAAI,MAAM,KAAK,IAAI,OAAO,KAAK,KAAK,WAAW;AAC/C,UAAU,EAAE;AACZ,UAAU,IAAI,KAAK,CAAC,cAAc,EAAE;AACpC,YAAY,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC7B,gBAAgB,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,aAAa;AACb,YAAY,OAAO,CAAC,CAAC,EAAE;AACvB,gBAAgB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,aAAa;AACb,YAAY,wBAAwB,GAAG;AACvC,gBAAgB,OAAO;AACvB,oBAAoB,UAAU,EAAE,IAAI;AACpC,oBAAoB,YAAY,EAAE,IAAI;AACtC,iBAAiB,CAAC;AAClB,aAAa;AACb,YAAY,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC7B,gBAAgB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5C,aAAa;AACb,YAAY,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;AACpC,gBAAgB,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACrC,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,SAAS,CAAC,CAAC,CAAC;AACZ,IAAI,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,KAAK;AACxC,QAAQ,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3C,QAAQ,OAAO,MAAM;AACrB,YAAY,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC3D,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK;AACvC,QAAQ,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK;AACnD,YAAY,IAAI,GAAG,KAAK,QAAQ,EAAE;AAClC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC,CAAC;AACX;AACA;AACA,QAAQ,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9E,QAAQ,OAAO,MAAM;AACrB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,aAAa,KAAK;AACtC,QAAQ,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK;AACtE,YAAY,IAAI,YAAY,CAAC,GAAG,EAAE;AAClC,gBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,aAAa;AACb,YAAY,IAAI,YAAY,CAAC,GAAG,EAAE;AAClC,gBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,aAAa;AACb,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE;AACpC,gBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,aAAa;AACb,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE;AACtC,gBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,aAAa;AACb,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS,EAAE,EAAE,CAAC,CAAC;AACf,QAAQ,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;AACxD,KAAK,CAAC;AACN,IAAI,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK;AACjC,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,QAAQ,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClE,KAAK,CAAC;AACN,IAAI,OAAO;AACX,QAAQ,KAAK;AACb,QAAQ,GAAG;AACX,QAAQ,GAAG;AACX,QAAQ,EAAE;AACV,QAAQ,QAAQ;AAChB,QAAQ,GAAG;AACX,QAAQ,OAAO;AACf,QAAQ,KAAK;AACb,QAAQ,WAAW;AACnB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK;AACzC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACtC,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE;AACpB,QAAQ,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/C,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;AACvB,KAAK;AACL,CAAC,CAAC;AACF;AACA,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK;AACpD,IAAI,MAAM,GAAG,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAChE,IAAI,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACnC,IAAI,OAAO,GAAG,CAAC;AACf,CAAC;;MC3KY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAc;IAChE,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,MAAM;IACnB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,SAAS;CACtB;;;;","names":[],"sources":["../../node_modules/.pnpm/@stencil+store@2.0.12_@stencil+core@4.9.0/node_modules/@stencil/store/dist/index.mjs","src/data/store.ts"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import { createStore } from '@stencil/store';\nimport { Environment, ILocalizedConfig, ILocalizedCustomConfig } from '../models/general.model';\nimport { NavMainEntity } from '../models/header.model';\nimport { IAvailableLanguage } from '../models/language.model';\nimport { StickynessOptions } from '../components';\n\nexport interface HeaderState {\n localizedConfig: ILocalizedConfig | null;\n currentLanguage: string | null;\n projectId: string | null;\n environment: Environment;\n search: boolean;\n login: boolean;\n meta: boolean;\n languageSwitchOverrides?: IAvailableLanguage[];\n localizedCustomConfig?: ILocalizedCustomConfig;\n osFlyoutOverrides?: NavMainEntity;\n stickyness: StickynessOptions;\n}\n\nexport const { state, reset, dispose } = createStore<HeaderState>({\n projectId: null,\n currentLanguage: null,\n localizedConfig: null,\n environment: 'prod',\n search: true,\n login: true,\n meta: true,\n stickyness: 'minimal',\n});\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h } from '@stencil/core/internal/client';
|
|
2
2
|
|
|
3
3
|
const SvgIcon = (props) => (h("svg", { viewBox: "0 0 32 32", "aria-hidden": "true", class: props.classNames },
|
|
4
|
-
|
|
4
|
+
h("use", { href: `#${props.name}` })));
|
|
5
5
|
|
|
6
6
|
export { SvgIcon as S };
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"svg-icon.component.js","mappings":";;MAEa,OAAO,GAAG,CAAC,KAA4C,MAClE,WAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,KAAK,EAAE,KAAK,CAAC,UAAU;
|
|
1
|
+
{"file":"svg-icon.component.js","mappings":";;MAEa,OAAO,GAAG,CAAC,KAA4C,MAClE,WAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,KAAK,EAAE,KAAK,CAAC,UAAU;IACjE,WAAK,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,GAAI,CAC3B;;;;","names":[],"sources":["src/utils/svg-icon.component.tsx"],"sourcesContent":["import { h } from '@stencil/core';\n\nexport const SvgIcon = (props: { name: string; classNames?: string }) => (\n <svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" class={props.classNames}>\n <use href={`#${props.name}`} />\n </svg>\n);\n"],"version":3}
|