@swisspost/internet-header 1.5.0-beta.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -202
- package/dist/cjs/{if.component-313f59b8.js → if.component-51d000af.js} +6 -6
- package/dist/cjs/if.component-51d000af.js.map +1 -0
- package/dist/cjs/{klp-widget.controller-84642428.js → klp-widget.controller-d8941c4e.js} +4811 -4811
- package/dist/cjs/{klp-widget.controller-84642428.js.map → klp-widget.controller-d8941c4e.js.map} +1 -1
- package/dist/cjs/{language.service-a80ae01d.js → language.service-7dbf739d.js} +141 -141
- package/dist/cjs/language.service-7dbf739d.js.map +1 -0
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +33 -33
- package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/post-language-switch.cjs.entry.js +88 -88
- package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +51 -51
- package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js +226 -226
- package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js +15 -15
- package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-search.cjs.entry.js +556 -534
- package/dist/cjs/post-search.cjs.entry.js.map +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +41 -41
- package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
- package/dist/cjs/{store-47e14589.js → store-d0d514fc.js} +20 -13
- package/dist/cjs/store-d0d514fc.js.map +1 -0
- package/dist/cjs/{svg-icon.component-10fbda11.js → svg-icon.component-be93f876.js} +2 -2
- package/dist/cjs/svg-icon.component-be93f876.js.map +1 -0
- package/dist/cjs/{svg-sprite.component-c3b454b3.js → svg-sprite.component-1bd7a058.js} +40 -40
- package/dist/cjs/svg-sprite.component-1bd7a058.js.map +1 -0
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +370 -392
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +125 -125
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +608 -608
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/cjs/{ui.service-db4a8252.js → ui.service-e1ebb6d4.js} +28 -28
- package/dist/cjs/ui.service-e1ebb6d4.js.map +1 -0
- package/dist/cjs/{utils-b6014257.js → utils-60853c5d.js} +15 -15
- package/dist/cjs/utils-60853c5d.js.map +1 -0
- package/dist/collection/assets/config/test-configuration.json +4067 -4067
- package/dist/collection/assets/i18n/translations.js +38 -38
- package/dist/collection/assets/i18n/translations.js.map +1 -1
- package/dist/collection/assets/js/sockjs-client.js +5134 -5134
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -11
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -42
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -8
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -6
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -12
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -253
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -12
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -24
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -6
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -6
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -5
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -86
- package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
- package/dist/collection/components/post-internet-header/post-internet-header.js +676 -676
- package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -14
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -67
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -9
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js +186 -186
- package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
- package/dist/collection/components/post-logo/logo-sprite.component.js +4 -4
- package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -1
- package/dist/collection/components/post-logo/post-logo.js +60 -60
- package/dist/collection/components/post-logo/post-logo.js.map +1 -1
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -13
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -347
- package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -67
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
- package/dist/collection/components/post-search/post-search.js +362 -362
- package/dist/collection/components/post-search/post-search.js.map +1 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -51
- package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
- package/dist/collection/data/store.js +11 -11
- package/dist/collection/data/store.js.map +1 -1
- package/dist/collection/index.js +2 -2
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/models/breadcrumbs.model.js +2 -2
- package/dist/collection/models/breadcrumbs.model.js.map +1 -1
- package/dist/collection/models/coveo.model.js +2 -2
- package/dist/collection/models/coveo.model.js.map +1 -1
- package/dist/collection/models/footer.model.js +2 -2
- package/dist/collection/models/footer.model.js.map +1 -1
- package/dist/collection/models/general.model.js +2 -2
- package/dist/collection/models/general.model.js.map +1 -1
- package/dist/collection/models/geocode.model.js +10 -10
- package/dist/collection/models/geocode.model.js.map +1 -1
- package/dist/collection/models/header.model.js +2 -2
- package/dist/collection/models/header.model.js.map +1 -1
- package/dist/collection/models/implementor.model.js +2 -2
- package/dist/collection/models/implementor.model.js.map +1 -1
- package/dist/collection/models/language.model.js +2 -2
- package/dist/collection/models/language.model.js.map +1 -1
- package/dist/collection/models/track-and-trace.model.js +2 -2
- package/dist/collection/models/track-and-trace.model.js.map +1 -1
- package/dist/collection/services/config.service.js +170 -170
- package/dist/collection/services/config.service.js.map +1 -1
- package/dist/collection/services/language.service.js +107 -107
- package/dist/collection/services/language.service.js.map +1 -1
- package/dist/collection/services/route.service.js +163 -163
- package/dist/collection/services/route.service.js.map +1 -1
- package/dist/collection/services/search/coveo.service.js +34 -34
- package/dist/collection/services/search/coveo.service.js.map +1 -1
- package/dist/collection/services/search/coveo.settings.js +19 -19
- package/dist/collection/services/search/coveo.settings.js.map +1 -1
- package/dist/collection/services/search/parcel.service.js +54 -54
- package/dist/collection/services/search/parcel.service.js.map +1 -1
- package/dist/collection/services/search/places.service.js +95 -95
- package/dist/collection/services/search/places.service.js.map +1 -1
- package/dist/collection/services/search/places.settings.js +16 -16
- package/dist/collection/services/search/places.settings.js.map +1 -1
- package/dist/collection/services/search/search-utilities.js +26 -26
- package/dist/collection/services/search/search-utilities.js.map +1 -1
- package/dist/collection/services/search/search.service.js +42 -42
- package/dist/collection/services/search/search.service.js.map +1 -1
- package/dist/collection/services/ui.service.js +30 -30
- package/dist/collection/services/ui.service.js.map +1 -1
- package/dist/collection/tests/setup-tests.js +14 -14
- package/dist/collection/tests/setup-tests.js.map +1 -1
- package/dist/collection/utils/highlighted.component.js +11 -11
- package/dist/collection/utils/highlighted.component.js.map +1 -1
- package/dist/collection/utils/if.component.js +7 -7
- package/dist/collection/utils/if.component.js.map +1 -1
- package/dist/collection/utils/svg-icon.component.js +3 -3
- package/dist/collection/utils/svg-icon.component.js.map +1 -1
- package/dist/collection/utils/svg-sprite.component.js +3 -3
- package/dist/collection/utils/svg-sprite.component.js.map +1 -1
- package/dist/collection/utils/utils.js +16 -16
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/klp-widget.controller.js +4810 -4810
- package/dist/components/klp-widget.controller.js.map +1 -1
- package/dist/components/language.service.js +139 -139
- package/dist/components/language.service.js.map +1 -1
- package/dist/components/post-klp-login-widget2.js +48 -48
- package/dist/components/post-klp-login-widget2.js.map +1 -1
- package/dist/components/post-language-switch2.js +102 -102
- package/dist/components/post-language-switch2.js.map +1 -1
- package/dist/components/post-logo2.js +67 -67
- package/dist/components/post-logo2.js.map +1 -1
- package/dist/components/post-main-navigation2.js +243 -243
- package/dist/components/post-main-navigation2.js.map +1 -1
- package/dist/components/post-meta-navigation2.js +32 -32
- package/dist/components/post-meta-navigation2.js.map +1 -1
- package/dist/components/post-search2.js +577 -555
- package/dist/components/post-search2.js.map +1 -1
- package/dist/components/post-skiplinks2.js +52 -52
- package/dist/components/post-skiplinks2.js.map +1 -1
- package/dist/components/store.js +19 -12
- package/dist/components/store.js.map +1 -1
- package/dist/components/svg-icon.component.js +1 -1
- package/dist/components/svg-icon.component.js.map +1 -1
- package/dist/components/svg-sprite.component.js +39 -39
- package/dist/components/svg-sprite.component.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +387 -409
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-footer.js +140 -140
- package/dist/components/swisspost-internet-footer.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +672 -672
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/components/ui.service.js +27 -27
- package/dist/components/ui.service.js.map +1 -1
- package/dist/components/utils.js +14 -14
- package/dist/components/utils.js.map +1 -1
- package/dist/esm/{if.component-542fb8c3.js → if.component-0fe54385.js} +6 -6
- package/dist/esm/if.component-0fe54385.js.map +1 -0
- package/dist/esm/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +4811 -4811
- package/dist/esm/{klp-widget.controller-903e0422.js.map → klp-widget.controller-55366e6a.js.map} +1 -1
- package/dist/esm/{language.service-e49858e0.js → language.service-023d2711.js} +141 -141
- package/dist/esm/language.service-023d2711.js.map +1 -0
- package/dist/esm/post-klp-login-widget.entry.js +33 -33
- package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm/post-language-switch.entry.js +88 -88
- package/dist/esm/post-language-switch.entry.js.map +1 -1
- package/dist/esm/post-logo.entry.js +51 -51
- package/dist/esm/post-logo.entry.js.map +1 -1
- package/dist/esm/post-main-navigation.entry.js +226 -226
- package/dist/esm/post-main-navigation.entry.js.map +1 -1
- package/dist/esm/post-meta-navigation.entry.js +15 -15
- package/dist/esm/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm/post-search.entry.js +556 -534
- package/dist/esm/post-search.entry.js.map +1 -1
- package/dist/esm/post-skiplinks.entry.js +41 -41
- package/dist/esm/post-skiplinks.entry.js.map +1 -1
- package/dist/esm/{store-d495dc07.js → store-837c3490.js} +20 -13
- package/dist/esm/store-837c3490.js.map +1 -0
- package/dist/esm/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +2 -2
- package/dist/esm/svg-icon.component-e09b4bf9.js.map +1 -0
- package/dist/esm/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +40 -40
- package/dist/esm/svg-sprite.component-cf60303f.js.map +1 -0
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +370 -392
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-footer.entry.js +125 -125
- package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +608 -608
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +28 -28
- package/dist/esm/ui.service-2fbc9c45.js.map +1 -0
- package/dist/esm/{utils-5bf107ff.js → utils-ee79122f.js} +15 -15
- package/dist/esm/utils-ee79122f.js.map +1 -0
- package/dist/esm-es5/{if.component-542fb8c3.js → if.component-0fe54385.js} +1 -1
- package/dist/esm-es5/if.component-0fe54385.js.map +1 -0
- package/dist/esm-es5/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +1 -1
- package/dist/{swisspost-internet-header/p-83f6cd1e.js.map → esm-es5/klp-widget.controller-55366e6a.js.map} +1 -1
- package/dist/esm-es5/{language.service-e49858e0.js → language.service-023d2711.js} +2 -2
- package/dist/esm-es5/language.service-023d2711.js.map +1 -0
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-logo.entry.js.map +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/post-search.entry.js.map +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
- package/dist/esm-es5/store-837c3490.js +2 -0
- package/dist/esm-es5/store-837c3490.js.map +1 -0
- package/dist/esm-es5/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +1 -1
- package/dist/esm-es5/svg-icon.component-e09b4bf9.js.map +1 -0
- package/dist/esm-es5/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +1 -1
- package/dist/esm-es5/svg-sprite.component-cf60303f.js.map +1 -0
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +1 -1
- package/dist/esm-es5/ui.service-2fbc9c45.js.map +1 -0
- package/dist/esm-es5/{utils-5bf107ff.js → utils-ee79122f.js} +1 -1
- package/dist/esm-es5/utils-ee79122f.js.map +1 -0
- package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -4067
- package/dist/swisspost-internet-header/p-06649b46.js +2 -0
- package/dist/swisspost-internet-header/p-06649b46.js.map +1 -0
- package/dist/swisspost-internet-header/{p-ec80c8fc.js → p-0942595f.js} +2 -2
- package/dist/swisspost-internet-header/p-0942595f.js.map +1 -0
- package/dist/swisspost-internet-header/{p-c29ec122.system.js → p-0c5624c0.system.js} +1 -1
- package/dist/swisspost-internet-header/p-0c5624c0.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-2eb04045.entry.js → p-0cba8ab4.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-0cba8ab4.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
- package/dist/swisspost-internet-header/{p-ddcb8258.entry.js → p-26879023.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-26879023.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-cb3de015.system.entry.js → p-28e6362f.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-28e6362f.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-00fd320e.entry.js → p-322526ef.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-322526ef.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-f4ff1e9e.system.js → p-3753a678.system.js} +2 -2
- package/dist/swisspost-internet-header/p-3753a678.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a9c4b2d0.system.entry.js → p-38d645ba.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-38d645ba.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-872a76a4.system.js → p-42695801.system.js} +1 -1
- package/dist/swisspost-internet-header/p-42695801.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-bdabd6ac.js → p-45db66a6.js} +1 -1
- package/dist/swisspost-internet-header/p-45db66a6.js.map +1 -0
- package/dist/swisspost-internet-header/p-493337e1.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-493337e1.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-78f653be.system.entry.js → p-5d2fac3b.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-5d2fac3b.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-62c5cf26.entry.js +2 -0
- package/dist/swisspost-internet-header/p-62c5cf26.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-9d0a7039.entry.js → p-64cb215a.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-64cb215a.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a51ad207.system.entry.js → p-66144e99.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-66144e99.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +7 -0
- package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-12baacf0.entry.js → p-77d5e07f.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-77d5e07f.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-7ea26ee9.entry.js +2 -0
- package/dist/swisspost-internet-header/p-7ea26ee9.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-7fcba2e7.system.js +2 -0
- package/dist/swisspost-internet-header/p-7fcba2e7.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-549b62ba.system.js → p-88aac12c.system.js} +1 -1
- package/dist/swisspost-internet-header/p-88aac12c.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-0e2ec555.js → p-8bf099a8.js} +1 -1
- package/dist/swisspost-internet-header/p-8bf099a8.js.map +1 -0
- package/dist/swisspost-internet-header/{p-8717445f.entry.js → p-95b81c4d.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-95b81c4d.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-3eb881c3.js → p-a2f9d462.js} +1 -1
- package/dist/swisspost-internet-header/p-a2f9d462.js.map +1 -0
- package/dist/swisspost-internet-header/{p-eeff8b03.js → p-ab1dd269.js} +1 -1
- package/dist/swisspost-internet-header/p-ab1dd269.js.map +1 -0
- package/dist/swisspost-internet-header/p-b228fe49.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-b228fe49.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a4160d23.entry.js → p-ccb522ba.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-cfa787d7.entry.js +6 -0
- package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-c946c5b8.system.entry.js → p-d6539597.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-d6539597.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-b406315a.system.entry.js → p-e2990968.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-e2990968.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-83f6cd1e.js → p-ed24b372.js} +1 -1
- package/dist/swisspost-internet-header/p-ed24b372.js.map +1 -0
- package/dist/swisspost-internet-header/{p-9509f6c7.system.js → p-edb2802d.system.js} +1 -1
- package/dist/swisspost-internet-header/p-edb2802d.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-ee915bbe.system.js → p-ee119d2e.system.js} +1 -1
- package/dist/swisspost-internet-header/p-ee119d2e.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-883f9547.system.entry.js → p-f38f38f4.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-3ba40afe.js → p-f7c0cf7b.js} +1 -1
- package/dist/swisspost-internet-header/p-f7c0cf7b.js.map +1 -0
- package/dist/swisspost-internet-header/{p-4654b2af.system.js → p-ffc59851.system.js} +1 -1
- package/dist/swisspost-internet-header/p-ffc59851.system.js.map +1 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/types/assets/i18n/translations.d.ts +37 -37
- package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -9
- package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -12
- package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -7
- package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -6
- package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -16
- package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -45
- package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -6
- package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -4
- package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -10
- package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -124
- package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -3
- package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -10
- package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -6
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -27
- package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -4
- package/dist/types/components/post-logo/post-logo.d.ts +11 -11
- package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -8
- package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -48
- package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -5
- package/dist/types/components/post-search/post-search.d.ts +61 -61
- package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -9
- package/dist/types/data/store.d.ts +16 -16
- package/dist/types/index.d.ts +1 -1
- package/dist/types/models/breadcrumbs.model.d.ts +36 -36
- package/dist/types/models/coveo.model.d.ts +22 -22
- package/dist/types/models/footer.model.d.ts +48 -48
- package/dist/types/models/general.model.d.ts +46 -46
- package/dist/types/models/geocode.model.d.ts +52 -52
- package/dist/types/models/header.model.d.ts +163 -163
- package/dist/types/models/implementor.model.d.ts +22 -22
- package/dist/types/models/language.model.d.ts +6 -6
- package/dist/types/models/track-and-trace.model.d.ts +25 -25
- package/dist/types/services/config.service.d.ts +56 -56
- package/dist/types/services/language.service.d.ts +65 -65
- package/dist/types/services/route.service.d.ts +39 -39
- package/dist/types/services/search/coveo.service.d.ts +9 -9
- package/dist/types/services/search/coveo.settings.d.ts +2 -2
- package/dist/types/services/search/parcel.service.d.ts +28 -28
- package/dist/types/services/search/places.service.d.ts +24 -24
- package/dist/types/services/search/places.settings.d.ts +3 -3
- package/dist/types/services/search/search-utilities.d.ts +15 -15
- package/dist/types/services/search/search.service.d.ts +24 -24
- package/dist/types/services/ui.service.d.ts +23 -23
- package/dist/types/utils/highlighted.component.d.ts +4 -4
- package/dist/types/utils/if.component.d.ts +4 -4
- package/dist/types/utils/svg-icon.component.d.ts +4 -4
- package/dist/types/utils/svg-sprite.component.d.ts +1 -1
- package/dist/types/utils/utils.d.ts +8 -8
- package/package.json +7 -7
- package/readme.md +57 -15
- package/dist/cjs/if.component-313f59b8.js.map +0 -1
- package/dist/cjs/language.service-a80ae01d.js.map +0 -1
- package/dist/cjs/store-47e14589.js.map +0 -1
- package/dist/cjs/svg-icon.component-10fbda11.js.map +0 -1
- package/dist/cjs/svg-sprite.component-c3b454b3.js.map +0 -1
- package/dist/cjs/ui.service-db4a8252.js.map +0 -1
- package/dist/cjs/utils-b6014257.js.map +0 -1
- package/dist/esm/if.component-542fb8c3.js.map +0 -1
- package/dist/esm/language.service-e49858e0.js.map +0 -1
- package/dist/esm/store-d495dc07.js.map +0 -1
- package/dist/esm/svg-icon.component-1b1b27a2.js.map +0 -1
- package/dist/esm/svg-sprite.component-ec0ac38c.js.map +0 -1
- package/dist/esm/ui.service-1d9b0f51.js.map +0 -1
- package/dist/esm/utils-5bf107ff.js.map +0 -1
- package/dist/esm-es5/if.component-542fb8c3.js.map +0 -1
- package/dist/esm-es5/klp-widget.controller-903e0422.js.map +0 -1
- package/dist/esm-es5/language.service-e49858e0.js.map +0 -1
- package/dist/esm-es5/store-d495dc07.js +0 -2
- package/dist/esm-es5/store-d495dc07.js.map +0 -1
- package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +0 -1
- package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +0 -1
- package/dist/esm-es5/ui.service-1d9b0f51.js.map +0 -1
- package/dist/esm-es5/utils-5bf107ff.js.map +0 -1
- package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-0e2ec555.js.map +0 -1
- package/dist/swisspost-internet-header/p-12baacf0.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-3ba40afe.js.map +0 -1
- package/dist/swisspost-internet-header/p-3eb881c3.js.map +0 -1
- package/dist/swisspost-internet-header/p-458c9862.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-458c9862.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4654b2af.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-549b62ba.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-5e43c5e0.js +0 -2
- package/dist/swisspost-internet-header/p-5e43c5e0.js.map +0 -1
- package/dist/swisspost-internet-header/p-74932c29.entry.js +0 -6
- package/dist/swisspost-internet-header/p-74932c29.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-7f16a46b.entry.js +0 -2
- package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-8717445f.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-872a76a4.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-b406315a.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-bdabd6ac.js.map +0 -1
- package/dist/swisspost-internet-header/p-c29ec122.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-c69923cd.system.js +0 -2
- package/dist/swisspost-internet-header/p-c69923cd.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +0 -7
- package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-ec80c8fc.js.map +0 -1
- package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-eeff8b03.js.map +0 -1
- package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-fa0c66c7.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fa0c66c7.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getTrackAndTraceApiUrl","id","lang","state","currentLanguage","encodeURIComponent","getTrackAndTraceRedirectUrl","query","packageTrackingRedirectUrl","replace","isParcel","async","searchConfig","parcelInfo","getParcelInfo","ok","redirectPattern","trackingNrPattern","RegExp","test","trackAndTraceReqest","fetch","trackAndTraceResult","json","Object","assign","error","console","warn","message","timestamp","Date","toDateString","getParcelSuggestion","url","getSearchRedirectUrl","isTrackTraceId","getSearchPageUrl","_a","localizedConfig","header","search","undefined","searchPageUrl","searchParam","equalizeArrays","arrayA","arrayB","maxLength","coveoSliced","slice","Math","max","length","coveo","environment","prod","organisation","token","int01","int02","getCoveoSuggestions","_b","config","searchHubName","searchPipelineName","coveoCompletions","coveoResponse","method","headers","Authorization","coveoJSON","completions","map","completion","redirectUrl","expression","gisAPIUrl","placesUrl","pois","escapeStringRegexp","string","TypeError","replacements","doCustomReplacements","key","value","transliterate","options","customReplacements","Map","builtinReplacements","normalize","overridableReplacements","decamelize","removeMootSeparators","separator","escapedSeparator","slugify","lowercase","preserveLeadingUnderscore","preserveTrailingDash","shouldPrependUnderscore","startsWith","shouldAppendDash","endsWith","builtinOverridableReplacements","patternSlug","toLowerCase","hardNormalize","str","createSlug","fragment","typesCache","convertTypes","typesResponse","typesJSON","poi","foundType","types","find","type","tag","filter","join","queryPlaces","limit","excludeTypes","geocoderUrl","geocodeResponse","geocodeJSON","Error","info","locations","location","includes","highlightPlacesString","place","reference","q","indexOfQuery","indexOf","substring","getPlacesUrl","name","HighlightedText","props","highlightClass","highlightedString","text","h","innerHTML","postSearchCss","PostSearch","connectedCallback","this","throttledResize","throttle","handleResize","window","addEventListener","passive","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","componentWillUpdate","searchFlyout","searchDropdownOpen","classList","remove","elementHasTransition","userPrefersReducedMotion","Promise","resolve","event","propertyName","componentDidUpdate","getBoundingClientRect","add","searchBox","focus","preventScroll","force","dropdownToggled","emit","open","element","host","coveoSuggestions","placeSuggestions","setFocus","setBodyScroll","shadowRoot","toggleButton","querySelector","innerWidth","disableBodyScroll","enableBodyScroll","trim","trackAndTraceInfo","all","parcelSuggestion","deselectSuggestion","handleKeyDown","selectedSuggestion","selectedHref","getAttribute","href","startSearch","suggestions","querySelectorAll","parentElement","nextElementSibling","firstElementChild","_d","_c","previousElementSibling","suggestedText","dataset","suggestionText","handleMouseEnterSuggestion","target","handleMouseLeaveSuggestions","render","translations","showPortalRecommendations","searchRecommendations","links","Host","SvgSprite","class","onClick","e","toggleDropdown","searchToggleExpanded","searchToggle","SvgIcon","If","condition","ref","placeholder","flyoutSearchBoxFloatingLabel","autocomplete","el","onInput","handleSearchInput","onKeyDown","htmlFor","searchSubmit","title","onMouseLeave","recommendation","URL","label","onMouseEnter","inlineSvg","_f","_e","sending","_h","_g","product","_k","_j","recipient","zipcode","_m","_l","city","_p","_o","suggestion","objectId","highlighted"],"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","../../node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js","../../node_modules/.pnpm/@sindresorhus+transliterate@1.6.0/node_modules/@sindresorhus/transliterate/replacements.js","../../node_modules/.pnpm/@sindresorhus+transliterate@1.6.0/node_modules/@sindresorhus/transliterate/index.js","../../node_modules/.pnpm/@sindresorhus+slugify@2.1.1/node_modules/@sindresorhus/slugify/overridable-replacements.js","../../node_modules/.pnpm/@sindresorhus+slugify@2.1.1/node_modules/@sindresorhus/slugify/index.js","./src/services/search/search-utilities.ts","./src/services/search/places.service.ts","./src/utils/highlighted.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';\r\nimport { ISearchConfig } from '../../models/header.model';\r\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\r\n\r\n// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883\r\n\r\n// Track and trace URL\r\nexport const getTrackAndTraceApiUrl = (id: string) => {\r\n const lang = state.currentLanguage;\r\n return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;\r\n};\r\n\r\n// Get the redire\r\nexport const getTrackAndTraceRedirectUrl = (\r\n query: string,\r\n { packageTrackingRedirectUrl }: ISearchConfig,\r\n) => {\r\n return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));\r\n};\r\n\r\n/**\r\n * Check whether a query is a tracking id\r\n *\r\n * @param query User query\r\n * @returns Boolean\r\n */\r\nexport const isParcel = async (query: string, searchConfig: ISearchConfig): Promise<boolean> => {\r\n const parcelInfo = await getParcelInfo(query, searchConfig);\r\n return parcelInfo.ok;\r\n};\r\n\r\n/**\r\n * Try to get parcel info from a query that is possibly a tracking id.\r\n * This is mainly used to check if a search should redirect to track&trace instead of the regular search.\r\n *\r\n * @param query User query that is possibly a tracking number\r\n * @returns Track and trace info\r\n */\r\nexport const getParcelInfo = async (\r\n query: string,\r\n { redirectPattern }: ISearchConfig,\r\n): Promise<TrackAndTraceInfo> => {\r\n const trackingNrPattern = new RegExp(redirectPattern);\r\n\r\n if (trackingNrPattern.test(query)) {\r\n try {\r\n const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));\r\n const trackAndTraceResult = await trackAndTraceReqest.json();\r\n return { ...trackAndTraceResult, ok: trackAndTraceResult.ok === 'true' };\r\n } catch (error) {\r\n console.warn(`Could not check track and trace API due to error: ${error.message}`);\r\n }\r\n }\r\n\r\n return { ok: false, timestamp: new Date().toDateString() };\r\n};\r\n\r\n/**\r\n * Get parcel info if query is a parcel or null\r\n *\r\n * @param query Parcel id\r\n * @returns Parcel info and a redirect url or null if not a parcel\r\n */\r\nexport const getParcelSuggestion = async (\r\n query: string,\r\n searchConfig: ISearchConfig,\r\n): Promise<(TrackAndTraceInfo & { url: string }) | null> => {\r\n const parcelInfo = await getParcelInfo(query, searchConfig);\r\n return parcelInfo.ok\r\n ? { ...parcelInfo, url: getTrackAndTraceRedirectUrl(query, searchConfig) }\r\n : null;\r\n};\r\n","import { state } from '../../data/store';\r\nimport { ISearchConfig } from '../../models/header.model';\r\nimport { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';\r\n\r\n/**\r\n * Construct a search page url from a query\r\n *\r\n * @param query Search term\r\n * @returns\r\n */\r\nexport const getSearchRedirectUrl = async (\r\n query: string,\r\n searchConfig: ISearchConfig,\r\n): Promise<string | undefined> => {\r\n const isTrackTraceId = await isParcel(query, searchConfig);\r\n return isTrackTraceId\r\n ? getTrackAndTraceRedirectUrl(query, searchConfig)\r\n : getSearchPageUrl(query);\r\n};\r\n\r\n/**\r\n * Stitch toghether the search page URL\r\n *\r\n * @param query Search term\r\n * @returns Search page URL\r\n */\r\nexport const getSearchPageUrl = (query: string): string | undefined => {\r\n if (state.localizedConfig?.header.search === undefined) {\r\n return;\r\n }\r\n const { searchPageUrl } = state.localizedConfig.header.search;\r\n const searchParam = `#q=${encodeURIComponent(query)}`;\r\n return `${searchPageUrl}${searchParam}&t=AllTab`;\r\n};\r\n\r\n/**\r\n * Equalize the length of two arrays while filling up empty slots up to max. length\r\n *\r\n * @param arrayA First array\r\n * @param arrayB Second array\r\n * @param maxLength Max. length of result array\r\n * @returns Array with two resulting arrays\r\n */\r\nexport const equalizeArrays = <A, B>(arrayA: A[], arrayB: B[], maxLength = 8): [A[], B[]] => {\r\n const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));\r\n return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];\r\n};\r\n","import { CoveoOptions } from '../../models/coveo.model';\r\n\r\n// Coveo constants\r\nexport const coveo: CoveoOptions = {\r\n url: 'https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest',\r\n environment: {\r\n prod: {\r\n organisation: 'postchagprod6ef4sbet',\r\n token: 'xx5b629890-23b9-4fbe-b601-0e8719186969',\r\n },\r\n int01: {\r\n organisation: 'postchagnonprods5sq57qt',\r\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\r\n },\r\n int02: {\r\n organisation: 'postchagnonprods5sq57qt',\r\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\r\n },\r\n },\r\n};\r\n","import { state } from '../../data/store';\r\nimport { CoveoCompletion, CoveoResponse } from '../../models/coveo.model';\r\nimport { coveo } from './coveo.settings';\r\nimport { getSearchPageUrl } from './search.service';\r\n\r\n/**\r\n * Get suggestions from coveo\r\n * https://docs.coveo.com/en/1459/build-a-search-ui/get-query-suggestions#context-object\r\n *\r\n * @param query Search term\r\n * @returns\r\n */\r\nexport const getCoveoSuggestions = async (query: string): Promise<CoveoCompletion[]> => {\r\n if (state.localizedConfig?.header?.search === undefined) return [];\r\n const config = state.localizedConfig.header.search;\r\n const { token, organisation } = coveo.environment[state.environment];\r\n const url = `${coveo.url}?q=${query}&locale=${state.currentLanguage}&searchHub=${config.searchHubName}&pipeline=${config.searchPipelineName}&organizationId=${organisation}`;\r\n let coveoCompletions: CoveoCompletion[] | undefined;\r\n\r\n try {\r\n const coveoResponse = await fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n const coveoJSON = (await coveoResponse.json()) as CoveoResponse;\r\n coveoCompletions = coveoJSON.completions.map(completion => ({\r\n ...completion,\r\n redirectUrl: getSearchPageUrl(completion.expression),\r\n }));\r\n } catch (error) {\r\n console.error(\r\n 'Connection to coveo failed. Did you add \"*.coveo.com\" to your connect-src content security policy and tried turning off your adblocker?',\r\n );\r\n }\r\n\r\n return coveoCompletions === undefined ? [] : coveoCompletions;\r\n};\r\n","// Implement some TOPOS logic into the header search\r\nexport const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';\r\nexport const placesUrl = 'https://places.post.ch';\r\nexport const pois = [\r\n '001PST',\r\n '001MP24',\r\n '001AG-PICK',\r\n '001PFFIL',\r\n '001PFST',\r\n '001BZ',\r\n '001LZB',\r\n '001PZ',\r\n '001LZP',\r\n '001AL',\r\n];\r\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","const replacements = [\n\t// German umlauts\n\t['ß', 'ss'],\n\t['ẞ', 'Ss'],\n\t['ä', 'ae'],\n\t['Ä', 'Ae'],\n\t['ö', 'oe'],\n\t['Ö', 'Oe'],\n\t['ü', 'ue'],\n\t['Ü', 'Ue'],\n\n\t// Latin\n\t['À', 'A'],\n\t['Á', 'A'],\n\t['Â', 'A'],\n\t['Ã', 'A'],\n\t['Ä', 'Ae'],\n\t['Å', 'A'],\n\t['Æ', 'AE'],\n\t['Ç', 'C'],\n\t['È', 'E'],\n\t['É', 'E'],\n\t['Ê', 'E'],\n\t['Ë', 'E'],\n\t['Ì', 'I'],\n\t['Í', 'I'],\n\t['Î', 'I'],\n\t['Ï', 'I'],\n\t['Ð', 'D'],\n\t['Ñ', 'N'],\n\t['Ò', 'O'],\n\t['Ó', 'O'],\n\t['Ô', 'O'],\n\t['Õ', 'O'],\n\t['Ö', 'Oe'],\n\t['Ő', 'O'],\n\t['Ø', 'O'],\n\t['Ù', 'U'],\n\t['Ú', 'U'],\n\t['Û', 'U'],\n\t['Ü', 'Ue'],\n\t['Ű', 'U'],\n\t['Ý', 'Y'],\n\t['Þ', 'TH'],\n\t['ß', 'ss'],\n\t['à', 'a'],\n\t['á', 'a'],\n\t['â', 'a'],\n\t['ã', 'a'],\n\t['ä', 'ae'],\n\t['å', 'a'],\n\t['æ', 'ae'],\n\t['ç', 'c'],\n\t['è', 'e'],\n\t['é', 'e'],\n\t['ê', 'e'],\n\t['ë', 'e'],\n\t['ì', 'i'],\n\t['í', 'i'],\n\t['î', 'i'],\n\t['ï', 'i'],\n\t['ð', 'd'],\n\t['ñ', 'n'],\n\t['ò', 'o'],\n\t['ó', 'o'],\n\t['ô', 'o'],\n\t['õ', 'o'],\n\t['ö', 'oe'],\n\t['ő', 'o'],\n\t['ø', 'o'],\n\t['ù', 'u'],\n\t['ú', 'u'],\n\t['û', 'u'],\n\t['ü', 'ue'],\n\t['ű', 'u'],\n\t['ý', 'y'],\n\t['þ', 'th'],\n\t['ÿ', 'y'],\n\t['ẞ', 'SS'],\n\n\t// Vietnamese\n\t['à', 'a'],\n\t['À', 'A'],\n\t['á', 'a'],\n\t['Á', 'A'],\n\t['â', 'a'],\n\t['Â', 'A'],\n\t['ã', 'a'],\n\t['Ã', 'A'],\n\t['è', 'e'],\n\t['È', 'E'],\n\t['é', 'e'],\n\t['É', 'E'],\n\t['ê', 'e'],\n\t['Ê', 'E'],\n\t['ì', 'i'],\n\t['Ì', 'I'],\n\t['í', 'i'],\n\t['Í', 'I'],\n\t['ò', 'o'],\n\t['Ò', 'O'],\n\t['ó', 'o'],\n\t['Ó', 'O'],\n\t['ô', 'o'],\n\t['Ô', 'O'],\n\t['õ', 'o'],\n\t['Õ', 'O'],\n\t['ù', 'u'],\n\t['Ù', 'U'],\n\t['ú', 'u'],\n\t['Ú', 'U'],\n\t['ý', 'y'],\n\t['Ý', 'Y'],\n\t['ă', 'a'],\n\t['Ă', 'A'],\n\t['Đ', 'D'],\n\t['đ', 'd'],\n\t['ĩ', 'i'],\n\t['Ĩ', 'I'],\n\t['ũ', 'u'],\n\t['Ũ', 'U'],\n\t['ơ', 'o'],\n\t['Ơ', 'O'],\n\t['ư', 'u'],\n\t['Ư', 'U'],\n\t['ạ', 'a'],\n\t['Ạ', 'A'],\n\t['ả', 'a'],\n\t['Ả', 'A'],\n\t['ấ', 'a'],\n\t['Ấ', 'A'],\n\t['ầ', 'a'],\n\t['Ầ', 'A'],\n\t['ẩ', 'a'],\n\t['Ẩ', 'A'],\n\t['ẫ', 'a'],\n\t['Ẫ', 'A'],\n\t['ậ', 'a'],\n\t['Ậ', 'A'],\n\t['ắ', 'a'],\n\t['Ắ', 'A'],\n\t['ằ', 'a'],\n\t['Ằ', 'A'],\n\t['ẳ', 'a'],\n\t['Ẳ', 'A'],\n\t['ẵ', 'a'],\n\t['Ẵ', 'A'],\n\t['ặ', 'a'],\n\t['Ặ', 'A'],\n\t['ẹ', 'e'],\n\t['Ẹ', 'E'],\n\t['ẻ', 'e'],\n\t['Ẻ', 'E'],\n\t['ẽ', 'e'],\n\t['Ẽ', 'E'],\n\t['ế', 'e'],\n\t['Ế', 'E'],\n\t['ề', 'e'],\n\t['Ề', 'E'],\n\t['ể', 'e'],\n\t['Ể', 'E'],\n\t['ễ', 'e'],\n\t['Ễ', 'E'],\n\t['ệ', 'e'],\n\t['Ệ', 'E'],\n\t['ỉ', 'i'],\n\t['Ỉ', 'I'],\n\t['ị', 'i'],\n\t['Ị', 'I'],\n\t['ọ', 'o'],\n\t['Ọ', 'O'],\n\t['ỏ', 'o'],\n\t['Ỏ', 'O'],\n\t['ố', 'o'],\n\t['Ố', 'O'],\n\t['ồ', 'o'],\n\t['Ồ', 'O'],\n\t['ổ', 'o'],\n\t['Ổ', 'O'],\n\t['ỗ', 'o'],\n\t['Ỗ', 'O'],\n\t['ộ', 'o'],\n\t['Ộ', 'O'],\n\t['ớ', 'o'],\n\t['Ớ', 'O'],\n\t['ờ', 'o'],\n\t['Ờ', 'O'],\n\t['ở', 'o'],\n\t['Ở', 'O'],\n\t['ỡ', 'o'],\n\t['Ỡ', 'O'],\n\t['ợ', 'o'],\n\t['Ợ', 'O'],\n\t['ụ', 'u'],\n\t['Ụ', 'U'],\n\t['ủ', 'u'],\n\t['Ủ', 'U'],\n\t['ứ', 'u'],\n\t['Ứ', 'U'],\n\t['ừ', 'u'],\n\t['Ừ', 'U'],\n\t['ử', 'u'],\n\t['Ử', 'U'],\n\t['ữ', 'u'],\n\t['Ữ', 'U'],\n\t['ự', 'u'],\n\t['Ự', 'U'],\n\t['ỳ', 'y'],\n\t['Ỳ', 'Y'],\n\t['ỵ', 'y'],\n\t['Ỵ', 'Y'],\n\t['ỷ', 'y'],\n\t['Ỷ', 'Y'],\n\t['ỹ', 'y'],\n\t['Ỹ', 'Y'],\n\n\t// Arabic\n\t['ء', 'e'],\n\t['آ', 'a'],\n\t['أ', 'a'],\n\t['ؤ', 'w'],\n\t['إ', 'i'],\n\t['ئ', 'y'],\n\t['ا', 'a'],\n\t['ب', 'b'],\n\t['ة', 't'],\n\t['ت', 't'],\n\t['ث', 'th'],\n\t['ج', 'j'],\n\t['ح', 'h'],\n\t['خ', 'kh'],\n\t['د', 'd'],\n\t['ذ', 'dh'],\n\t['ر', 'r'],\n\t['ز', 'z'],\n\t['س', 's'],\n\t['ش', 'sh'],\n\t['ص', 's'],\n\t['ض', 'd'],\n\t['ط', 't'],\n\t['ظ', 'z'],\n\t['ع', 'e'],\n\t['غ', 'gh'],\n\t['ـ', '_'],\n\t['ف', 'f'],\n\t['ق', 'q'],\n\t['ك', 'k'],\n\t['ل', 'l'],\n\t['م', 'm'],\n\t['ن', 'n'],\n\t['ه', 'h'],\n\t['و', 'w'],\n\t['ى', 'a'],\n\t['ي', 'y'],\n\t['َ', 'a'],\n\t['ُ', 'u'],\n\t['ِ', 'i'],\n\t['٠', '0'],\n\t['١', '1'],\n\t['٢', '2'],\n\t['٣', '3'],\n\t['٤', '4'],\n\t['٥', '5'],\n\t['٦', '6'],\n\t['٧', '7'],\n\t['٨', '8'],\n\t['٩', '9'],\n\n\t// Persian / Farsi\n\t['چ', 'ch'],\n\t['ک', 'k'],\n\t['گ', 'g'],\n\t['پ', 'p'],\n\t['ژ', 'zh'],\n\t['ی', 'y'],\n\t['۰', '0'],\n\t['۱', '1'],\n\t['۲', '2'],\n\t['۳', '3'],\n\t['۴', '4'],\n\t['۵', '5'],\n\t['۶', '6'],\n\t['۷', '7'],\n\t['۸', '8'],\n\t['۹', '9'],\n\n\t// Pashto\n\t['ټ', 'p'],\n\t['ځ', 'z'],\n\t['څ', 'c'],\n\t['ډ', 'd'],\n\t['ﺫ', 'd'],\n\t['ﺭ', 'r'],\n\t['ړ', 'r'],\n\t['ﺯ', 'z'],\n\t['ږ', 'g'],\n\t['ښ', 'x'],\n\t['ګ', 'g'],\n\t['ڼ', 'n'],\n\t['ۀ', 'e'],\n\t['ې', 'e'],\n\t['ۍ', 'ai'],\n\n\t// Urdu\n\t['ٹ', 't'],\n\t['ڈ', 'd'],\n\t['ڑ', 'r'],\n\t['ں', 'n'],\n\t['ہ', 'h'],\n\t['ھ', 'h'],\n\t['ے', 'e'],\n\n\t// Russian\n\t['А', 'A'],\n\t['а', 'a'],\n\t['Б', 'B'],\n\t['б', 'b'],\n\t['В', 'V'],\n\t['в', 'v'],\n\t['Г', 'G'],\n\t['г', 'g'],\n\t['Д', 'D'],\n\t['д', 'd'],\n\t['ъе', 'ye'],\n\t['Ъе', 'Ye'],\n\t['ъЕ', 'yE'],\n\t['ЪЕ', 'YE'],\n\t['Е', 'E'],\n\t['е', 'e'],\n\t['Ё', 'Yo'],\n\t['ё', 'yo'],\n\t['Ж', 'Zh'],\n\t['ж', 'zh'],\n\t['З', 'Z'],\n\t['з', 'z'],\n\t['И', 'I'],\n\t['и', 'i'],\n\t['ый', 'iy'],\n\t['Ый', 'Iy'],\n\t['ЫЙ', 'IY'],\n\t['ыЙ', 'iY'],\n\t['Й', 'Y'],\n\t['й', 'y'],\n\t['К', 'K'],\n\t['к', 'k'],\n\t['Л', 'L'],\n\t['л', 'l'],\n\t['М', 'M'],\n\t['м', 'm'],\n\t['Н', 'N'],\n\t['н', 'n'],\n\t['О', 'O'],\n\t['о', 'o'],\n\t['П', 'P'],\n\t['п', 'p'],\n\t['Р', 'R'],\n\t['р', 'r'],\n\t['С', 'S'],\n\t['с', 's'],\n\t['Т', 'T'],\n\t['т', 't'],\n\t['У', 'U'],\n\t['у', 'u'],\n\t['Ф', 'F'],\n\t['ф', 'f'],\n\t['Х', 'Kh'],\n\t['х', 'kh'],\n\t['Ц', 'Ts'],\n\t['ц', 'ts'],\n\t['Ч', 'Ch'],\n\t['ч', 'ch'],\n\t['Ш', 'Sh'],\n\t['ш', 'sh'],\n\t['Щ', 'Sch'],\n\t['щ', 'sch'],\n\t['Ъ', ''],\n\t['ъ', ''],\n\t['Ы', 'Y'],\n\t['ы', 'y'],\n\t['Ь', ''],\n\t['ь', ''],\n\t['Э', 'E'],\n\t['э', 'e'],\n\t['Ю', 'Yu'],\n\t['ю', 'yu'],\n\t['Я', 'Ya'],\n\t['я', 'ya'],\n\n\t// Romanian\n\t['ă', 'a'],\n\t['Ă', 'A'],\n\t['ș', 's'],\n\t['Ș', 'S'],\n\t['ț', 't'],\n\t['Ț', 'T'],\n\t['ţ', 't'],\n\t['Ţ', 'T'],\n\n\t// Turkish\n\t['ş', 's'],\n\t['Ş', 'S'],\n\t['ç', 'c'],\n\t['Ç', 'C'],\n\t['ğ', 'g'],\n\t['Ğ', 'G'],\n\t['ı', 'i'],\n\t['İ', 'I'],\n\n\t// Armenian\n\t['ա', 'a'],\n\t['Ա', 'A'],\n\t['բ', 'b'],\n\t['Բ', 'B'],\n\t['գ', 'g'],\n\t['Գ', 'G'],\n\t['դ', 'd'],\n\t['Դ', 'D'],\n\t['ե', 'ye'],\n\t['Ե', 'Ye'],\n\t['զ', 'z'],\n\t['Զ', 'Z'],\n\t['է', 'e'],\n\t['Է', 'E'],\n\t['ը', 'y'],\n\t['Ը', 'Y'],\n\t['թ', 't'],\n\t['Թ', 'T'],\n\t['ժ', 'zh'],\n\t['Ժ', 'Zh'],\n\t['ի', 'i'],\n\t['Ի', 'I'],\n\t['լ', 'l'],\n\t['Լ', 'L'],\n\t['խ', 'kh'],\n\t['Խ', 'Kh'],\n\t['ծ', 'ts'],\n\t['Ծ', 'Ts'],\n\t['կ', 'k'],\n\t['Կ', 'K'],\n\t['հ', 'h'],\n\t['Հ', 'H'],\n\t['ձ', 'dz'],\n\t['Ձ', 'Dz'],\n\t['ղ', 'gh'],\n\t['Ղ', 'Gh'],\n\t['ճ', 'tch'],\n\t['Ճ', 'Tch'],\n\t['մ', 'm'],\n\t['Մ', 'M'],\n\t['յ', 'y'],\n\t['Յ', 'Y'],\n\t['ն', 'n'],\n\t['Ն', 'N'],\n\t['շ', 'sh'],\n\t['Շ', 'Sh'],\n\t['ո', 'vo'],\n\t['Ո', 'Vo'],\n\t['չ', 'ch'],\n\t['Չ', 'Ch'],\n\t['պ', 'p'],\n\t['Պ', 'P'],\n\t['ջ', 'j'],\n\t['Ջ', 'J'],\n\t['ռ', 'r'],\n\t['Ռ', 'R'],\n\t['ս', 's'],\n\t['Ս', 'S'],\n\t['վ', 'v'],\n\t['Վ', 'V'],\n\t['տ', 't'],\n\t['Տ', 'T'],\n\t['ր', 'r'],\n\t['Ր', 'R'],\n\t['ց', 'c'],\n\t['Ց', 'C'],\n\t['ու', 'u'],\n\t['ՈՒ', 'U'],\n\t['Ու', 'U'],\n\t['փ', 'p'],\n\t['Փ', 'P'],\n\t['ք', 'q'],\n\t['Ք', 'Q'],\n\t['օ', 'o'],\n\t['Օ', 'O'],\n\t['ֆ', 'f'],\n\t['Ֆ', 'F'],\n\t['և', 'yev'],\n\n\t// Georgian\n\t['ა', 'a'],\n\t['ბ', 'b'],\n\t['გ', 'g'],\n\t['დ', 'd'],\n\t['ე', 'e'],\n\t['ვ', 'v'],\n\t['ზ', 'z'],\n\t['თ', 't'],\n\t['ი', 'i'],\n\t['კ', 'k'],\n\t['ლ', 'l'],\n\t['მ', 'm'],\n\t['ნ', 'n'],\n\t['ო', 'o'],\n\t['პ', 'p'],\n\t['ჟ', 'zh'],\n\t['რ', 'r'],\n\t['ს', 's'],\n\t['ტ', 't'],\n\t['უ', 'u'],\n\t['ფ', 'ph'],\n\t['ქ', 'q'],\n\t['ღ', 'gh'],\n\t['ყ', 'k'],\n\t['შ', 'sh'],\n\t['ჩ', 'ch'],\n\t['ც', 'ts'],\n\t['ძ', 'dz'],\n\t['წ', 'ts'],\n\t['ჭ', 'tch'],\n\t['ხ', 'kh'],\n\t['ჯ', 'j'],\n\t['ჰ', 'h'],\n\n\t// Czech\n\t['č', 'c'],\n\t['ď', 'd'],\n\t['ě', 'e'],\n\t['ň', 'n'],\n\t['ř', 'r'],\n\t['š', 's'],\n\t['ť', 't'],\n\t['ů', 'u'],\n\t['ž', 'z'],\n\t['Č', 'C'],\n\t['Ď', 'D'],\n\t['Ě', 'E'],\n\t['Ň', 'N'],\n\t['Ř', 'R'],\n\t['Š', 'S'],\n\t['Ť', 'T'],\n\t['Ů', 'U'],\n\t['Ž', 'Z'],\n\n\t// Dhivehi\n\t['ހ', 'h'],\n\t['ށ', 'sh'],\n\t['ނ', 'n'],\n\t['ރ', 'r'],\n\t['ބ', 'b'],\n\t['ޅ', 'lh'],\n\t['ކ', 'k'],\n\t['އ', 'a'],\n\t['ވ', 'v'],\n\t['މ', 'm'],\n\t['ފ', 'f'],\n\t['ދ', 'dh'],\n\t['ތ', 'th'],\n\t['ލ', 'l'],\n\t['ގ', 'g'],\n\t['ޏ', 'gn'],\n\t['ސ', 's'],\n\t['ޑ', 'd'],\n\t['ޒ', 'z'],\n\t['ޓ', 't'],\n\t['ޔ', 'y'],\n\t['ޕ', 'p'],\n\t['ޖ', 'j'],\n\t['ޗ', 'ch'],\n\t['ޘ', 'tt'],\n\t['ޙ', 'hh'],\n\t['ޚ', 'kh'],\n\t['ޛ', 'th'],\n\t['ޜ', 'z'],\n\t['ޝ', 'sh'],\n\t['ޞ', 's'],\n\t['ޟ', 'd'],\n\t['ޠ', 't'],\n\t['ޡ', 'z'],\n\t['ޢ', 'a'],\n\t['ޣ', 'gh'],\n\t['ޤ', 'q'],\n\t['ޥ', 'w'],\n\t['ަ', 'a'],\n\t['ާ', 'aa'],\n\t['ި', 'i'],\n\t['ީ', 'ee'],\n\t['ު', 'u'],\n\t['ޫ', 'oo'],\n\t['ެ', 'e'],\n\t['ޭ', 'ey'],\n\t['ޮ', 'o'],\n\t['ޯ', 'oa'],\n\t['ް', ''],\n\n\t// Greek\n\t['α', 'a'],\n\t['β', 'v'],\n\t['γ', 'g'],\n\t['δ', 'd'],\n\t['ε', 'e'],\n\t['ζ', 'z'],\n\t['η', 'i'],\n\t['θ', 'th'],\n\t['ι', 'i'],\n\t['κ', 'k'],\n\t['λ', 'l'],\n\t['μ', 'm'],\n\t['ν', 'n'],\n\t['ξ', 'ks'],\n\t['ο', 'o'],\n\t['π', 'p'],\n\t['ρ', 'r'],\n\t['σ', 's'],\n\t['τ', 't'],\n\t['υ', 'y'],\n\t['φ', 'f'],\n\t['χ', 'x'],\n\t['ψ', 'ps'],\n\t['ω', 'o'],\n\t['ά', 'a'],\n\t['έ', 'e'],\n\t['ί', 'i'],\n\t['ό', 'o'],\n\t['ύ', 'y'],\n\t['ή', 'i'],\n\t['ώ', 'o'],\n\t['ς', 's'],\n\t['ϊ', 'i'],\n\t['ΰ', 'y'],\n\t['ϋ', 'y'],\n\t['ΐ', 'i'],\n\t['Α', 'A'],\n\t['Β', 'B'],\n\t['Γ', 'G'],\n\t['Δ', 'D'],\n\t['Ε', 'E'],\n\t['Ζ', 'Z'],\n\t['Η', 'I'],\n\t['Θ', 'TH'],\n\t['Ι', 'I'],\n\t['Κ', 'K'],\n\t['Λ', 'L'],\n\t['Μ', 'M'],\n\t['Ν', 'N'],\n\t['Ξ', 'KS'],\n\t['Ο', 'O'],\n\t['Π', 'P'],\n\t['Ρ', 'R'],\n\t['Σ', 'S'],\n\t['Τ', 'T'],\n\t['Υ', 'Y'],\n\t['Φ', 'F'],\n\t['Χ', 'X'],\n\t['Ψ', 'PS'],\n\t['Ω', 'O'],\n\t['Ά', 'A'],\n\t['Έ', 'E'],\n\t['Ί', 'I'],\n\t['Ό', 'O'],\n\t['Ύ', 'Y'],\n\t['Ή', 'I'],\n\t['Ώ', 'O'],\n\t['Ϊ', 'I'],\n\t['Ϋ', 'Y'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Hungarian\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ö', 'o'],\n\t// ['Ö', 'O'],\n\t// ['ü', 'u'],\n\t// ['Ü', 'U'],\n\t// ['ű', 'u'],\n\t// ['Ű', 'U'],\n\n\t// Latvian\n\t['ā', 'a'],\n\t['ē', 'e'],\n\t['ģ', 'g'],\n\t['ī', 'i'],\n\t['ķ', 'k'],\n\t['ļ', 'l'],\n\t['ņ', 'n'],\n\t['ū', 'u'],\n\t['Ā', 'A'],\n\t['Ē', 'E'],\n\t['Ģ', 'G'],\n\t['Ī', 'I'],\n\t['Ķ', 'K'],\n\t['Ļ', 'L'],\n\t['Ņ', 'N'],\n\t['Ū', 'U'],\n\t['č', 'c'],\n\t['š', 's'],\n\t['ž', 'z'],\n\t['Č', 'C'],\n\t['Š', 'S'],\n\t['Ž', 'Z'],\n\n\t// Lithuanian\n\t['ą', 'a'],\n\t['č', 'c'],\n\t['ę', 'e'],\n\t['ė', 'e'],\n\t['į', 'i'],\n\t['š', 's'],\n\t['ų', 'u'],\n\t['ū', 'u'],\n\t['ž', 'z'],\n\t['Ą', 'A'],\n\t['Č', 'C'],\n\t['Ę', 'E'],\n\t['Ė', 'E'],\n\t['Į', 'I'],\n\t['Š', 'S'],\n\t['Ų', 'U'],\n\t['Ū', 'U'],\n\n\t// Macedonian\n\t['Ќ', 'Kj'],\n\t['ќ', 'kj'],\n\t['Љ', 'Lj'],\n\t['љ', 'lj'],\n\t['Њ', 'Nj'],\n\t['њ', 'nj'],\n\t['Тс', 'Ts'],\n\t['тс', 'ts'],\n\n\t// Polish\n\t['ą', 'a'],\n\t['ć', 'c'],\n\t['ę', 'e'],\n\t['ł', 'l'],\n\t['ń', 'n'],\n\t['ś', 's'],\n\t['ź', 'z'],\n\t['ż', 'z'],\n\t['Ą', 'A'],\n\t['Ć', 'C'],\n\t['Ę', 'E'],\n\t['Ł', 'L'],\n\t['Ń', 'N'],\n\t['Ś', 'S'],\n\t['Ź', 'Z'],\n\t['Ż', 'Z'],\n\n\t// Disabled as it conflicts with Vietnamese.\n\t// Serbian\n\t// ['љ', 'lj'],\n\t// ['њ', 'nj'],\n\t// ['Љ', 'Lj'],\n\t// ['Њ', 'Nj'],\n\t// ['đ', 'dj'],\n\t// ['Đ', 'Dj'],\n\t// ['ђ', 'dj'],\n\t// ['ј', 'j'],\n\t// ['ћ', 'c'],\n\t// ['џ', 'dz'],\n\t// ['Ђ', 'Dj'],\n\t// ['Ј', 'j'],\n\t// ['Ћ', 'C'],\n\t// ['Џ', 'Dz'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Slovak\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ľ', 'l'],\n\t// ['ĺ', 'l'],\n\t// ['ŕ', 'r'],\n\t// ['Ľ', 'L'],\n\t// ['Ĺ', 'L'],\n\t// ['Ŕ', 'R'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Swedish\n\t// ['å', 'o'],\n\t// ['Å', 'o'],\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ë', 'e'],\n\t// ['Ë', 'E'],\n\t// ['ö', 'o'],\n\t// ['Ö', 'O'],\n\n\t// Ukrainian\n\t['Є', 'Ye'],\n\t['І', 'I'],\n\t['Ї', 'Yi'],\n\t['Ґ', 'G'],\n\t['є', 'ye'],\n\t['і', 'i'],\n\t['ї', 'yi'],\n\t['ґ', 'g'],\n\n\t// Dutch\n\t['IJ', 'IJ'],\n\t['ij', 'ij'],\n\n\t// Danish\n\t// ['Æ', 'Ae'],\n\t// ['Ø', 'Oe'],\n\t// ['Å', 'Aa'],\n\t// ['æ', 'ae'],\n\t// ['ø', 'oe'],\n\t// ['å', 'aa']\n\n\t// Currencies\n\t['¢', 'c'],\n\t['¥', 'Y'],\n\t['߿', 'b'],\n\t['৳', 't'],\n\t['૱', 'Bo'],\n\t['฿', 'B'],\n\t['₠', 'CE'],\n\t['₡', 'C'],\n\t['₢', 'Cr'],\n\t['₣', 'F'],\n\t['₥', 'm'],\n\t['₦', 'N'],\n\t['₧', 'Pt'],\n\t['₨', 'Rs'],\n\t['₩', 'W'],\n\t['₫', 's'],\n\t['€', 'E'],\n\t['₭', 'K'],\n\t['₮', 'T'],\n\t['₯', 'Dp'],\n\t['₰', 'S'],\n\t['₱', 'P'],\n\t['₲', 'G'],\n\t['₳', 'A'],\n\t['₴', 'S'],\n\t['₵', 'C'],\n\t['₶', 'tt'],\n\t['₷', 'S'],\n\t['₸', 'T'],\n\t['₹', 'R'],\n\t['₺', 'L'],\n\t['₽', 'P'],\n\t['₿', 'B'],\n\t['﹩', '$'],\n\t['¢', 'c'],\n\t['¥', 'Y'],\n\t['₩', 'W'],\n\n\t// Latin\n\t['𝐀', 'A'],\n\t['𝐁', 'B'],\n\t['𝐂', 'C'],\n\t['𝐃', 'D'],\n\t['𝐄', 'E'],\n\t['𝐅', 'F'],\n\t['𝐆', 'G'],\n\t['𝐇', 'H'],\n\t['𝐈', 'I'],\n\t['𝐉', 'J'],\n\t['𝐊', 'K'],\n\t['𝐋', 'L'],\n\t['𝐌', 'M'],\n\t['𝐍', 'N'],\n\t['𝐎', 'O'],\n\t['𝐏', 'P'],\n\t['𝐐', 'Q'],\n\t['𝐑', 'R'],\n\t['𝐒', 'S'],\n\t['𝐓', 'T'],\n\t['𝐔', 'U'],\n\t['𝐕', 'V'],\n\t['𝐖', 'W'],\n\t['𝐗', 'X'],\n\t['𝐘', 'Y'],\n\t['𝐙', 'Z'],\n\t['𝐚', 'a'],\n\t['𝐛', 'b'],\n\t['𝐜', 'c'],\n\t['𝐝', 'd'],\n\t['𝐞', 'e'],\n\t['𝐟', 'f'],\n\t['𝐠', 'g'],\n\t['𝐡', 'h'],\n\t['𝐢', 'i'],\n\t['𝐣', 'j'],\n\t['𝐤', 'k'],\n\t['𝐥', 'l'],\n\t['𝐦', 'm'],\n\t['𝐧', 'n'],\n\t['𝐨', 'o'],\n\t['𝐩', 'p'],\n\t['𝐪', 'q'],\n\t['𝐫', 'r'],\n\t['𝐬', 's'],\n\t['𝐭', 't'],\n\t['𝐮', 'u'],\n\t['𝐯', 'v'],\n\t['𝐰', 'w'],\n\t['𝐱', 'x'],\n\t['𝐲', 'y'],\n\t['𝐳', 'z'],\n\t['𝐴', 'A'],\n\t['𝐵', 'B'],\n\t['𝐶', 'C'],\n\t['𝐷', 'D'],\n\t['𝐸', 'E'],\n\t['𝐹', 'F'],\n\t['𝐺', 'G'],\n\t['𝐻', 'H'],\n\t['𝐼', 'I'],\n\t['𝐽', 'J'],\n\t['𝐾', 'K'],\n\t['𝐿', 'L'],\n\t['𝑀', 'M'],\n\t['𝑁', 'N'],\n\t['𝑂', 'O'],\n\t['𝑃', 'P'],\n\t['𝑄', 'Q'],\n\t['𝑅', 'R'],\n\t['𝑆', 'S'],\n\t['𝑇', 'T'],\n\t['𝑈', 'U'],\n\t['𝑉', 'V'],\n\t['𝑊', 'W'],\n\t['𝑋', 'X'],\n\t['𝑌', 'Y'],\n\t['𝑍', 'Z'],\n\t['𝑎', 'a'],\n\t['𝑏', 'b'],\n\t['𝑐', 'c'],\n\t['𝑑', 'd'],\n\t['𝑒', 'e'],\n\t['𝑓', 'f'],\n\t['𝑔', 'g'],\n\t['𝑖', 'i'],\n\t['𝑗', 'j'],\n\t['𝑘', 'k'],\n\t['𝑙', 'l'],\n\t['𝑚', 'm'],\n\t['𝑛', 'n'],\n\t['𝑜', 'o'],\n\t['𝑝', 'p'],\n\t['𝑞', 'q'],\n\t['𝑟', 'r'],\n\t['𝑠', 's'],\n\t['𝑡', 't'],\n\t['𝑢', 'u'],\n\t['𝑣', 'v'],\n\t['𝑤', 'w'],\n\t['𝑥', 'x'],\n\t['𝑦', 'y'],\n\t['𝑧', 'z'],\n\t['𝑨', 'A'],\n\t['𝑩', 'B'],\n\t['𝑪', 'C'],\n\t['𝑫', 'D'],\n\t['𝑬', 'E'],\n\t['𝑭', 'F'],\n\t['𝑮', 'G'],\n\t['𝑯', 'H'],\n\t['𝑰', 'I'],\n\t['𝑱', 'J'],\n\t['𝑲', 'K'],\n\t['𝑳', 'L'],\n\t['𝑴', 'M'],\n\t['𝑵', 'N'],\n\t['𝑶', 'O'],\n\t['𝑷', 'P'],\n\t['𝑸', 'Q'],\n\t['𝑹', 'R'],\n\t['𝑺', 'S'],\n\t['𝑻', 'T'],\n\t['𝑼', 'U'],\n\t['𝑽', 'V'],\n\t['𝑾', 'W'],\n\t['𝑿', 'X'],\n\t['𝒀', 'Y'],\n\t['𝒁', 'Z'],\n\t['𝒂', 'a'],\n\t['𝒃', 'b'],\n\t['𝒄', 'c'],\n\t['𝒅', 'd'],\n\t['𝒆', 'e'],\n\t['𝒇', 'f'],\n\t['𝒈', 'g'],\n\t['𝒉', 'h'],\n\t['𝒊', 'i'],\n\t['𝒋', 'j'],\n\t['𝒌', 'k'],\n\t['𝒍', 'l'],\n\t['𝒎', 'm'],\n\t['𝒏', 'n'],\n\t['𝒐', 'o'],\n\t['𝒑', 'p'],\n\t['𝒒', 'q'],\n\t['𝒓', 'r'],\n\t['𝒔', 's'],\n\t['𝒕', 't'],\n\t['𝒖', 'u'],\n\t['𝒗', 'v'],\n\t['𝒘', 'w'],\n\t['𝒙', 'x'],\n\t['𝒚', 'y'],\n\t['𝒛', 'z'],\n\t['𝒜', 'A'],\n\t['𝒞', 'C'],\n\t['𝒟', 'D'],\n\t['𝒢', 'g'],\n\t['𝒥', 'J'],\n\t['𝒦', 'K'],\n\t['𝒩', 'N'],\n\t['𝒪', 'O'],\n\t['𝒫', 'P'],\n\t['𝒬', 'Q'],\n\t['𝒮', 'S'],\n\t['𝒯', 'T'],\n\t['𝒰', 'U'],\n\t['𝒱', 'V'],\n\t['𝒲', 'W'],\n\t['𝒳', 'X'],\n\t['𝒴', 'Y'],\n\t['𝒵', 'Z'],\n\t['𝒶', 'a'],\n\t['𝒷', 'b'],\n\t['𝒸', 'c'],\n\t['𝒹', 'd'],\n\t['𝒻', 'f'],\n\t['𝒽', 'h'],\n\t['𝒾', 'i'],\n\t['𝒿', 'j'],\n\t['𝓀', 'h'],\n\t['𝓁', 'l'],\n\t['𝓂', 'm'],\n\t['𝓃', 'n'],\n\t['𝓅', 'p'],\n\t['𝓆', 'q'],\n\t['𝓇', 'r'],\n\t['𝓈', 's'],\n\t['𝓉', 't'],\n\t['𝓊', 'u'],\n\t['𝓋', 'v'],\n\t['𝓌', 'w'],\n\t['𝓍', 'x'],\n\t['𝓎', 'y'],\n\t['𝓏', 'z'],\n\t['𝓐', 'A'],\n\t['𝓑', 'B'],\n\t['𝓒', 'C'],\n\t['𝓓', 'D'],\n\t['𝓔', 'E'],\n\t['𝓕', 'F'],\n\t['𝓖', 'G'],\n\t['𝓗', 'H'],\n\t['𝓘', 'I'],\n\t['𝓙', 'J'],\n\t['𝓚', 'K'],\n\t['𝓛', 'L'],\n\t['𝓜', 'M'],\n\t['𝓝', 'N'],\n\t['𝓞', 'O'],\n\t['𝓟', 'P'],\n\t['𝓠', 'Q'],\n\t['𝓡', 'R'],\n\t['𝓢', 'S'],\n\t['𝓣', 'T'],\n\t['𝓤', 'U'],\n\t['𝓥', 'V'],\n\t['𝓦', 'W'],\n\t['𝓧', 'X'],\n\t['𝓨', 'Y'],\n\t['𝓩', 'Z'],\n\t['𝓪', 'a'],\n\t['𝓫', 'b'],\n\t['𝓬', 'c'],\n\t['𝓭', 'd'],\n\t['𝓮', 'e'],\n\t['𝓯', 'f'],\n\t['𝓰', 'g'],\n\t['𝓱', 'h'],\n\t['𝓲', 'i'],\n\t['𝓳', 'j'],\n\t['𝓴', 'k'],\n\t['𝓵', 'l'],\n\t['𝓶', 'm'],\n\t['𝓷', 'n'],\n\t['𝓸', 'o'],\n\t['𝓹', 'p'],\n\t['𝓺', 'q'],\n\t['𝓻', 'r'],\n\t['𝓼', 's'],\n\t['𝓽', 't'],\n\t['𝓾', 'u'],\n\t['𝓿', 'v'],\n\t['𝔀', 'w'],\n\t['𝔁', 'x'],\n\t['𝔂', 'y'],\n\t['𝔃', 'z'],\n\t['𝔄', 'A'],\n\t['𝔅', 'B'],\n\t['𝔇', 'D'],\n\t['𝔈', 'E'],\n\t['𝔉', 'F'],\n\t['𝔊', 'G'],\n\t['𝔍', 'J'],\n\t['𝔎', 'K'],\n\t['𝔏', 'L'],\n\t['𝔐', 'M'],\n\t['𝔑', 'N'],\n\t['𝔒', 'O'],\n\t['𝔓', 'P'],\n\t['𝔔', 'Q'],\n\t['𝔖', 'S'],\n\t['𝔗', 'T'],\n\t['𝔘', 'U'],\n\t['𝔙', 'V'],\n\t['𝔚', 'W'],\n\t['𝔛', 'X'],\n\t['𝔜', 'Y'],\n\t['𝔞', 'a'],\n\t['𝔟', 'b'],\n\t['𝔠', 'c'],\n\t['𝔡', 'd'],\n\t['𝔢', 'e'],\n\t['𝔣', 'f'],\n\t['𝔤', 'g'],\n\t['𝔥', 'h'],\n\t['𝔦', 'i'],\n\t['𝔧', 'j'],\n\t['𝔨', 'k'],\n\t['𝔩', 'l'],\n\t['𝔪', 'm'],\n\t['𝔫', 'n'],\n\t['𝔬', 'o'],\n\t['𝔭', 'p'],\n\t['𝔮', 'q'],\n\t['𝔯', 'r'],\n\t['𝔰', 's'],\n\t['𝔱', 't'],\n\t['𝔲', 'u'],\n\t['𝔳', 'v'],\n\t['𝔴', 'w'],\n\t['𝔵', 'x'],\n\t['𝔶', 'y'],\n\t['𝔷', 'z'],\n\t['𝔸', 'A'],\n\t['𝔹', 'B'],\n\t['𝔻', 'D'],\n\t['𝔼', 'E'],\n\t['𝔽', 'F'],\n\t['𝔾', 'G'],\n\t['𝕀', 'I'],\n\t['𝕁', 'J'],\n\t['𝕂', 'K'],\n\t['𝕃', 'L'],\n\t['𝕄', 'M'],\n\t['𝕆', 'N'],\n\t['𝕊', 'S'],\n\t['𝕋', 'T'],\n\t['𝕌', 'U'],\n\t['𝕍', 'V'],\n\t['𝕎', 'W'],\n\t['𝕏', 'X'],\n\t['𝕐', 'Y'],\n\t['𝕒', 'a'],\n\t['𝕓', 'b'],\n\t['𝕔', 'c'],\n\t['𝕕', 'd'],\n\t['𝕖', 'e'],\n\t['𝕗', 'f'],\n\t['𝕘', 'g'],\n\t['𝕙', 'h'],\n\t['𝕚', 'i'],\n\t['𝕛', 'j'],\n\t['𝕜', 'k'],\n\t['𝕝', 'l'],\n\t['𝕞', 'm'],\n\t['𝕟', 'n'],\n\t['𝕠', 'o'],\n\t['𝕡', 'p'],\n\t['𝕢', 'q'],\n\t['𝕣', 'r'],\n\t['𝕤', 's'],\n\t['𝕥', 't'],\n\t['𝕦', 'u'],\n\t['𝕧', 'v'],\n\t['𝕨', 'w'],\n\t['𝕩', 'x'],\n\t['𝕪', 'y'],\n\t['𝕫', 'z'],\n\t['𝕬', 'A'],\n\t['𝕭', 'B'],\n\t['𝕮', 'C'],\n\t['𝕯', 'D'],\n\t['𝕰', 'E'],\n\t['𝕱', 'F'],\n\t['𝕲', 'G'],\n\t['𝕳', 'H'],\n\t['𝕴', 'I'],\n\t['𝕵', 'J'],\n\t['𝕶', 'K'],\n\t['𝕷', 'L'],\n\t['𝕸', 'M'],\n\t['𝕹', 'N'],\n\t['𝕺', 'O'],\n\t['𝕻', 'P'],\n\t['𝕼', 'Q'],\n\t['𝕽', 'R'],\n\t['𝕾', 'S'],\n\t['𝕿', 'T'],\n\t['𝖀', 'U'],\n\t['𝖁', 'V'],\n\t['𝖂', 'W'],\n\t['𝖃', 'X'],\n\t['𝖄', 'Y'],\n\t['𝖅', 'Z'],\n\t['𝖆', 'a'],\n\t['𝖇', 'b'],\n\t['𝖈', 'c'],\n\t['𝖉', 'd'],\n\t['𝖊', 'e'],\n\t['𝖋', 'f'],\n\t['𝖌', 'g'],\n\t['𝖍', 'h'],\n\t['𝖎', 'i'],\n\t['𝖏', 'j'],\n\t['𝖐', 'k'],\n\t['𝖑', 'l'],\n\t['𝖒', 'm'],\n\t['𝖓', 'n'],\n\t['𝖔', 'o'],\n\t['𝖕', 'p'],\n\t['𝖖', 'q'],\n\t['𝖗', 'r'],\n\t['𝖘', 's'],\n\t['𝖙', 't'],\n\t['𝖚', 'u'],\n\t['𝖛', 'v'],\n\t['𝖜', 'w'],\n\t['𝖝', 'x'],\n\t['𝖞', 'y'],\n\t['𝖟', 'z'],\n\t['𝖠', 'A'],\n\t['𝖡', 'B'],\n\t['𝖢', 'C'],\n\t['𝖣', 'D'],\n\t['𝖤', 'E'],\n\t['𝖥', 'F'],\n\t['𝖦', 'G'],\n\t['𝖧', 'H'],\n\t['𝖨', 'I'],\n\t['𝖩', 'J'],\n\t['𝖪', 'K'],\n\t['𝖫', 'L'],\n\t['𝖬', 'M'],\n\t['𝖭', 'N'],\n\t['𝖮', 'O'],\n\t['𝖯', 'P'],\n\t['𝖰', 'Q'],\n\t['𝖱', 'R'],\n\t['𝖲', 'S'],\n\t['𝖳', 'T'],\n\t['𝖴', 'U'],\n\t['𝖵', 'V'],\n\t['𝖶', 'W'],\n\t['𝖷', 'X'],\n\t['𝖸', 'Y'],\n\t['𝖹', 'Z'],\n\t['𝖺', 'a'],\n\t['𝖻', 'b'],\n\t['𝖼', 'c'],\n\t['𝖽', 'd'],\n\t['𝖾', 'e'],\n\t['𝖿', 'f'],\n\t['𝗀', 'g'],\n\t['𝗁', 'h'],\n\t['𝗂', 'i'],\n\t['𝗃', 'j'],\n\t['𝗄', 'k'],\n\t['𝗅', 'l'],\n\t['𝗆', 'm'],\n\t['𝗇', 'n'],\n\t['𝗈', 'o'],\n\t['𝗉', 'p'],\n\t['𝗊', 'q'],\n\t['𝗋', 'r'],\n\t['𝗌', 's'],\n\t['𝗍', 't'],\n\t['𝗎', 'u'],\n\t['𝗏', 'v'],\n\t['𝗐', 'w'],\n\t['𝗑', 'x'],\n\t['𝗒', 'y'],\n\t['𝗓', 'z'],\n\t['𝗔', 'A'],\n\t['𝗕', 'B'],\n\t['𝗖', 'C'],\n\t['𝗗', 'D'],\n\t['𝗘', 'E'],\n\t['𝗙', 'F'],\n\t['𝗚', 'G'],\n\t['𝗛', 'H'],\n\t['𝗜', 'I'],\n\t['𝗝', 'J'],\n\t['𝗞', 'K'],\n\t['𝗟', 'L'],\n\t['𝗠', 'M'],\n\t['𝗡', 'N'],\n\t['𝗢', 'O'],\n\t['𝗣', 'P'],\n\t['𝗤', 'Q'],\n\t['𝗥', 'R'],\n\t['𝗦', 'S'],\n\t['𝗧', 'T'],\n\t['𝗨', 'U'],\n\t['𝗩', 'V'],\n\t['𝗪', 'W'],\n\t['𝗫', 'X'],\n\t['𝗬', 'Y'],\n\t['𝗭', 'Z'],\n\t['𝗮', 'a'],\n\t['𝗯', 'b'],\n\t['𝗰', 'c'],\n\t['𝗱', 'd'],\n\t['𝗲', 'e'],\n\t['𝗳', 'f'],\n\t['𝗴', 'g'],\n\t['𝗵', 'h'],\n\t['𝗶', 'i'],\n\t['𝗷', 'j'],\n\t['𝗸', 'k'],\n\t['𝗹', 'l'],\n\t['𝗺', 'm'],\n\t['𝗻', 'n'],\n\t['𝗼', 'o'],\n\t['𝗽', 'p'],\n\t['𝗾', 'q'],\n\t['𝗿', 'r'],\n\t['𝘀', 's'],\n\t['𝘁', 't'],\n\t['𝘂', 'u'],\n\t['𝘃', 'v'],\n\t['𝘄', 'w'],\n\t['𝘅', 'x'],\n\t['𝘆', 'y'],\n\t['𝘇', 'z'],\n\t['𝘈', 'A'],\n\t['𝘉', 'B'],\n\t['𝘊', 'C'],\n\t['𝘋', 'D'],\n\t['𝘌', 'E'],\n\t['𝘍', 'F'],\n\t['𝘎', 'G'],\n\t['𝘏', 'H'],\n\t['𝘐', 'I'],\n\t['𝘑', 'J'],\n\t['𝘒', 'K'],\n\t['𝘓', 'L'],\n\t['𝘔', 'M'],\n\t['𝘕', 'N'],\n\t['𝘖', 'O'],\n\t['𝘗', 'P'],\n\t['𝘘', 'Q'],\n\t['𝘙', 'R'],\n\t['𝘚', 'S'],\n\t['𝘛', 'T'],\n\t['𝘜', 'U'],\n\t['𝘝', 'V'],\n\t['𝘞', 'W'],\n\t['𝘟', 'X'],\n\t['𝘠', 'Y'],\n\t['𝘡', 'Z'],\n\t['𝘢', 'a'],\n\t['𝘣', 'b'],\n\t['𝘤', 'c'],\n\t['𝘥', 'd'],\n\t['𝘦', 'e'],\n\t['𝘧', 'f'],\n\t['𝘨', 'g'],\n\t['𝘩', 'h'],\n\t['𝘪', 'i'],\n\t['𝘫', 'j'],\n\t['𝘬', 'k'],\n\t['𝘭', 'l'],\n\t['𝘮', 'm'],\n\t['𝘯', 'n'],\n\t['𝘰', 'o'],\n\t['𝘱', 'p'],\n\t['𝘲', 'q'],\n\t['𝘳', 'r'],\n\t['𝘴', 's'],\n\t['𝘵', 't'],\n\t['𝘶', 'u'],\n\t['𝘷', 'v'],\n\t['𝘸', 'w'],\n\t['𝘹', 'x'],\n\t['𝘺', 'y'],\n\t['𝘻', 'z'],\n\t['𝘼', 'A'],\n\t['𝘽', 'B'],\n\t['𝘾', 'C'],\n\t['𝘿', 'D'],\n\t['𝙀', 'E'],\n\t['𝙁', 'F'],\n\t['𝙂', 'G'],\n\t['𝙃', 'H'],\n\t['𝙄', 'I'],\n\t['𝙅', 'J'],\n\t['𝙆', 'K'],\n\t['𝙇', 'L'],\n\t['𝙈', 'M'],\n\t['𝙉', 'N'],\n\t['𝙊', 'O'],\n\t['𝙋', 'P'],\n\t['𝙌', 'Q'],\n\t['𝙍', 'R'],\n\t['𝙎', 'S'],\n\t['𝙏', 'T'],\n\t['𝙐', 'U'],\n\t['𝙑', 'V'],\n\t['𝙒', 'W'],\n\t['𝙓', 'X'],\n\t['𝙔', 'Y'],\n\t['𝙕', 'Z'],\n\t['𝙖', 'a'],\n\t['𝙗', 'b'],\n\t['𝙘', 'c'],\n\t['𝙙', 'd'],\n\t['𝙚', 'e'],\n\t['𝙛', 'f'],\n\t['𝙜', 'g'],\n\t['𝙝', 'h'],\n\t['𝙞', 'i'],\n\t['𝙟', 'j'],\n\t['𝙠', 'k'],\n\t['𝙡', 'l'],\n\t['𝙢', 'm'],\n\t['𝙣', 'n'],\n\t['𝙤', 'o'],\n\t['𝙥', 'p'],\n\t['𝙦', 'q'],\n\t['𝙧', 'r'],\n\t['𝙨', 's'],\n\t['𝙩', 't'],\n\t['𝙪', 'u'],\n\t['𝙫', 'v'],\n\t['𝙬', 'w'],\n\t['𝙭', 'x'],\n\t['𝙮', 'y'],\n\t['𝙯', 'z'],\n\t['𝙰', 'A'],\n\t['𝙱', 'B'],\n\t['𝙲', 'C'],\n\t['𝙳', 'D'],\n\t['𝙴', 'E'],\n\t['𝙵', 'F'],\n\t['𝙶', 'G'],\n\t['𝙷', 'H'],\n\t['𝙸', 'I'],\n\t['𝙹', 'J'],\n\t['𝙺', 'K'],\n\t['𝙻', 'L'],\n\t['𝙼', 'M'],\n\t['𝙽', 'N'],\n\t['𝙾', 'O'],\n\t['𝙿', 'P'],\n\t['𝚀', 'Q'],\n\t['𝚁', 'R'],\n\t['𝚂', 'S'],\n\t['𝚃', 'T'],\n\t['𝚄', 'U'],\n\t['𝚅', 'V'],\n\t['𝚆', 'W'],\n\t['𝚇', 'X'],\n\t['𝚈', 'Y'],\n\t['𝚉', 'Z'],\n\t['𝚊', 'a'],\n\t['𝚋', 'b'],\n\t['𝚌', 'c'],\n\t['𝚍', 'd'],\n\t['𝚎', 'e'],\n\t['𝚏', 'f'],\n\t['𝚐', 'g'],\n\t['𝚑', 'h'],\n\t['𝚒', 'i'],\n\t['𝚓', 'j'],\n\t['𝚔', 'k'],\n\t['𝚕', 'l'],\n\t['𝚖', 'm'],\n\t['𝚗', 'n'],\n\t['𝚘', 'o'],\n\t['𝚙', 'p'],\n\t['𝚚', 'q'],\n\t['𝚛', 'r'],\n\t['𝚜', 's'],\n\t['𝚝', 't'],\n\t['𝚞', 'u'],\n\t['𝚟', 'v'],\n\t['𝚠', 'w'],\n\t['𝚡', 'x'],\n\t['𝚢', 'y'],\n\t['𝚣', 'z'],\n\n\t// Dotless letters\n\t['𝚤', 'l'],\n\t['𝚥', 'j'],\n\n\t// Greek\n\t['𝛢', 'A'],\n\t['𝛣', 'B'],\n\t['𝛤', 'G'],\n\t['𝛥', 'D'],\n\t['𝛦', 'E'],\n\t['𝛧', 'Z'],\n\t['𝛨', 'I'],\n\t['𝛩', 'TH'],\n\t['𝛪', 'I'],\n\t['𝛫', 'K'],\n\t['𝛬', 'L'],\n\t['𝛭', 'M'],\n\t['𝛮', 'N'],\n\t['𝛯', 'KS'],\n\t['𝛰', 'O'],\n\t['𝛱', 'P'],\n\t['𝛲', 'R'],\n\t['𝛳', 'TH'],\n\t['𝛴', 'S'],\n\t['𝛵', 'T'],\n\t['𝛶', 'Y'],\n\t['𝛷', 'F'],\n\t['𝛸', 'x'],\n\t['𝛹', 'PS'],\n\t['𝛺', 'O'],\n\t['𝛻', 'D'],\n\t['𝛼', 'a'],\n\t['𝛽', 'b'],\n\t['𝛾', 'g'],\n\t['𝛿', 'd'],\n\t['𝜀', 'e'],\n\t['𝜁', 'z'],\n\t['𝜂', 'i'],\n\t['𝜃', 'th'],\n\t['𝜄', 'i'],\n\t['𝜅', 'k'],\n\t['𝜆', 'l'],\n\t['𝜇', 'm'],\n\t['𝜈', 'n'],\n\t['𝜉', 'ks'],\n\t['𝜊', 'o'],\n\t['𝜋', 'p'],\n\t['𝜌', 'r'],\n\t['𝜍', 's'],\n\t['𝜎', 's'],\n\t['𝜏', 't'],\n\t['𝜐', 'y'],\n\t['𝜑', 'f'],\n\t['𝜒', 'x'],\n\t['𝜓', 'ps'],\n\t['𝜔', 'o'],\n\t['𝜕', 'd'],\n\t['𝜖', 'E'],\n\t['𝜗', 'TH'],\n\t['𝜘', 'K'],\n\t['𝜙', 'f'],\n\t['𝜚', 'r'],\n\t['𝜛', 'p'],\n\t['𝜜', 'A'],\n\t['𝜝', 'V'],\n\t['𝜞', 'G'],\n\t['𝜟', 'D'],\n\t['𝜠', 'E'],\n\t['𝜡', 'Z'],\n\t['𝜢', 'I'],\n\t['𝜣', 'TH'],\n\t['𝜤', 'I'],\n\t['𝜥', 'K'],\n\t['𝜦', 'L'],\n\t['𝜧', 'M'],\n\t['𝜨', 'N'],\n\t['𝜩', 'KS'],\n\t['𝜪', 'O'],\n\t['𝜫', 'P'],\n\t['𝜬', 'S'],\n\t['𝜭', 'TH'],\n\t['𝜮', 'S'],\n\t['𝜯', 'T'],\n\t['𝜰', 'Y'],\n\t['𝜱', 'F'],\n\t['𝜲', 'X'],\n\t['𝜳', 'PS'],\n\t['𝜴', 'O'],\n\t['𝜵', 'D'],\n\t['𝜶', 'a'],\n\t['𝜷', 'v'],\n\t['𝜸', 'g'],\n\t['𝜹', 'd'],\n\t['𝜺', 'e'],\n\t['𝜻', 'z'],\n\t['𝜼', 'i'],\n\t['𝜽', 'th'],\n\t['𝜾', 'i'],\n\t['𝜿', 'k'],\n\t['𝝀', 'l'],\n\t['𝝁', 'm'],\n\t['𝝂', 'n'],\n\t['𝝃', 'ks'],\n\t['𝝄', 'o'],\n\t['𝝅', 'p'],\n\t['𝝆', 'r'],\n\t['𝝇', 's'],\n\t['𝝈', 's'],\n\t['𝝉', 't'],\n\t['𝝊', 'y'],\n\t['𝝋', 'f'],\n\t['𝝌', 'x'],\n\t['𝝍', 'ps'],\n\t['𝝎', 'o'],\n\t['𝝏', 'a'],\n\t['𝝐', 'e'],\n\t['𝝑', 'i'],\n\t['𝝒', 'k'],\n\t['𝝓', 'f'],\n\t['𝝔', 'r'],\n\t['𝝕', 'p'],\n\t['𝝖', 'A'],\n\t['𝝗', 'B'],\n\t['𝝘', 'G'],\n\t['𝝙', 'D'],\n\t['𝝚', 'E'],\n\t['𝝛', 'Z'],\n\t['𝝜', 'I'],\n\t['𝝝', 'TH'],\n\t['𝝞', 'I'],\n\t['𝝟', 'K'],\n\t['𝝠', 'L'],\n\t['𝝡', 'M'],\n\t['𝝢', 'N'],\n\t['𝝣', 'KS'],\n\t['𝝤', 'O'],\n\t['𝝥', 'P'],\n\t['𝝦', 'R'],\n\t['𝝧', 'TH'],\n\t['𝝨', 'S'],\n\t['𝝩', 'T'],\n\t['𝝪', 'Y'],\n\t['𝝫', 'F'],\n\t['𝝬', 'X'],\n\t['𝝭', 'PS'],\n\t['𝝮', 'O'],\n\t['𝝯', 'D'],\n\t['𝝰', 'a'],\n\t['𝝱', 'v'],\n\t['𝝲', 'g'],\n\t['𝝳', 'd'],\n\t['𝝴', 'e'],\n\t['𝝵', 'z'],\n\t['𝝶', 'i'],\n\t['𝝷', 'th'],\n\t['𝝸', 'i'],\n\t['𝝹', 'k'],\n\t['𝝺', 'l'],\n\t['𝝻', 'm'],\n\t['𝝼', 'n'],\n\t['𝝽', 'ks'],\n\t['𝝾', 'o'],\n\t['𝝿', 'p'],\n\t['𝞀', 'r'],\n\t['𝞁', 's'],\n\t['𝞂', 's'],\n\t['𝞃', 't'],\n\t['𝞄', 'y'],\n\t['𝞅', 'f'],\n\t['𝞆', 'x'],\n\t['𝞇', 'ps'],\n\t['𝞈', 'o'],\n\t['𝞉', 'a'],\n\t['𝞊', 'e'],\n\t['𝞋', 'i'],\n\t['𝞌', 'k'],\n\t['𝞍', 'f'],\n\t['𝞎', 'r'],\n\t['𝞏', 'p'],\n\t['𝞐', 'A'],\n\t['𝞑', 'V'],\n\t['𝞒', 'G'],\n\t['𝞓', 'D'],\n\t['𝞔', 'E'],\n\t['𝞕', 'Z'],\n\t['𝞖', 'I'],\n\t['𝞗', 'TH'],\n\t['𝞘', 'I'],\n\t['𝞙', 'K'],\n\t['𝞚', 'L'],\n\t['𝞛', 'M'],\n\t['𝞜', 'N'],\n\t['𝞝', 'KS'],\n\t['𝞞', 'O'],\n\t['𝞟', 'P'],\n\t['𝞠', 'S'],\n\t['𝞡', 'TH'],\n\t['𝞢', 'S'],\n\t['𝞣', 'T'],\n\t['𝞤', 'Y'],\n\t['𝞥', 'F'],\n\t['𝞦', 'X'],\n\t['𝞧', 'PS'],\n\t['𝞨', 'O'],\n\t['𝞩', 'D'],\n\t['𝞪', 'av'],\n\t['𝞫', 'g'],\n\t['𝞬', 'd'],\n\t['𝞭', 'e'],\n\t['𝞮', 'z'],\n\t['𝞯', 'i'],\n\t['𝞰', 'i'],\n\t['𝞱', 'th'],\n\t['𝞲', 'i'],\n\t['𝞳', 'k'],\n\t['𝞴', 'l'],\n\t['𝞵', 'm'],\n\t['𝞶', 'n'],\n\t['𝞷', 'ks'],\n\t['𝞸', 'o'],\n\t['𝞹', 'p'],\n\t['𝞺', 'r'],\n\t['𝞻', 's'],\n\t['𝞼', 's'],\n\t['𝞽', 't'],\n\t['𝞾', 'y'],\n\t['𝞿', 'f'],\n\t['𝟀', 'x'],\n\t['𝟁', 'ps'],\n\t['𝟂', 'o'],\n\t['𝟃', 'a'],\n\t['𝟄', 'e'],\n\t['𝟅', 'i'],\n\t['𝟆', 'k'],\n\t['𝟇', 'f'],\n\t['𝟈', 'r'],\n\t['𝟉', 'p'],\n\t['𝟊', 'F'],\n\t['𝟋', 'f'],\n\t['⒜', '(a)'],\n\t['⒝', '(b)'],\n\t['⒞', '(c)'],\n\t['⒟', '(d)'],\n\t['⒠', '(e)'],\n\t['⒡', '(f)'],\n\t['⒢', '(g)'],\n\t['⒣', '(h)'],\n\t['⒤', '(i)'],\n\t['⒥', '(j)'],\n\t['⒦', '(k)'],\n\t['⒧', '(l)'],\n\t['⒨', '(m)'],\n\t['⒩', '(n)'],\n\t['⒪', '(o)'],\n\t['⒫', '(p)'],\n\t['⒬', '(q)'],\n\t['⒭', '(r)'],\n\t['⒮', '(s)'],\n\t['⒯', '(t)'],\n\t['⒰', '(u)'],\n\t['⒱', '(v)'],\n\t['⒲', '(w)'],\n\t['⒳', '(x)'],\n\t['⒴', '(y)'],\n\t['⒵', '(z)'],\n\t['Ⓐ', '(A)'],\n\t['Ⓑ', '(B)'],\n\t['Ⓒ', '(C)'],\n\t['Ⓓ', '(D)'],\n\t['Ⓔ', '(E)'],\n\t['Ⓕ', '(F)'],\n\t['Ⓖ', '(G)'],\n\t['Ⓗ', '(H)'],\n\t['Ⓘ', '(I)'],\n\t['Ⓙ', '(J)'],\n\t['Ⓚ', '(K)'],\n\t['Ⓛ', '(L)'],\n\t['Ⓝ', '(N)'],\n\t['Ⓞ', '(O)'],\n\t['Ⓟ', '(P)'],\n\t['Ⓠ', '(Q)'],\n\t['Ⓡ', '(R)'],\n\t['Ⓢ', '(S)'],\n\t['Ⓣ', '(T)'],\n\t['Ⓤ', '(U)'],\n\t['Ⓥ', '(V)'],\n\t['Ⓦ', '(W)'],\n\t['Ⓧ', '(X)'],\n\t['Ⓨ', '(Y)'],\n\t['Ⓩ', '(Z)'],\n\t['ⓐ', '(a)'],\n\t['ⓑ', '(b)'],\n\t['ⓒ', '(b)'],\n\t['ⓓ', '(c)'],\n\t['ⓔ', '(e)'],\n\t['ⓕ', '(f)'],\n\t['ⓖ', '(g)'],\n\t['ⓗ', '(h)'],\n\t['ⓘ', '(i)'],\n\t['ⓙ', '(j)'],\n\t['ⓚ', '(k)'],\n\t['ⓛ', '(l)'],\n\t['ⓜ', '(m)'],\n\t['ⓝ', '(n)'],\n\t['ⓞ', '(o)'],\n\t['ⓟ', '(p)'],\n\t['ⓠ', '(q)'],\n\t['ⓡ', '(r)'],\n\t['ⓢ', '(s)'],\n\t['ⓣ', '(t)'],\n\t['ⓤ', '(u)'],\n\t['ⓥ', '(v)'],\n\t['ⓦ', '(w)'],\n\t['ⓧ', '(x)'],\n\t['ⓨ', '(y)'],\n\t['ⓩ', '(z)'],\n\n\t// Maltese\n\t['Ċ', 'C'],\n\t['ċ', 'c'],\n\t['Ġ', 'G'],\n\t['ġ', 'g'],\n\t['Ħ', 'H'],\n\t['ħ', 'h'],\n\t['Ż', 'Z'],\n\t['ż', 'z'],\n\n\t// Numbers\n\t['𝟎', '0'],\n\t['𝟏', '1'],\n\t['𝟐', '2'],\n\t['𝟑', '3'],\n\t['𝟒', '4'],\n\t['𝟓', '5'],\n\t['𝟔', '6'],\n\t['𝟕', '7'],\n\t['𝟖', '8'],\n\t['𝟗', '9'],\n\t['𝟘', '0'],\n\t['𝟙', '1'],\n\t['𝟚', '2'],\n\t['𝟛', '3'],\n\t['𝟜', '4'],\n\t['𝟝', '5'],\n\t['𝟞', '6'],\n\t['𝟟', '7'],\n\t['𝟠', '8'],\n\t['𝟡', '9'],\n\t['𝟢', '0'],\n\t['𝟣', '1'],\n\t['𝟤', '2'],\n\t['𝟥', '3'],\n\t['𝟦', '4'],\n\t['𝟧', '5'],\n\t['𝟨', '6'],\n\t['𝟩', '7'],\n\t['𝟪', '8'],\n\t['𝟫', '9'],\n\t['𝟬', '0'],\n\t['𝟭', '1'],\n\t['𝟮', '2'],\n\t['𝟯', '3'],\n\t['𝟰', '4'],\n\t['𝟱', '5'],\n\t['𝟲', '6'],\n\t['𝟳', '7'],\n\t['𝟴', '8'],\n\t['𝟵', '9'],\n\t['𝟶', '0'],\n\t['𝟷', '1'],\n\t['𝟸', '2'],\n\t['𝟹', '3'],\n\t['𝟺', '4'],\n\t['𝟻', '5'],\n\t['𝟼', '6'],\n\t['𝟽', '7'],\n\t['𝟾', '8'],\n\t['𝟿', '9'],\n\t['①', '1'],\n\t['②', '2'],\n\t['③', '3'],\n\t['④', '4'],\n\t['⑤', '5'],\n\t['⑥', '6'],\n\t['⑦', '7'],\n\t['⑧', '8'],\n\t['⑨', '9'],\n\t['⑩', '10'],\n\t['⑪', '11'],\n\t['⑫', '12'],\n\t['⑬', '13'],\n\t['⑭', '14'],\n\t['⑮', '15'],\n\t['⑯', '16'],\n\t['⑰', '17'],\n\t['⑱', '18'],\n\t['⑲', '19'],\n\t['⑳', '20'],\n\t['⑴', '1'],\n\t['⑵', '2'],\n\t['⑶', '3'],\n\t['⑷', '4'],\n\t['⑸', '5'],\n\t['⑹', '6'],\n\t['⑺', '7'],\n\t['⑻', '8'],\n\t['⑼', '9'],\n\t['⑽', '10'],\n\t['⑾', '11'],\n\t['⑿', '12'],\n\t['⒀', '13'],\n\t['⒁', '14'],\n\t['⒂', '15'],\n\t['⒃', '16'],\n\t['⒄', '17'],\n\t['⒅', '18'],\n\t['⒆', '19'],\n\t['⒇', '20'],\n\t['⒈', '1.'],\n\t['⒉', '2.'],\n\t['⒊', '3.'],\n\t['⒋', '4.'],\n\t['⒌', '5.'],\n\t['⒍', '6.'],\n\t['⒎', '7.'],\n\t['⒏', '8.'],\n\t['⒐', '9.'],\n\t['⒑', '10.'],\n\t['⒒', '11.'],\n\t['⒓', '12.'],\n\t['⒔', '13.'],\n\t['⒕', '14.'],\n\t['⒖', '15.'],\n\t['⒗', '16.'],\n\t['⒘', '17.'],\n\t['⒙', '18.'],\n\t['⒚', '19.'],\n\t['⒛', '20.'],\n\t['⓪', '0'],\n\t['⓫', '11'],\n\t['⓬', '12'],\n\t['⓭', '13'],\n\t['⓮', '14'],\n\t['⓯', '15'],\n\t['⓰', '16'],\n\t['⓱', '17'],\n\t['⓲', '18'],\n\t['⓳', '19'],\n\t['⓴', '20'],\n\t['⓵', '1'],\n\t['⓶', '2'],\n\t['⓷', '3'],\n\t['⓸', '4'],\n\t['⓹', '5'],\n\t['⓺', '6'],\n\t['⓻', '7'],\n\t['⓼', '8'],\n\t['⓽', '9'],\n\t['⓾', '10'],\n\t['⓿', '0'],\n\n\t// Punctuation\n\t['🙰', '&'],\n\t['🙱', '&'],\n\t['🙲', '&'],\n\t['🙳', '&'],\n\t['🙴', '&'],\n\t['🙵', '&'],\n\t['🙶', '\"'],\n\t['🙷', '\"'],\n\t['🙸', '\"'],\n\t['‽', '?!'],\n\t['🙹', '?!'],\n\t['🙺', '?!'],\n\t['🙻', '?!'],\n\t['🙼', '/'],\n\t['🙽', '\\\\'],\n\n\t// Alchemy\n\t['🜇', 'AR'],\n\t['🜈', 'V'],\n\t['🜉', 'V'],\n\t['🜆', 'VR'],\n\t['🜅', 'VF'],\n\t['🜩', '2'],\n\t['🜪', '5'],\n\t['🝡', 'f'],\n\t['🝢', 'W'],\n\t['🝣', 'U'],\n\t['🝧', 'V'],\n\t['🝨', 'T'],\n\t['🝪', 'V'],\n\t['🝫', 'MB'],\n\t['🝬', 'VB'],\n\t['🝲', '3B'],\n\t['🝳', '3B'],\n\n\t// Emojis\n\t['💯', '100'],\n\t['🔙', 'BACK'],\n\t['🔚', 'END'],\n\t['🔛', 'ON!'],\n\t['🔜', 'SOON'],\n\t['🔝', 'TOP'],\n\t['🔞', '18'],\n\t['🔤', 'abc'],\n\t['🔠', 'ABCD'],\n\t['🔡', 'abcd'],\n\t['🔢', '1234'],\n\t['🔣', 'T&@%'],\n\t['#️⃣', '#'],\n\t['*️⃣', '*'],\n\t['0️⃣', '0'],\n\t['1️⃣', '1'],\n\t['2️⃣', '2'],\n\t['3️⃣', '3'],\n\t['4️⃣', '4'],\n\t['5️⃣', '5'],\n\t['6️⃣', '6'],\n\t['7️⃣', '7'],\n\t['8️⃣', '8'],\n\t['9️⃣', '9'],\n\t['🔟', '10'],\n\t['🅰️', 'A'],\n\t['🅱️', 'B'],\n\t['🆎', 'AB'],\n\t['🆑', 'CL'],\n\t['🅾️', 'O'],\n\t['🅿', 'P'],\n\t['🆘', 'SOS'],\n\t['🅲', 'C'],\n\t['🅳', 'D'],\n\t['🅴', 'E'],\n\t['🅵', 'F'],\n\t['🅶', 'G'],\n\t['🅷', 'H'],\n\t['🅸', 'I'],\n\t['🅹', 'J'],\n\t['🅺', 'K'],\n\t['🅻', 'L'],\n\t['🅼', 'M'],\n\t['🅽', 'N'],\n\t['🆀', 'Q'],\n\t['🆁', 'R'],\n\t['🆂', 'S'],\n\t['🆃', 'T'],\n\t['🆄', 'U'],\n\t['🆅', 'V'],\n\t['🆆', 'W'],\n\t['🆇', 'X'],\n\t['🆈', 'Y'],\n\t['🆉', 'Z']\n];\n\nexport default replacements;\n","import escapeStringRegexp from 'escape-string-regexp';\nimport builtinReplacements from './replacements.js';\n\nconst doCustomReplacements = (string, replacements) => {\n\tfor (const [key, value] of replacements) {\n\t\t// TODO: Use `String#replaceAll()` when targeting Node.js 16.\n\t\tstring = string.replace(new RegExp(escapeStringRegexp(key), 'g'), value);\n\t}\n\n\treturn string;\n};\n\nexport default function transliterate(string, options) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got \\`${typeof string}\\``);\n\t}\n\n\toptions = {\n\t\tcustomReplacements: [],\n\t\t...options\n\t};\n\n\tconst customReplacements = new Map([\n\t\t...builtinReplacements,\n\t\t...options.customReplacements\n\t]);\n\n\tstring = string.normalize();\n\tstring = doCustomReplacements(string, customReplacements);\n\tstring = string.normalize('NFD').replace(/\\p{Diacritic}/gu, '').normalize();\n\n\treturn string;\n}\n","const overridableReplacements = [\n\t['&', ' and '],\n\t['🦄', ' unicorn '],\n\t['♥', ' love ']\n];\n\nexport default overridableReplacements;\n","import escapeStringRegexp from 'escape-string-regexp';\nimport transliterate from '@sindresorhus/transliterate';\nimport builtinOverridableReplacements from './overridable-replacements.js';\n\nconst decamelize = string => {\n\treturn string\n\t\t// Separate capitalized words.\n\t\t.replace(/([A-Z]{2,})(\\d+)/g, '$1 $2')\n\t\t.replace(/([a-z\\d]+)([A-Z]{2,})/g, '$1 $2')\n\n\t\t.replace(/([a-z\\d])([A-Z])/g, '$1 $2')\n\t\t// `[a-rt-z]` matches all lowercase characters except `s`.\n\t\t// This avoids matching plural acronyms like `APIs`.\n\t\t.replace(/([A-Z]+)([A-Z][a-rt-z\\d]+)/g, '$1 $2');\n};\n\nconst removeMootSeparators = (string, separator) => {\n\tconst escapedSeparator = escapeStringRegexp(separator);\n\n\treturn string\n\t\t.replace(new RegExp(`${escapedSeparator}{2,}`, 'g'), separator)\n\t\t.replace(new RegExp(`^${escapedSeparator}|${escapedSeparator}$`, 'g'), '');\n};\n\nexport default function slugify(string, options) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got \\`${typeof string}\\``);\n\t}\n\n\toptions = {\n\t\tseparator: '-',\n\t\tlowercase: true,\n\t\tdecamelize: true,\n\t\tcustomReplacements: [],\n\t\tpreserveLeadingUnderscore: false,\n\t\tpreserveTrailingDash: false,\n\t\t...options\n\t};\n\n\tconst shouldPrependUnderscore = options.preserveLeadingUnderscore && string.startsWith('_');\n\tconst shouldAppendDash = options.preserveTrailingDash && string.endsWith('-');\n\n\tconst customReplacements = new Map([\n\t\t...builtinOverridableReplacements,\n\t\t...options.customReplacements\n\t]);\n\n\tstring = transliterate(string, {customReplacements});\n\n\tif (options.decamelize) {\n\t\tstring = decamelize(string);\n\t}\n\n\tlet patternSlug = /[^a-zA-Z\\d]+/g;\n\n\tif (options.lowercase) {\n\t\tstring = string.toLowerCase();\n\t\tpatternSlug = /[^a-z\\d]+/g;\n\t}\n\n\tstring = string.replace(patternSlug, options.separator);\n\tstring = string.replace(/\\\\/g, '');\n\tif (options.separator) {\n\t\tstring = removeMootSeparators(string, options.separator);\n\t}\n\n\tif (shouldPrependUnderscore) {\n\t\tstring = `_${string}`;\n\t}\n\n\tif (shouldAppendDash) {\n\t\tstring = `${string}-`;\n\t}\n\n\treturn string;\n}\n\nexport function slugifyWithCounter() {\n\tconst occurrences = new Map();\n\n\tconst countable = (string, options) => {\n\t\tstring = slugify(string, options);\n\n\t\tif (!string) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst stringLower = string.toLowerCase();\n\t\tconst numberless = occurrences.get(stringLower.replace(/(?:-\\d+?)+?$/, '')) || 0;\n\t\tconst counter = occurrences.get(stringLower);\n\t\toccurrences.set(stringLower, typeof counter === 'number' ? counter + 1 : 1);\n\t\tconst newCounter = occurrences.get(stringLower) || 2;\n\t\tif (newCounter >= 2 || numberless > 2) {\n\t\t\tstring = `${string}-${newCounter}`;\n\t\t}\n\n\t\treturn string;\n\t};\n\n\tcountable.reset = () => {\n\t\toccurrences.clear();\n\t};\n\n\treturn countable;\n}\n","import slugify from '@sindresorhus/slugify';\r\n\r\n/**\r\n * Transform to lowercase, extract accents to separate unicode chars,\r\n * replace all accent unicode chars so only standard latin chars remain\r\n * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463\r\n *\r\n * @param str Input string\r\n * @returns\r\n */\r\nexport const hardNormalize = (str: string): string =>\r\n str\r\n .toLowerCase()\r\n .normalize('NFD')\r\n .replace(/[\\u0300-\\u036f]/g, '');\r\n\r\n/**\r\n * Convert a poi name to a URL compatible slug, logic copied from TOPOS\r\n * @param fragment A poi name\r\n * @returns\r\n */\r\nexport const createSlug = (fragment: string): string =>\r\n slugify(\r\n fragment\r\n .replace(/ \\/ /g, '-')\r\n .replace(/ /g, '-')\r\n .replace(/\\//g, '')\r\n .replace(/\\./g, '')\r\n .replace(/\\,/g, '')\r\n .replace(/\\'/g, ''),\r\n );\r\n","import { state } from '../../data/store';\r\nimport { GeocodeLocation, GeocodeResponse, ServiceTypesResponse } from '../../models/geocode.model';\r\nimport { gisAPIUrl, pois, placesUrl } from './places.settings';\r\nimport { hardNormalize, createSlug } from './search-utilities';\r\n\r\n// Never load types twice\r\nlet typesCache: string | null = null;\r\n\r\n/**\r\n * Convert Post POI ids to stao cache ids\r\n * @returns\r\n */\r\nconst convertTypes = async () => {\r\n if (typesCache === null) {\r\n try {\r\n const typesResponse = await fetch(`${gisAPIUrl}/Types?lang=${state.currentLanguage}`);\r\n const typesJSON = (await typesResponse.json()) as ServiceTypesResponse;\r\n typesCache = encodeURIComponent(\r\n pois\r\n .map(poi => {\r\n const foundType = typesJSON.types.find(type => type.id === poi);\r\n return foundType?.tag;\r\n })\r\n .filter(poi => poi !== undefined)\r\n .join(','),\r\n );\r\n } catch (error) {\r\n console.error(\r\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\r\n );\r\n throw error;\r\n }\r\n }\r\n\r\n return typesCache;\r\n};\r\n\r\n/**\r\n * Query the Gis API for locations and localities (pois)\r\n *\r\n * @param query User input string\r\n * @returns\r\n */\r\nexport const queryPlaces = async (query: string): Promise<GeocodeLocation[]> => {\r\n if (query.length === 0) {\r\n return [];\r\n }\r\n\r\n const limit = 8;\r\n const excludeTypes = ['address', 'locality', 'region'];\r\n const types = await convertTypes();\r\n const geocoderUrl = `${gisAPIUrl}/Geocode?query=${encodeURIComponent(query)}&lang=${\r\n state.currentLanguage\r\n }&pois=${types}&limit=100`;\r\n\r\n try {\r\n const geocodeResponse = await fetch(geocoderUrl);\r\n const geocodeJSON = (await geocodeResponse.json()) as GeocodeResponse;\r\n if (!geocodeJSON.ok) {\r\n throw new Error(geocodeJSON.info);\r\n }\r\n return geocodeJSON.locations\r\n .filter(location => !excludeTypes.includes(location.type))\r\n .slice(0, limit);\r\n } catch (error) {\r\n console.error(\r\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\r\n );\r\n throw error;\r\n }\r\n};\r\n\r\n/**\r\n * Try to highlight place suggestions\r\n * Limitation: accented chars are not handled by this basic function\r\n *\r\n * @param query Search term\r\n * @param place Name of the suggested place\r\n * @returns\r\n */\r\nexport const highlightPlacesString = (query: string | undefined, place: string) => {\r\n if (query === undefined) return place;\r\n\r\n // Strip accents from the string\r\n const reference = hardNormalize(place);\r\n const q = hardNormalize(query);\r\n const indexOfQuery = reference.indexOf(q);\r\n\r\n if (indexOfQuery < 0) {\r\n return place;\r\n }\r\n\r\n return `${place.substring(0, indexOfQuery)}{${place.substring(\r\n indexOfQuery,\r\n indexOfQuery + query.length,\r\n )}}${place.substring(indexOfQuery + query.length, place.length)}`;\r\n};\r\n\r\n/**\r\n * Get the deeplink to any location found via geocoder\r\n *\r\n * @param location A location from the Gis API Geocode endpoint\r\n * @returns\r\n */\r\nexport const getPlacesUrl = (location: GeocodeLocation): string => {\r\n let url: string;\r\n\r\n if (location.id !== '') {\r\n url = `${placesUrl}/${state.currentLanguage}/${location.id}/${createSlug(location.name)}`;\r\n } else {\r\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { h } from '@stencil/core';\r\n\r\nexport const HighlightedText = (props: { text: string; highlightClass?: string }) => {\r\n const highlightClass = props.highlightClass ?? 'bold';\r\n const highlightedString = props.text\r\n .replace(/{/g, `<span class=${highlightClass}>`)\r\n .replace(/}/g, '</span>')\r\n .replace(/[\\[\\]]/g, '');\r\n return <span innerHTML={highlightedString}></span>;\r\n};\r\n","@use \"@swisspost/design-system-styles/variables/color\";\r\n@use \"@swisspost/design-system-styles/components/forms\";\r\n@use \"@swisspost/design-system-styles/components/floating-label\";\r\n@use \"@swisspost/design-system-styles/components/grid\";\r\n@use \"../../utils/utils.scss\";\r\n@use \"../../utils/mixins.scss\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.search,\r\n:host {\r\n height: 100%;\r\n}\r\n\r\n.search-button {\r\n @extend %nav-link;\r\n\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n padding-right: calc(1rem - 1px);\r\n padding-left: calc(1rem - 1px);\r\n\r\n @include mixins.min(lg) {\r\n padding: 0 calc(1.125rem - 1px);\r\n }\r\n\r\n @include mixins.min(xl) {\r\n padding: 0 calc(1.5rem - 1px);\r\n }\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n\r\n .visually-hidden {\r\n @include mixins.between(rg, lg) {\r\n @include mixins.reset-visually-hidden();\r\n\r\n font-weight: 300;\r\n margin-right: 0.5rem;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n\r\n.flyout {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n width: 100%;\r\n background: white;\r\n overflow: auto;\r\n overscroll-behavior: contain;\r\n padding-top: 3.25rem;\r\n padding-bottom: 3.25rem;\r\n z-index: -1;\r\n transform: translateY(-100%);\r\n transition: transform 0.35s, box-shadow 0.35s;\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n transition: none;\r\n }\r\n\r\n @include mixins.min(lg) {\r\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\r\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\r\n\r\n &.open {\r\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\r\n }\r\n }\r\n\r\n @include mixins.max(lg) {\r\n height: calc(100vh - var(--header-height) - 1px);\r\n }\r\n\r\n &.open {\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n.start-search-button {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n height: 100%;\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n}\r\n\r\n.suggestions {\r\n margin: 1.5rem 0;\r\n\r\n a {\r\n padding: 0.75rem 1rem;\r\n\r\n &:hover,\r\n &:focus,\r\n &.selected {\r\n background: color.$gray-background;\r\n }\r\n\r\n &.parcel-suggestion {\r\n flex-wrap: wrap;\r\n }\r\n }\r\n}\r\n\r\n.search-recommendation__icon {\r\n height: 1.5em;\r\n width: 1.5em;\r\n}\r\n","import { Component, Host, h, State, Event, EventEmitter, Method, Element } from '@stencil/core';\r\nimport { throttle } from 'throttle-debounce';\r\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\r\nimport { state } from '../../data/store';\r\nimport { CoveoCompletion } from '../../models/coveo.model';\r\nimport { GeocodeLocation } from '../../models/geocode.model';\r\nimport {\r\n DropdownElement,\r\n DropdownEvent,\r\n HasDropdown,\r\n IsFocusable,\r\n} from '../../models/header.model';\r\nimport { getSearchRedirectUrl, equalizeArrays } from '../../services/search/search.service';\r\nimport { getCoveoSuggestions } from '../../services/search/coveo.service';\r\nimport {\r\n getPlacesUrl,\r\n highlightPlacesString,\r\n queryPlaces,\r\n} from '../../services/search/places.service';\r\nimport { userPrefersReducedMotion, elementHasTransition } from '../../services/ui.service';\r\nimport { HighlightedText } from '../../utils/highlighted.component';\r\nimport { SvgSprite } from '../../utils/svg-sprite.component';\r\nimport { SvgIcon } from '../../utils/svg-icon.component';\r\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\r\nimport { getParcelSuggestion } from '../../services/search/parcel.service';\r\nimport { If } from '../../utils/if.component';\r\n\r\n@Component({\r\n tag: 'post-search',\r\n styleUrl: 'post-search.scss',\r\n shadow: true,\r\n})\r\nexport class PostSearch implements HasDropdown, IsFocusable {\r\n @State() searchDropdownOpen = false;\r\n @State() coveoSuggestions: CoveoCompletion[] = [];\r\n @State() placeSuggestions: GeocodeLocation[] = [];\r\n @State() parcelSuggestion: (TrackAndTraceInfo & { url: string }) | null = null;\r\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\r\n @Element() host: DropdownElement;\r\n private searchBox?: HTMLInputElement;\r\n private searchFlyout: HTMLElement | undefined;\r\n private throttledResize: throttle<() => void>;\r\n\r\n connectedCallback() {\r\n this.throttledResize = throttle(300, () => this.handleResize());\r\n window.addEventListener('resize', this.throttledResize, { passive: true });\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.throttledResize);\r\n clearAllBodyScrollLocks();\r\n }\r\n\r\n componentWillUpdate() {\r\n // Check if search flyout got set to close\r\n if (this.searchFlyout && !this.searchDropdownOpen) {\r\n this.searchFlyout.classList.remove('open');\r\n\r\n // Check if element has transition applied and whether user prefers to see animations or not\r\n if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {\r\n // Wait for CSS transition 'transform' to end before continuing\r\n return new Promise<boolean>(resolve => {\r\n if (this.searchFlyout === undefined) {\r\n return resolve(true);\r\n }\r\n\r\n this.searchFlyout.addEventListener('transitionend', event => {\r\n if (event.propertyName === 'transform') {\r\n resolve(true);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n // Search flyout got set to open\r\n if (this.searchFlyout && this.searchDropdownOpen) {\r\n // Force browser to redraw/refresh DOM before adding 'open' class\r\n this.searchFlyout.getBoundingClientRect();\r\n this.searchFlyout.classList.add('open');\r\n }\r\n\r\n // Focus on the searchBox whenever the dropdown is opened\r\n if (this.searchDropdownOpen && this.searchBox) {\r\n this.searchBox.focus({ preventScroll: true });\r\n }\r\n }\r\n\r\n public async toggleDropdown(event?: Event): Promise<boolean>;\r\n public async toggleDropdown(force?: boolean): Promise<boolean>;\r\n\r\n /**\r\n * Toggle the dropdown and optionally force an open/closed state\r\n * @param force Boolean to force open/closed state\r\n * @returns Boolean indicating open state of the component\r\n */\r\n @Method()\r\n async toggleDropdown(force?: unknown) {\r\n this.searchDropdownOpen =\r\n force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;\r\n this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });\r\n\r\n if (!this.searchDropdownOpen) {\r\n // Reset suggestions when dropdown closes\r\n this.coveoSuggestions = [];\r\n this.placeSuggestions = [];\r\n if (this.searchBox) this.searchBox.value = '';\r\n this.setFocus();\r\n } else {\r\n // Get basic suggestions when dropdown opens\r\n try {\r\n this.coveoSuggestions = await getCoveoSuggestions('');\r\n } catch {}\r\n }\r\n\r\n this.setBodyScroll();\r\n\r\n return this.searchDropdownOpen;\r\n }\r\n\r\n /**\r\n * Sets the focus on the search button\r\n */\r\n @Method()\r\n public async setFocus() {\r\n const shadowRoot = this.host.shadowRoot;\r\n if (shadowRoot === null) {\r\n return;\r\n }\r\n const toggleButton = shadowRoot.querySelector<HTMLElement>('.search-button');\r\n if (toggleButton) {\r\n toggleButton.focus();\r\n }\r\n }\r\n\r\n private handleResize() {\r\n // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls\r\n if (this.searchDropdownOpen) {\r\n this.setBodyScroll();\r\n }\r\n }\r\n\r\n /**\r\n * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)\r\n */\r\n private setBodyScroll() {\r\n if (this.searchDropdownOpen && window.innerWidth < 1024) {\r\n disableBodyScroll(this.searchFlyout);\r\n } else {\r\n enableBodyScroll(this.searchFlyout);\r\n }\r\n }\r\n\r\n /**\r\n * Fetch suggestions from all available sources\r\n */\r\n private async handleSearchInput() {\r\n if (this.searchBox === undefined || state.localizedConfig?.header.search === undefined) {\r\n return;\r\n }\r\n const query = this.searchBox.value.trim();\r\n\r\n const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([\r\n queryPlaces(query),\r\n getCoveoSuggestions(query),\r\n getParcelSuggestion(query, state.localizedConfig.header.search),\r\n ]);\r\n\r\n // Parcel suggestion is more important than any other\r\n if (trackAndTraceInfo) {\r\n this.parcelSuggestion = trackAndTraceInfo;\r\n this.placeSuggestions = [];\r\n this.coveoSuggestions = [];\r\n } else {\r\n [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(\r\n coveoSuggestions,\r\n placeSuggestions,\r\n 8,\r\n );\r\n }\r\n\r\n this.deselectSuggestion();\r\n }\r\n\r\n /**\r\n * Start search on enter\r\n * @param event\r\n */\r\n private handleKeyDown(event: KeyboardEvent) {\r\n if (this.searchFlyout === undefined) {\r\n return;\r\n }\r\n\r\n let selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\r\n '.suggestions > li > a.selected',\r\n );\r\n\r\n switch (event.key.toLowerCase()) {\r\n case 'enter':\r\n if (selectedSuggestion) {\r\n const selectedHref = selectedSuggestion.getAttribute('href');\r\n if (selectedHref !== null) {\r\n window.location.href = selectedHref;\r\n }\r\n } else {\r\n this.startSearch();\r\n }\r\n\r\n break;\r\n case 'arrowdown':\r\n case 'arrowup':\r\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\r\n\r\n this.deselectSuggestion();\r\n\r\n if (event.key.toLowerCase() === 'arrowdown') {\r\n if (selectedSuggestion?.parentElement?.nextElementSibling?.firstElementChild) {\r\n // Select next suggestion if there's any, otherwise none will be selected\r\n selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add(\r\n 'selected',\r\n );\r\n } else {\r\n // If there are any suggestions, select first suggestion in list\r\n if (suggestions.length > 0) {\r\n suggestions[0].classList.add('selected');\r\n }\r\n }\r\n } else if (event.key.toLowerCase() === 'arrowup') {\r\n if (selectedSuggestion?.parentElement?.previousElementSibling?.firstElementChild) {\r\n // Select previous suggestion if there's any, otherwise none will be selected\r\n\r\n selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add(\r\n 'selected',\r\n );\r\n } else {\r\n // If there are any suggestions, select last suggestion in list\r\n if (suggestions.length > 0) {\r\n suggestions[suggestions.length - 1].classList.add('selected');\r\n }\r\n }\r\n }\r\n\r\n // Get the newly selected suggestion\r\n selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');\r\n const suggestedText = selectedSuggestion?.dataset.suggestionText;\r\n\r\n // Update search box value with selected suggestion text\r\n if (suggestedText !== undefined && this.searchBox) {\r\n this.searchBox.value = suggestedText;\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Set selected suggestion on mouse enter\r\n * @param event\r\n */\r\n private handleMouseEnterSuggestion(event: MouseEvent) {\r\n this.deselectSuggestion();\r\n\r\n // Set hovered suggestion element as selected\r\n (event.target as HTMLElement).classList.add('selected');\r\n }\r\n\r\n /**\r\n * Set selected suggestion on mouse enter\r\n * @param event\r\n */\r\n private handleMouseLeaveSuggestions() {\r\n this.deselectSuggestion();\r\n }\r\n\r\n /**\r\n * Deselect any previously selected suggestion\r\n */\r\n private deselectSuggestion() {\r\n if (this.searchFlyout === undefined) return;\r\n\r\n const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');\r\n\r\n if (selectedSuggestion) {\r\n selectedSuggestion.classList.remove('selected');\r\n }\r\n }\r\n\r\n /**\r\n * Redirect to the post search page\r\n */\r\n private async startSearch() {\r\n if (this.searchBox && state.localizedConfig?.header.search) {\r\n const redirectUrl = await getSearchRedirectUrl(\r\n this.searchBox.value.trim(),\r\n state.localizedConfig.header.search,\r\n );\r\n if (!redirectUrl) return;\r\n window.location.href = redirectUrl;\r\n }\r\n }\r\n\r\n render() {\r\n if (state.localizedConfig?.header === undefined) {\r\n return;\r\n }\r\n const { translations, search } = state.localizedConfig.header;\r\n const showPortalRecommendations =\r\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\r\n\r\n return (\r\n <Host>\r\n <SvgSprite />\r\n <div class=\"search\">\r\n <button\r\n id=\"post-internet-header-search-button\"\r\n class=\"search-button\"\r\n type=\"button\"\r\n aria-expanded={`${this.searchDropdownOpen}`}\r\n onClick={e => this.toggleDropdown(e)}\r\n >\r\n <span class=\"visually-hidden\">\r\n {this.searchDropdownOpen\r\n ? translations.searchToggleExpanded\r\n : translations.searchToggle}\r\n </span>\r\n <SvgIcon name={this.searchDropdownOpen ? 'pi-close' : 'pi-search'} />\r\n </button>\r\n <If condition={this.searchDropdownOpen}>\r\n <div class=\"flyout\" ref={e => (this.searchFlyout = e)}>\r\n <div class=\"container box\">\r\n <div class=\"row\">\r\n <div class=\"col-xs-12 col-md-10 col-lg-8\">\r\n <div class=\"form-group form-floating\">\r\n <input\r\n type=\"text\"\r\n id=\"searchBox\"\r\n class=\"form-control form-control-lg\"\r\n placeholder={translations.flyoutSearchBoxFloatingLabel}\r\n autocomplete=\"off\"\r\n ref={el => (this.searchBox = el)}\r\n onInput={() => this.handleSearchInput()}\r\n onKeyDown={e => this.handleKeyDown(e)}\r\n />\r\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\r\n <button\r\n onClick={() => this.startSearch()}\r\n class=\"nav-link start-search-button\"\r\n >\r\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\r\n <SvgIcon name=\"pi-search\" />\r\n </button>\r\n </div>\r\n {showPortalRecommendations && (\r\n <h2 class=\"bold\">{search.searchRecommendations.title}</h2>\r\n )}\r\n <ul\r\n class=\"suggestions no-list\"\r\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\r\n >\r\n {showPortalRecommendations &&\r\n search.searchRecommendations.links.map(recommendation => (\r\n <li key={recommendation.href}>\r\n <a\r\n class=\"nav-link search-recommendation\"\r\n href={new URL(recommendation.href, 'https://post.ch').href}\r\n data-suggestion-text={recommendation.label}\r\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\r\n >\r\n <span\r\n class=\"search-recommendation__icon\"\r\n innerHTML={recommendation.inlineSvg}\r\n ></span>\r\n <span>{recommendation.label}</span>\r\n </a>\r\n </li>\r\n ))}\r\n {this.parcelSuggestion && this.parcelSuggestion.ok && (\r\n <li>\r\n <a\r\n class=\"nav-link parcel-suggestion\"\r\n href={this.parcelSuggestion.url}\r\n data-suggestion-text={this.searchBox?.value}\r\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\r\n >\r\n <SvgIcon name=\"pi-letter-parcel\" />\r\n <span class=\"bold\">{this.parcelSuggestion?.sending?.id}: </span>\r\n <span>\r\n {this.parcelSuggestion?.sending?.product},{' '}\r\n {this.parcelSuggestion?.sending?.recipient.zipcode}{' '}\r\n {this.parcelSuggestion?.sending?.recipient.city},{' '}\r\n {this.parcelSuggestion?.sending?.state}\r\n </span>\r\n </a>\r\n </li>\r\n )}\r\n {!showPortalRecommendations &&\r\n this.coveoSuggestions &&\r\n this.coveoSuggestions.map(suggestion => (\r\n <li key={suggestion.objectId}>\r\n <a\r\n class=\"nav-link\"\r\n href={suggestion.redirectUrl}\r\n data-suggestion-text={suggestion.expression}\r\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\r\n >\r\n <SvgIcon name=\"pi-search\" />\r\n <HighlightedText text={suggestion.highlighted} />\r\n </a>\r\n </li>\r\n ))}\r\n {!showPortalRecommendations &&\r\n this.placeSuggestions &&\r\n this.placeSuggestions.map(suggestion => (\r\n <li key={suggestion.id}>\r\n <a\r\n class=\"nav-link\"\r\n href={getPlacesUrl(suggestion)}\r\n data-suggestion-text={suggestion.name}\r\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\r\n >\r\n <SvgIcon name=\"pi-place\" />\r\n <HighlightedText\r\n text={highlightPlacesString(\r\n this.searchBox?.value?.trim(),\r\n suggestion.name,\r\n )}\r\n />\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </If>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,KACP,CAAC,IAAK,KACN,CAAC,KAAM,KACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,OAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,OACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,IAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAcN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,KAAM,MACP,CAAC,KAAM,MAGP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KA0CN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KAGN,CAAC,IAAK,MACN,CAAC,IAAK,MAWN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KAGP,CAAC,KAAM,KACP,CAAC,KAAM,KAGP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KAGN,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KAC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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["LevelOneAction","props","TagName","level","url","h","class","active","isActiveOverride","focus","isOpen","href","title","_a","trim","_b","_c","text","undefined","tabindex","noFlyout","onTouchEnd","e","onKeyDown","onClick","postMainNavigationCss","PostMainNavigation","this","resizeTimer","mouseLeaveTimer","mouseEnterTimer","connectedCallback","throttledResize","throttle","handleResize","window","addEventListener","passive","setWindowHeight","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","clearTimeout","host","classList","add","setTimeout","remove","style","setProperty","innerHeight","openFlyout","id","flyout","shadowRoot","getElementById","activeFlyout","addFlyoutAnimation","flyoutToggled","emit","closeFlyout","userPrefersReducedMotion","removeFlyoutAnimation","once","isActiveFlyout","handleMouseEnter","innerWidth","length","handleMouseLeave","handleTouchEnd","event","cancelable","preventDefault","handleKeyPress","key","handleClick","setBodyScroll","mobileMenuOpen","disableBodyScroll","flyoutElement","enableBodyScroll","async","force","dropdownToggled","open","element","firstLink","querySelector","render","state","localizedConfig","header","headerConfig","Host","SvgSprite","ref","el","translations","navMainAriaLabel","navMain","map","levelOne","onMouseLeave","onMouseEnter","SvgIcon","name","classNames","backButtonText","mobileNavToggleClose","linkList","link","target"],"sources":["./src/components/post-main-navigation/components/level-one-action.component.tsx","./src/components/post-main-navigation/post-main-navigation.scss?tag=post-main-navigation&encapsulation=shadow","./src/components/post-main-navigation/post-main-navigation.tsx"],"sourcesContent":["import { h } from '@stencil/core';\r\nimport { NavMainEntity } from '../../../models/header.model';\r\n\r\nexport const LevelOneAction = (props: {\r\n level: NavMainEntity;\r\n isOpen: boolean;\r\n onTouchEnd: (e: any) => void;\r\n onKeyDown: (e: any) => void;\r\n onClick: (e: any) => void;\r\n}) => {\r\n const TagName = props.level.url ? 'a' : 'button';\r\n\r\n return (\r\n <TagName\r\n class={{\r\n 'main-link': true,\r\n 'active': !!props.level.isActiveOverride,\r\n 'focus': props.isOpen,\r\n }}\r\n href={props.level.url}\r\n title={\r\n props.level.title?.trim() && props.level.title?.trim() !== props.level.text?.trim()\r\n ? props.level.title\r\n : undefined\r\n }\r\n tabindex={props.level.url ? undefined : 0}\r\n aria-haspopup={!props.level.noFlyout + ''}\r\n aria-expanded={props.level.noFlyout ? null : props.isOpen + ''}\r\n onTouchEnd={e => props.onTouchEnd(e)}\r\n onKeyDown={e => props.onKeyDown(e)}\r\n onClick={e => props.onClick(e)}\r\n >\r\n <span>{props.level.text}</span>\r\n <svg aria-hidden=\"true\">\r\n <use href=\"#pi-pointy-arrow-right\" />\r\n </svg>\r\n </TagName>\r\n );\r\n};\r\n","@use '@swisspost/design-system-styles/variables/color';\r\n@use '@swisspost/design-system-styles/placeholders/text';\r\n@use '@swisspost/design-system-styles/functions';\r\n@use '../../utils/utils.scss';\r\n@use '../../utils/mixins.scss';\r\n\r\n:host {\r\n --host-window-height: var(--window-height, 100vh);\r\n --calculated-header-height: calc(var(--header-height) + 1px);\r\n\r\n display: block;\r\n min-width: 0;\r\n height: var(--header-height);\r\n}\r\n\r\n:host(.no-animation) {\r\n * {\r\n animation: none !important;\r\n transition: none !important;\r\n }\r\n}\r\n\r\n.main-navigation,\r\n.main-container,\r\n.main-container li,\r\n.main-link {\r\n @include mixins.min(lg) {\r\n height: 100%;\r\n }\r\n}\r\n\r\n.main-navigation {\r\n font-size: functions.px-to-rem(18px);\r\n\r\n @include mixins.min(lg) {\r\n font-size: functions.px-to-rem(16px);\r\n }\r\n\r\n @include mixins.min(xl) {\r\n margin: 0 0.75rem;\r\n font-size: functions.px-to-rem(18px);\r\n }\r\n\r\n @include mixins.min(xxl) {\r\n font-size: functions.px-to-rem(20px);\r\n }\r\n\r\n @include mixins.max(lg) {\r\n position: absolute;\r\n top: var(--calculated-header-height);\r\n left: 0;\r\n background: white;\r\n height: calc(var(--host-window-height) - var(--calculated-header-height));\r\n width: 100%;\r\n margin: 0;\r\n overflow: hidden scroll;\r\n -webkit-overflow-scrolling: touch;\r\n overscroll-behavior: contain;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n z-index: -1;\r\n visibility: hidden;\r\n transform: translateY(-100%);\r\n transition: transform 0.35s, visibility 0.35s;\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n transition: none;\r\n }\r\n\r\n &.open {\r\n transform: translateY(0);\r\n visibility: visible;\r\n }\r\n }\r\n}\r\n\r\n.main-container {\r\n @extend %no-list;\r\n\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n\r\n @include mixins.max(lg) {\r\n flex-direction: column;\r\n align-items: stretch;\r\n justify-content: flex-start;\r\n padding-top: 2.5rem;\r\n padding-bottom: 2.5rem;\r\n\r\n > li + li {\r\n border-top: 1px solid color.$gray-10;\r\n }\r\n }\r\n\r\n @include mixins.min(lg) {\r\n padding-right: 0;\r\n padding-left: 0;\r\n }\r\n\r\n > li {\r\n flex: 0 1 auto;\r\n min-width: 0;\r\n }\r\n}\r\n\r\n.main-link {\r\n @extend %nav-link;\r\n\r\n display: flex;\r\n align-items: center;\r\n padding-right: 0.75rem;\r\n padding-left: 0.75rem;\r\n text-align: left;\r\n cursor: pointer;\r\n width: 100%;\r\n\r\n @include mixins.min(lg) {\r\n svg {\r\n display: none;\r\n }\r\n }\r\n\r\n @include mixins.max(lg) {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n font-weight: 300;\r\n padding: 0.625rem 0;\r\n width: 100%;\r\n text-align: left;\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n }\r\n\r\n span {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n}\r\n\r\n.main-link,\r\n.flyout-link {\r\n position: relative;\r\n color: black;\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n bottom: -1px;\r\n left: 0;\r\n width: 100%;\r\n height: 4px;\r\n background-color: transparent;\r\n opacity: 0;\r\n transform: scaleX(0.8);\r\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\r\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n transition: none;\r\n }\r\n }\r\n\r\n &:hover,\r\n &.focus {\r\n &::after {\r\n background-color: color.$gray-20;\r\n opacity: 1;\r\n transform: scale(1);\r\n }\r\n }\r\n\r\n &.active {\r\n font-weight: 700;\r\n\r\n &::after {\r\n background-color: color.$yellow;\r\n opacity: 1;\r\n transform: scale(1);\r\n }\r\n }\r\n}\r\n\r\n.flyout {\r\n left: 0;\r\n width: 100%;\r\n background: white;\r\n padding-bottom: 3rem;\r\n overflow: auto;\r\n overscroll-behavior: contain;\r\n visibility: hidden;\r\n\r\n @include mixins.min(lg) {\r\n position: absolute;\r\n top: 100%;\r\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\r\n z-index: -1;\r\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\r\n transform: translateY(-100%);\r\n\r\n &.open {\r\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\r\n transform: translateY(0);\r\n }\r\n }\r\n\r\n @include mixins.max(lg) {\r\n position: fixed;\r\n top: 0;\r\n height: 100%;\r\n z-index: 1;\r\n transform: translateX(100%);\r\n\r\n &.open {\r\n transform: translateX(0);\r\n }\r\n }\r\n\r\n &.open {\r\n visibility: visible;\r\n }\r\n\r\n &.animate {\r\n transition: transform 0.35s, visibility 0.35s, box-shadow 0.35s;\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\n.flyout-nav {\r\n @extend %font-curve-small;\r\n\r\n display: flex;\r\n justify-content: space-between;\r\n min-height: 3.5rem;\r\n\r\n // Change box-sizing to content-box to add 1px border width to flyout-nav hight.\r\n // This ensures flyout-nav has same hight as main-navigation-container.\r\n box-sizing: content-box;\r\n}\r\n\r\n.flyout-row {\r\n display: flex;\r\n gap: 1.5rem;\r\n\r\n @include mixins.max(lg) {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n }\r\n\r\n @include mixins.max(rg) {\r\n grid-template-columns: 1fr;\r\n }\r\n}\r\n\r\n.flyout-column {\r\n flex: 1;\r\n max-width: 25%;\r\n\r\n @include mixins.max(lg) {\r\n max-width: none;\r\n }\r\n\r\n h3 {\r\n @extend %font-curve-small;\r\n margin-top: 0;\r\n }\r\n}\r\n\r\n.flyout-back-button {\r\n @include mixins.container-padding();\r\n\r\n display: flex;\r\n align-items: center;\r\n font-size: functions.px-to-rem(16px);\r\n font-weight: 400;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n\r\n @include mixins.min(lg) {\r\n display: none;\r\n }\r\n}\r\n\r\n.flyout-close-button {\r\n @extend %nav-link;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-left: auto;\r\n padding: 0 1.5rem;\r\n cursor: pointer;\r\n\r\n svg {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n }\r\n\r\n @include mixins.max(lg) {\r\n display: none;\r\n }\r\n}\r\n\r\n.flyout-linklist {\r\n @extend %no-list;\r\n\r\n li {\r\n border-top: 1px solid color.$gray-10;\r\n }\r\n\r\n &:first-child > li {\r\n border-top-color: transparent;\r\n }\r\n}\r\n\r\n.flyout-link {\r\n @extend %nav-link;\r\n\r\n display: block;\r\n padding: 0.75rem 0;\r\n}\r\n\r\n.flyout-title {\r\n @extend %font-curve-bigger-regular;\r\n\r\n margin: 2.5rem 0 1.5rem 0;\r\n\r\n @include mixins.min(lg) {\r\n display: none;\r\n }\r\n}\r\n","import { Component, Host, h, State, Method, Event, Element, EventEmitter } from '@stencil/core';\r\nimport { throttle } from 'throttle-debounce';\r\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\r\nimport { state } from '../../data/store';\r\nimport {\r\n DropdownElement,\r\n DropdownEvent,\r\n HasDropdown,\r\n IsFocusable,\r\n NavMainEntity,\r\n} from '../../models/header.model';\r\nimport { userPrefersReducedMotion } from '../../services/ui.service';\r\nimport { SvgSprite } from '../../utils/svg-sprite.component';\r\nimport { SvgIcon } from '../../utils/svg-icon.component';\r\nimport { LevelOneAction } from './components/level-one-action.component';\r\n\r\n@Component({\r\n tag: 'post-main-navigation',\r\n styleUrl: 'post-main-navigation.scss',\r\n shadow: true,\r\n})\r\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\r\n @State() activeFlyout: string | null;\r\n @State() mobileMenuOpen: boolean;\r\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\r\n @Event() flyoutToggled: EventEmitter<string | null>;\r\n @Element() host: DropdownElement;\r\n private throttledResize: throttle<() => void>;\r\n private resizeTimer: number | null = null;\r\n private mouseLeaveTimer: number | null = null;\r\n private mouseEnterTimer: number | null = null;\r\n private flyoutElement: HTMLElement | undefined;\r\n\r\n connectedCallback() {\r\n this.throttledResize = throttle(300, () => this.handleResize());\r\n window.addEventListener('resize', this.throttledResize, { passive: true });\r\n this.setWindowHeight();\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.throttledResize);\r\n clearAllBodyScrollLocks();\r\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\r\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\r\n }\r\n\r\n handleResize() {\r\n // Suspend all animations and transitions on window resize\r\n this.host.classList.add('no-animation');\r\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\r\n this.resizeTimer = window.setTimeout(() => {\r\n this.host.classList.remove('no-animation');\r\n }, 300);\r\n\r\n this.setWindowHeight();\r\n }\r\n\r\n // Update window height var\r\n setWindowHeight() {\r\n if (!this.host) {\r\n return;\r\n }\r\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\r\n\r\n // Safari might or might not show a blank bar at the bottom where the browser\r\n // controls should be. This timeout waits for this bar to appear before resetting the available height\r\n window.setTimeout(() => {\r\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\r\n }, 100);\r\n }\r\n\r\n openFlyout(id: string) {\r\n const flyout = this.host.shadowRoot?.getElementById(id);\r\n\r\n if (flyout && this.activeFlyout !== '') {\r\n // Add flyout animation if there's no flyout open\r\n this.addFlyoutAnimation(flyout);\r\n }\r\n\r\n this.activeFlyout = id;\r\n this.flyoutToggled.emit(id);\r\n this.setWindowHeight();\r\n\r\n if (this.mouseLeaveTimer !== null) {\r\n window.clearTimeout(this.mouseLeaveTimer);\r\n this.mouseLeaveTimer = null;\r\n }\r\n }\r\n\r\n closeFlyout(id?: string) {\r\n if (id === undefined) return;\r\n const flyout = this.host.shadowRoot?.getElementById(id);\r\n\r\n if (flyout) {\r\n // Add flyout animation for close action\r\n this.addFlyoutAnimation(flyout);\r\n }\r\n\r\n this.activeFlyout = null;\r\n this.flyoutToggled.emit();\r\n }\r\n\r\n addFlyoutAnimation(flyout: HTMLElement) {\r\n // Check if user prefers to see animations or not\r\n if (!userPrefersReducedMotion()) {\r\n flyout.classList.add('animate');\r\n\r\n // Remove flyout animation after transition ended\r\n flyout.addEventListener('transitionend', () => this.removeFlyoutAnimation(flyout), {\r\n once: true,\r\n });\r\n }\r\n }\r\n\r\n removeFlyoutAnimation(flyout: HTMLElement) {\r\n flyout.classList.remove('animate');\r\n }\r\n\r\n isActiveFlyout(id?: string) {\r\n return id === this.activeFlyout;\r\n }\r\n\r\n handleMouseEnter(level: NavMainEntity) {\r\n // Cancel opening the flyout if there already is one scheduled to open\r\n if (this.mouseEnterTimer !== null) {\r\n window.clearTimeout(this.mouseEnterTimer);\r\n this.mouseEnterTimer = null;\r\n }\r\n\r\n // Cancel closing if we enter again\r\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\r\n window.clearTimeout(this.mouseLeaveTimer);\r\n this.mouseLeaveTimer = null;\r\n }\r\n\r\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\r\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\r\n this.mouseEnterTimer = window.setTimeout(() => {\r\n this.mouseEnterTimer = null;\r\n if (level.id !== undefined) this.openFlyout(level.id);\r\n }, 200);\r\n }\r\n }\r\n\r\n handleMouseLeave(level: NavMainEntity) {\r\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\r\n if (this.mouseEnterTimer !== null) {\r\n window.clearTimeout(this.mouseEnterTimer);\r\n }\r\n\r\n // Don't close an open flyout if the mouseleave is from another mainnav entry\r\n if (this.activeFlyout && this.activeFlyout !== level.id) {\r\n return;\r\n }\r\n\r\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\r\n // Allow the pointer to shortly leave the flyout without closing it. This\r\n // allows for user mistakes and makes the experience less nervous\r\n this.mouseLeaveTimer = window.setTimeout(() => {\r\n this.closeFlyout(level.id);\r\n }, 300);\r\n }\r\n }\r\n\r\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\r\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\r\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\r\n if (event.cancelable) event.preventDefault();\r\n if (level.id) this.openFlyout(level.id);\r\n }\r\n }\r\n\r\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\r\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\r\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\r\n event.preventDefault();\r\n if (level.id) this.openFlyout(level.id);\r\n }\r\n }\r\n\r\n handleClick(event: MouseEvent, level: NavMainEntity) {\r\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\r\n // It's the first click, always open the flyout, never the link\r\n // This is relevant for desktop with active screenreader which\r\n // translates an enter keypress to a click\r\n event.preventDefault();\r\n if (level.id) this.openFlyout(level.id);\r\n }\r\n }\r\n\r\n /**\r\n * Disable or re-enable body scrolling, depending on whether mobile menu is open or closed\r\n */\r\n setBodyScroll() {\r\n if (this.mobileMenuOpen) {\r\n disableBodyScroll(this.flyoutElement);\r\n } else {\r\n enableBodyScroll(this.flyoutElement);\r\n }\r\n }\r\n\r\n /**\r\n * Toggle the main navigation (only visible on mobile)\r\n * @param force Force a state\r\n * @returns Boolean indicating new state\r\n */\r\n @Method()\r\n async toggleDropdown(force?: boolean) {\r\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\r\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\r\n\r\n if (force === false) {\r\n this.closeFlyout();\r\n }\r\n\r\n this.setBodyScroll();\r\n this.setWindowHeight();\r\n\r\n return this.mobileMenuOpen;\r\n }\r\n\r\n /**\r\n * Focus the main navigation toggle button\r\n */\r\n @Method()\r\n async setFocus() {\r\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\r\n if (firstLink) {\r\n firstLink.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Open a specific flyout\r\n * @param id Flyout ID\r\n */\r\n @Method()\r\n async setActiveFlyout(id: string | null) {\r\n this.activeFlyout = id;\r\n this.flyoutToggled.emit(this.activeFlyout);\r\n }\r\n\r\n render() {\r\n if (state.localizedConfig?.header === undefined) return;\r\n const headerConfig = state.localizedConfig.header;\r\n\r\n return (\r\n <Host>\r\n <SvgSprite />\r\n <nav\r\n id=\"post-internet-header-main-navigation\"\r\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\r\n ref={el => (this.flyoutElement = el)}\r\n >\r\n <h2 class=\"visually-hidden\">{headerConfig.translations.navMainAriaLabel}</h2>\r\n <ul class=\"main-container container\">\r\n {headerConfig.navMain.map(levelOne => (\r\n <li\r\n key={levelOne.text}\r\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\r\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\r\n >\r\n <LevelOneAction\r\n level={levelOne}\r\n isOpen={this.isActiveFlyout(levelOne.id)}\r\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\r\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\r\n onClick={e => this.handleClick(e, levelOne)}\r\n />\r\n {!levelOne.noFlyout ? (\r\n <div\r\n id={levelOne.id}\r\n class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}\r\n >\r\n <div class=\"wide-container\">\r\n <div class=\"flyout-nav\">\r\n <button\r\n class=\"nav-link flyout-back-button\"\r\n onClick={() => this.closeFlyout(levelOne.id)}\r\n >\r\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\r\n <span>{headerConfig.translations.backButtonText}</span>\r\n </button>\r\n <button\r\n class=\"flyout-close-button\"\r\n onClick={() => this.closeFlyout(levelOne.id)}\r\n >\r\n <span class=\"visually-hidden\">\r\n {headerConfig.translations.mobileNavToggleClose}\r\n </span>\r\n <SvgIcon name=\"pi-close\" />\r\n </button>\r\n </div>\r\n <h2 class=\"flyout-title container\">\r\n <a href={levelOne.url} class=\"nav-link\">\r\n {levelOne.text}\r\n </a>\r\n </h2>\r\n <div class=\"flyout-row container\">\r\n {levelOne.flyout.map(flyout => (\r\n <div key={flyout.title} class=\"flyout-column\">\r\n {flyout.title ? <h3>{flyout.title}</h3> : null}\r\n <ul class=\"flyout-linklist\">\r\n {flyout.linkList.map(link => (\r\n <li key={link.url}>\r\n <a\r\n class={{\r\n 'flyout-link': true,\r\n 'active': !!link?.isActiveOverride,\r\n }}\r\n href={link.url}\r\n target={link.target}\r\n >\r\n {link.title}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n ) : null}\r\n </li>\r\n ))}\r\n </ul>\r\n <slot></slot>\r\n </nav>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|