@postnord/pn-marketweb-components 1.0.28 → 1.0.29

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.
Files changed (54) hide show
  1. package/cjs/MarketWebLoginManager-8b675eb4.js +194 -0
  2. package/cjs/loader.cjs.js +1 -1
  3. package/cjs/pn-language-selector_9.cjs.entry.js +5 -195
  4. package/cjs/pn-market-web-components.cjs.js +1 -1
  5. package/cjs/pn-marketweb-siteheader.cjs.entry.js +2 -2
  6. package/cjs/pn-profile-selector.cjs.entry.js +92 -0
  7. package/collection/collection-manifest.json +1 -0
  8. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +2 -2
  9. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.css +1 -4
  10. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +1 -1
  11. package/collection/components/navigation/pn-language-selector/pn-language-selector.css +8 -0
  12. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +4 -0
  13. package/collection/components/navigation/pn-profile-selector/pn-profile-selector-types.js +1 -0
  14. package/collection/components/navigation/pn-profile-selector/pn-profile-selector.css +14 -0
  15. package/collection/components/navigation/pn-profile-selector/pn-profile-selector.js +141 -0
  16. package/collection/components/navigation/pn-profile-selector/pn-profile-selector.stories.js +25 -0
  17. package/collection/components/navigation/pn-profile-selector/translations.js +17 -0
  18. package/collection/components/navigation/pn-site-selector/pn-site-selector.css +1 -0
  19. package/collection/{components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-loginmanager.js → globals/MarketWebLoginManager.js} +2 -2
  20. package/custom-elements/index.d.ts +6 -0
  21. package/custom-elements/index.js +112 -26
  22. package/esm/MarketWebLoginManager-dd7ac023.js +192 -0
  23. package/esm/loader.js +1 -1
  24. package/esm/pn-language-selector_9.entry.js +5 -195
  25. package/esm/pn-market-web-components.js +1 -1
  26. package/esm/pn-marketweb-siteheader.entry.js +2 -2
  27. package/esm/pn-profile-selector.entry.js +88 -0
  28. package/esm-es5/MarketWebLoginManager-dd7ac023.js +1 -0
  29. package/esm-es5/loader.js +1 -1
  30. package/esm-es5/pn-language-selector_9.entry.js +1 -1
  31. package/esm-es5/pn-market-web-components.js +1 -1
  32. package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
  33. package/esm-es5/pn-profile-selector.entry.js +1 -0
  34. package/package.json +1 -1
  35. package/pn-market-web-components/p-25bdf3f8.system.js +1 -1
  36. package/pn-market-web-components/p-4dcea578.js +1 -0
  37. package/pn-market-web-components/p-51768dc0.system.js +1 -0
  38. package/pn-market-web-components/p-5727a706.entry.js +1 -0
  39. package/pn-market-web-components/p-689b66ef.entry.js +1 -0
  40. package/pn-market-web-components/p-68c96d80.system.entry.js +1 -0
  41. package/pn-market-web-components/p-6d94ea39.system.entry.js +1 -0
  42. package/pn-market-web-components/p-86fb266b.system.entry.js +1 -0
  43. package/pn-market-web-components/p-95dc0dfa.entry.js +1 -0
  44. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  45. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.d.ts +2 -2
  46. package/types/components/navigation/pn-profile-selector/pn-profile-selector-types.d.ts +3 -0
  47. package/types/components/navigation/pn-profile-selector/pn-profile-selector.d.ts +21 -0
  48. package/types/components/navigation/pn-profile-selector/translations.d.ts +17 -0
  49. package/types/components.d.ts +19 -0
  50. package/types/{components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-loginmanager.d.ts → globals/MarketWebLoginManager.d.ts} +4 -4
  51. package/pn-market-web-components/p-a6da9324.system.entry.js +0 -1
  52. package/pn-market-web-components/p-b27c3539.system.entry.js +0 -1
  53. package/pn-market-web-components/p-c2b8aa29.entry.js +0 -1
  54. package/pn-market-web-components/p-d67686ea.entry.js +0 -1
@@ -161,7 +161,7 @@ let PnFilterSearch$1 = class extends HTMLElement {
161
161
  static get style() { return pnFilterSearchCss; }
162
162
  };
163
163
 
164
- const translations$6 = {
164
+ const translations$7 = {
165
165
  'sv': {
166
166
  'componentheading': 'Vad vill du skicka?',
167
167
  'deliveryscopeheading': 'Hit eller dit?',
@@ -2255,8 +2255,8 @@ let PnfindServiceAndPrice = class extends HTMLElement {
2255
2255
  if (this.market) {
2256
2256
  state$3.market = markets$1[this.market];
2257
2257
  }
2258
- if (this.language && translations$6[this.language]) {
2259
- state$3.i18n = translations$6[this.language];
2258
+ if (this.language && translations$7[this.language]) {
2259
+ state$3.i18n = translations$7[this.language];
2260
2260
  }
2261
2261
  }
2262
2262
  filterItems() {
@@ -2380,7 +2380,7 @@ let PnfindServiceAndPriceResult = class extends HTMLElement {
2380
2380
  static get style() { return pnFindServiceAndPriceResultCss; }
2381
2381
  };
2382
2382
 
2383
- const translations$5 = {
2383
+ const translations$6 = {
2384
2384
  'sv': {
2385
2385
  "heading": "Språk",
2386
2386
  },
@@ -2398,7 +2398,7 @@ const translations$5 = {
2398
2398
  }
2399
2399
  };
2400
2400
 
2401
- const pnLanguageSelectorCss = ".languageselector{position:relative}.languageselector-togglebtn{cursor:pointer;border:0;padding:0.64rem 0;background-color:#FFFFFF;color:#005D92;font-size:1.6rem}.languageselector-togglebtn:hover,.languageselector-togglebtn:focus,.languageselector-togglebtn:active{color:#0D234B;text-decoration:underline}.languageselector-togglebtn svg{width:1.9rem;height:1.9rem}.languageselector-title{padding:0.8rem 1.6rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.languageselector-list{margin:0;padding:0;list-style:none}";
2401
+ const pnLanguageSelectorCss = "pn-language-selector{max-height:5.2rem}pn-language-selector pn-nav-dropdown:not([data-open]) .nav-dropdown-content-container,pn-language-selector pn-nav-dropdown[data-open=false] .nav-dropdown-content-container{display:none}.languageselector{position:relative}.languageselector-togglebtn{cursor:pointer;border:0;padding:0.64rem 0;background-color:#FFFFFF;color:#005D92;font-size:1.6rem}.languageselector-togglebtn:hover,.languageselector-togglebtn:focus,.languageselector-togglebtn:active{color:#0D234B;text-decoration:underline}.languageselector-togglebtn svg{width:1.9rem;height:1.9rem}.languageselector-title{padding:0.8rem 1.6rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.languageselector-list{margin:0;padding:0;list-style:none}";
2402
2402
 
2403
2403
  let PnlanguageSelector = class extends HTMLElement {
2404
2404
  constructor() {
@@ -2447,8 +2447,8 @@ let PnlanguageSelector = class extends HTMLElement {
2447
2447
  this.setLanguage.emit(this.value);
2448
2448
  }
2449
2449
  setTranslations() {
2450
- if (translations$5[this.value]) {
2451
- this.i18n = translations$5[this.value];
2450
+ if (translations$6[this.value]) {
2451
+ this.i18n = translations$6[this.value];
2452
2452
  }
2453
2453
  }
2454
2454
  onValueChange() {
@@ -2501,7 +2501,7 @@ let PnlanguageSelectorOption = class extends HTMLElement {
2501
2501
  static get style() { return pnLanguageSelectorOptionCss; }
2502
2502
  };
2503
2503
 
2504
- const translations$4 = {
2504
+ const translations$5 = {
2505
2505
  'sv': {
2506
2506
  "menuHomeButton": "Hem",
2507
2507
  "menuGoBackButton": "Gå tillbaka",
@@ -2595,8 +2595,8 @@ let PnMainnav$1 = class extends HTMLElement {
2595
2595
  this.marketChange.emit(this.market);
2596
2596
  }
2597
2597
  onLanguageChange(event) {
2598
- if (translations$4[event.detail]) {
2599
- state$2.i18n = translations$4[event.detail];
2598
+ if (translations$5[event.detail]) {
2599
+ state$2.i18n = translations$5[event.detail];
2600
2600
  if (!this.navLabel) {
2601
2601
  this.navLabel = state$2.i18n.navLabel;
2602
2602
  }
@@ -2616,7 +2616,7 @@ let PnMainnav$1 = class extends HTMLElement {
2616
2616
  static get style() { return pnMainnavCss; }
2617
2617
  };
2618
2618
 
2619
- const pnMainnavLevelCss = "pn-mainnav-level{display:block}pn-mainnav-level[data-level=\"1\"]{width:100%;right:0;overflow-y:scroll;overflow-x:hidden;-ms-flex:1;flex:1}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"1\"]{width:auto;overflow:initial}pn-mainnav-level[data-level=\"1\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"]{position:absolute;top:0;bottom:0;left:0;width:100vw;padding:0;background-color:#FFFFFF;z-index:1;-webkit-transform:translateX(100vw);transform:translateX(100vw);-webkit-transition:-webkit-transform 0.2s 0s;transition:-webkit-transform 0.2s 0s;transition:transform 0.2s 0s;transition:transform 0.2s 0s, -webkit-transform 0.2s 0s;-webkit-transition-property:visibility, -webkit-transform;transition-property:visibility, -webkit-transform;transition-property:transform, visibility;transition-property:transform, visibility, -webkit-transform;overflow:scroll;visibility:hidden}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]{left:0;top:calc(100% + 1rem);bottom:auto;border-radius:1.6rem;width:auto;padding:1.6rem 1.6rem 0 1.6rem;-webkit-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);-moz-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);height:auto;z-index:3;display:none}pn-mainnav-level[data-level=\"2\"][data-menuitem-rightaligned=true]{right:0;left:unset}}@media screen and (max-height: 33.125em){pn-mainnav-level[data-level=\"2\"]{-ms-overflow-style:none;scrollbar-width:none}pn-mainnav-level[data-level=\"2\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{-webkit-transform:translateX(0);transform:translateX(0);visibility:visible}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{display:block;overflow:visible}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]:not([data-level-listcount=\"1\"]){display:grid;grid-template-columns:minmax(12em, 20em) 1fr;grid-template-rows:auto auto;gap:0px 1.6rem;grid-template-areas:\"top top\" \"left right\"}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=left]{right:0;left:unset}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=center]{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}pn-mainnav-level[data-level=\"2\"] a{color:#005D92;text-decoration:none}pn-mainnav-level [slot=top]{display:-ms-flexbox;display:flex}@media screen and (min-width: 48em){pn-mainnav-level [slot=top]{display:none}}[data-menu-currentlevel=\"2\"] pn-mainnav-level [slot=footer]{display:none;-ms-scroll-chaining:none;overscroll-behavior:contain}.mainnav-level-header{grid-area:top}.mainnav-level-header>label{position:absolute;width:0.1rem;height:0.1rem;padding:0;margin:-0.1rem;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap}.mainnav-level-header>button{display:block;position:relative;border:none;background-color:transparent;color:#005D92;padding:2.4rem 0 2.4rem 6.2rem;width:100%;text-align:left}@media screen and (min-width: 64em){.mainnav-level-header>button{display:none;speak:none}}.mainnav-level-header>button>pn-icon{speak:none;position:absolute;height:2.4rem;width:2.4rem;left:3rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-level=\"2\"] .mainnav-level-header>pn-mainnav-link>a{font-size:2.4rem}";
2619
+ const pnMainnavLevelCss = "pn-mainnav-level{display:block}pn-mainnav-level:not(.hydrated){max-height:5.6rem;overflow:hidden}pn-mainnav-level[data-level=\"1\"]{width:100%;right:0;overflow-y:scroll;overflow-x:hidden;-ms-flex:1;flex:1}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"1\"]{width:auto;overflow:initial}pn-mainnav-level[data-level=\"1\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"]{position:absolute;top:0;bottom:0;left:0;width:100vw;padding:0;background-color:#FFFFFF;z-index:1;-webkit-transform:translateX(100vw);transform:translateX(100vw);-webkit-transition:-webkit-transform 0.2s 0s;transition:-webkit-transform 0.2s 0s;transition:transform 0.2s 0s;transition:transform 0.2s 0s, -webkit-transform 0.2s 0s;-webkit-transition-property:visibility, -webkit-transform;transition-property:visibility, -webkit-transform;transition-property:transform, visibility;transition-property:transform, visibility, -webkit-transform;overflow:scroll;visibility:hidden}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]{left:0;top:calc(100% + 1rem);bottom:auto;border-radius:1.6rem;width:auto;padding:1.6rem 1.6rem 0 1.6rem;-webkit-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);-moz-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);height:auto;z-index:3;display:none}pn-mainnav-level[data-level=\"2\"][data-menuitem-rightaligned=true]{right:0;left:unset}}@media screen and (max-height: 33.125em){pn-mainnav-level[data-level=\"2\"]{-ms-overflow-style:none;scrollbar-width:none}pn-mainnav-level[data-level=\"2\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{-webkit-transform:translateX(0);transform:translateX(0);visibility:visible}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{display:block;overflow:visible}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]:not([data-level-listcount=\"1\"]){display:grid;grid-template-columns:minmax(12em, 20em) 1fr;grid-template-rows:auto auto;gap:0px 1.6rem;grid-template-areas:\"top top\" \"left right\"}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=left]{right:0;left:unset}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=center]{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}pn-mainnav-level[data-level=\"2\"] a{color:#005D92;text-decoration:none}pn-mainnav-level [slot=top]{display:-ms-flexbox;display:flex}@media screen and (min-width: 48em){pn-mainnav-level [slot=top]{display:none}}[data-menu-currentlevel=\"2\"] pn-mainnav-level [slot=footer]{display:none;-ms-scroll-chaining:none;overscroll-behavior:contain}.mainnav-level-header{grid-area:top}.mainnav-level-header>label{position:absolute;width:0.1rem;height:0.1rem;padding:0;margin:-0.1rem;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap}.mainnav-level-header>button{display:block;position:relative;border:none;background-color:transparent;color:#005D92;padding:2.4rem 0 2.4rem 6.2rem;width:100%;text-align:left}@media screen and (min-width: 64em){.mainnav-level-header>button{display:none;speak:none}}.mainnav-level-header>button>pn-icon{speak:none;position:absolute;height:2.4rem;width:2.4rem;left:3rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-level=\"2\"] .mainnav-level-header>pn-mainnav-link>a{font-size:2.4rem}";
2620
2620
 
2621
2621
  let PnMainnavLevel$1 = class extends HTMLElement {
2622
2622
  constructor() {
@@ -2747,7 +2747,7 @@ let PnMainnavList$1 = class extends HTMLElement {
2747
2747
  static get style() { return pnMainnavListCss; }
2748
2748
  };
2749
2749
 
2750
- const translations$3 = {
2750
+ const translations$4 = {
2751
2751
  'sv': {
2752
2752
  "searchlabel": "Sök",
2753
2753
  "searchplaceholder": "Vad letar du efter?",
@@ -3011,8 +3011,8 @@ let PnMarketwebSiteheader$2 = class extends HTMLElement {
3011
3011
  await this.fetchData();
3012
3012
  }
3013
3013
  setTranslations() {
3014
- if (this.language && translations$3[this.language]) {
3015
- this.i18n = translations$3[this.language];
3014
+ if (this.language && translations$4[this.language]) {
3015
+ this.i18n = translations$4[this.language];
3016
3016
  }
3017
3017
  }
3018
3018
  onLanguageChange() {
@@ -3099,7 +3099,7 @@ let PnMarketwebSiteheader$2 = class extends HTMLElement {
3099
3099
  static get style() { return pnMarketwebSitefooterCss; }
3100
3100
  };
3101
3101
 
3102
- const translations$2 = {
3102
+ const translations$3 = {
3103
3103
  'sv': {
3104
3104
  "searchlabel": "Sök",
3105
3105
  "searchplaceholder": "Vad letar du efter?",
@@ -3147,7 +3147,7 @@ const translations$2 = {
3147
3147
  }
3148
3148
  };
3149
3149
 
3150
- const pnMarketwebSiteheaderCss = "body[data-siteheader-menuopen=true]{max-height:100vh;overflow:hidden}@media screen and (min-width: 60em){body[data-siteheader-menuopen=true]{max-height:initial;overflow:initial}}pn-marketweb-siteheader{display:block}pn-marketweb-siteheader header{position:relative;z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-webkit-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}@media screen and (min-width: 48em){pn-marketweb-siteheader header{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:initial;justify-content:initial}}pn-marketweb-siteheader .siteheader-row{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row;-ms-flex-align:center;align-items:center;width:100%;padding:0 1.6rem;background:#FFFFFF;min-height:2em}pn-marketweb-siteheader .siteheader-row:not(:last-child){border-bottom:0.1rem solid #F3F2F2}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-row{-ms-flex-pack:justify;justify-content:space-between;min-height:3.2em}}pn-marketweb-siteheader .siteheader-topright{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}pn-marketweb-siteheader .siteheader-logocontainer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:relative;min-height:3em}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-logocontainer{position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}pn-marketweb-siteheader .siteheader-logolink{height:100%;max-height:6.4rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}pn-marketweb-siteheader .siteheader-logolink:hover,pn-marketweb-siteheader .siteheader-logolink:focus,pn-marketweb-siteheader .siteheader-logolink:active{-webkit-box-shadow:none;box-shadow:none}pn-marketweb-siteheader .siteheader-logo{height:2.4rem}pn-marketweb-siteheader .siteheader-row>pn-marketweb-siteheader-search{display:none}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-row>pn-marketweb-siteheader-search{display:block}}pn-marketweb-siteheader pn-spinner{display:none}pn-marketweb-siteheader pn-nav-dropdown:not(.hydrated) .nav-dropdown-content-container{display:none}.siteheader-topleft pn-site-selector{padding:1rem 0;display:none}@media screen and (min-width: 48em){.siteheader-topleft pn-site-selector{display:block}}@media screen and (min-width: 60em){.siteheader-topleft pn-site-selector{margin-left:1.3rem}}.siteheader-topright pn-language-selector{padding:1rem 0;display:none}@media screen and (min-width: 48em){.siteheader-topright pn-language-selector{display:block}}@media screen and (min-width: 60em){.siteheader-topright pn-language-selector{margin-right:1.6rem}}.siteheader-topright pn-marketweb-siteheader-login{display:none}@media screen and (min-width: 48em){.siteheader-topright pn-marketweb-siteheader-login{display:block}}.siteheader-topright pn-marketweb-siteheader-login .pn-nav-dropdown-label{font-size:0}.siteheader-topright pn-marketweb-siteheader-login .pn-nav-dropdown-label pn-icon{font-size:initial}@media screen and (min-width: 60em){.siteheader-topright pn-marketweb-siteheader-login .pn-nav-dropdown-label{font-size:initial}}.siteheader-menu{max-width:100%;width:100%;overflow:visible;overflow-x:clip}@media screen and (min-width: 60em){.siteheader-menu{margin-top:auto;overflow:visible}}.siteheader-menu pn-mainnav-link a[target]::after{content:none}.siteheader-menu pn-marketweb-siteheader-search{padding:0.3rem 1.6rem;width:100%}.siteheader-menu [slot=top] pn-search-field{width:100%}.siteheader-menu-footer{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.siteheader-menu-footer>*{margin:1.6rem}";
3150
+ const pnMarketwebSiteheaderCss = "body[data-siteheader-menuopen=true]{max-height:100vh;overflow:hidden}@media screen and (min-width: 60em){body[data-siteheader-menuopen=true]{max-height:initial;overflow:initial}}pn-marketweb-siteheader{display:block;background:#FFFFFF}pn-marketweb-siteheader header{position:relative;z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-webkit-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}@media screen and (min-width: 48em){pn-marketweb-siteheader header{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:initial;justify-content:initial}}pn-marketweb-siteheader .siteheader-row{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row;-ms-flex-align:center;align-items:center;width:100%;padding:0 1.6rem;min-height:2em}pn-marketweb-siteheader .siteheader-row:not(:last-child){border-bottom:0.1rem solid #F3F2F2}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-row{-ms-flex-pack:justify;justify-content:space-between;min-height:3.2em}}pn-marketweb-siteheader .siteheader-topright{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}pn-marketweb-siteheader .siteheader-logocontainer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:relative;min-height:3em}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-logocontainer{position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}pn-marketweb-siteheader .siteheader-logolink{height:100%;max-height:6.4rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}pn-marketweb-siteheader .siteheader-logolink:hover,pn-marketweb-siteheader .siteheader-logolink:focus,pn-marketweb-siteheader .siteheader-logolink:active{-webkit-box-shadow:none;box-shadow:none}pn-marketweb-siteheader .siteheader-row>pn-marketweb-siteheader-search{display:none}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-row>pn-marketweb-siteheader-search{display:block}}pn-marketweb-siteheader pn-spinner{display:none}pn-marketweb-siteheader pn-nav-dropdown:not(.hydrated) .nav-dropdown-content-container{display:none}.siteheader-topleft pn-site-selector{padding:1rem 0;display:none}@media screen and (min-width: 48em){.siteheader-topleft pn-site-selector{display:block}}@media screen and (min-width: 60em){.siteheader-topleft pn-site-selector{margin-left:1.3rem}}.siteheader-topright pn-language-selector{padding:1rem 0;display:none}@media screen and (min-width: 48em){.siteheader-topright pn-language-selector{display:block}}@media screen and (min-width: 60em){.siteheader-topright pn-language-selector{margin-right:1.6rem}}.siteheader-topright pn-marketweb-siteheader-login{display:none}@media screen and (min-width: 48em){.siteheader-topright pn-marketweb-siteheader-login{display:block}}.siteheader-topright pn-marketweb-siteheader-login .pn-nav-dropdown-label{font-size:0}.siteheader-topright pn-marketweb-siteheader-login .pn-nav-dropdown-label pn-icon{font-size:initial}@media screen and (min-width: 60em){.siteheader-topright pn-marketweb-siteheader-login .pn-nav-dropdown-label{font-size:initial}}.siteheader-menu{max-width:100%;width:100%;overflow:visible;overflow-x:clip}@media screen and (min-width: 60em){.siteheader-menu{margin-top:auto;overflow:visible}}.siteheader-menu pn-mainnav-link a[target]::after{content:none}.siteheader-menu pn-marketweb-siteheader-search{padding:0.3rem 1.6rem;width:100%}.siteheader-menu [slot=top] pn-search-field{width:100%}.siteheader-menu-footer{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.siteheader-menu-footer>*{margin:1.6rem}";
3151
3151
 
3152
3152
  let PnMarketwebSiteheader$1 = class extends HTMLElement {
3153
3153
  constructor() {
@@ -3224,8 +3224,8 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
3224
3224
  window.setTimeout(() => { this.checkMenuOverflow(); }, 50);
3225
3225
  }
3226
3226
  setTranslations() {
3227
- if (this.language && translations$2[this.language]) {
3228
- this.i18n = translations$2[this.language];
3227
+ if (this.language && translations$3[this.language]) {
3228
+ this.i18n = translations$3[this.language];
3229
3229
  }
3230
3230
  }
3231
3231
  onLanguageSelectorChange(e) {
@@ -3342,7 +3342,7 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
3342
3342
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
3343
3343
  return (h(Host, { language: this.language, market: this.market, environment: this.environment }, h("header", null, h("div", { class: "siteheader-row" }, h("div", { class: "siteheader-topleft" }, h("slot", { name: "topleft" }), !this.hideSiteSelector &&
3344
3344
  h("pn-site-selector", { language: this.language, buttontext: (_b = (_a = this.siteSelector) === null || _a === void 0 ? void 0 : _a.currentSiteTitle) !== null && _b !== void 0 ? _b : 'postnord' }, (this.gotData && ((_c = this.siteSelector) === null || _c === void 0 ? void 0 : _c.currentSiteTitle)) &&
3345
- h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle, description: this.siteSelector.currentSiteDescription }), (this.gotData && ((_d = this.siteSelector) === null || _d === void 0 ? void 0 : _d.siteSelections)) && this.siteSelector.siteSelections.map((site) => h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.href, newwindow: site.openInNewWindow })))), h("div", { class: "siteheader-logocontainer" }, h("a", { href: (_f = (_e = this.siteDefinition) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : document.location.hostname, title: "Home", class: "siteheader-logolink" }, h("svg", { class: "siteheader-logo", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 141.73 26.65" }, h("path", { d: "M108.84,13.35c0,6.34-5.17,9-10,9S89,19.76,89,13.63c0-6.28,5.08-9,10-9S108.84,7.25,108.84,13.35Zm-6.56.18a3.4,3.4,0,1,0-6.8,0,3.29,3.29,0,0,0,3.42,3.41A3.24,3.24,0,0,0,102.28,13.54Zm-83,0c0,4.83-3.32,8.82-8.49,8.82a6.54,6.54,0,0,1-4.65-1.57v5.86H0V5.16H6.17V6.8a6.43,6.43,0,0,1,5.11-2.18C16.41,4.62,19.31,8.58,19.31,13.54Zm-6.53,0A3.27,3.27,0,0,0,9.4,10,3.28,3.28,0,0,0,6,13.54,3.29,3.29,0,0,0,9.4,16.95,3.24,3.24,0,0,0,12.78,13.54Zm103.69,0.27c0-2.54,1.54-3.32,3.6-3.32a6.56,6.56,0,0,1,2.08.3L122.3,5.1a3.92,3.92,0,0,0-1.45-.18c-3.45,0-4.38,2.18-4.38,2.18V5.16H110.3V21.84h6.17v-8ZM141.73,0V21.84h-6.16V20.21a6.43,6.43,0,0,1-5.11,2.18c-5.14,0-8-4-8-8.91s3.32-8.82,8.49-8.82a6.54,6.54,0,0,1,4.65,1.57v-5Zm-6,13.48a3.28,3.28,0,0,0-3.41-3.41A3.24,3.24,0,0,0,129,13.47,3.4,3.4,0,1,0,135.75,13.47ZM81.35,4.62c-3.6,0-4.9,2.18-4.9,2.18V5.16H70.29V21.84h6.16V13.29c0-2.11.79-3.08,2.69-3.08s2.18,1.57,2.18,3.57v8.07h6.22V11.6C87.55,7,85.34,4.62,81.35,4.62ZM64.07,1.42H57.9V21.84h6.16V10.36H67l2.81-5.2H64.07V1.42ZM50.26,11.21c-2-.3-2.87-0.3-2.87-1.09s0.81-.94,2.42-0.94a16.15,16.15,0,0,1,5.11.91L56,5.41a24.56,24.56,0,0,0-6.13-.75c-5.89,0-9,2.27-9,5.89,0,2.81,1.66,4.47,6.53,5.11,2.06,0.27,2.81.39,2.81,1.15s-0.82,1-2.24,1a16.67,16.67,0,0,1-6-1.3L40.77,21.3a22.14,22.14,0,0,0,6.68,1c6.35,0,9.28-2.24,9.28-5.89C56.72,13.54,55.15,12,50.26,11.21ZM40.19,13.35c0,6.34-5.17,9-10,9s-9.82-2.6-9.82-8.73c0-6.28,5.08-9,10-9S40.19,7.25,40.19,13.35Zm-6.56.18a3.4,3.4,0,1,0-6.8,0,3.28,3.28,0,0,0,3.41,3.41A3.24,3.24,0,0,0,33.63,13.54Z", fill: "#00A0D6", transform: "translate(0 0)" })))), h("div", { class: "siteheader-topright" }, h("slot", { name: "toprightstart" }), (this.gotData && this.loginDialog && !this.hideLogin) && (h("pn-marketweb-siteheader-login", { loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n })), (this.gotData && ((_g = this.languageSelector) === null || _g === void 0 ? void 0 : _g.languages)) && !this.hideLanguageSelector &&
3345
+ h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle, description: this.siteSelector.currentSiteDescription }), (this.gotData && ((_d = this.siteSelector) === null || _d === void 0 ? void 0 : _d.siteSelections)) && this.siteSelector.siteSelections.map((site) => h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.href, newwindow: site.openInNewWindow })))), h("div", { class: "siteheader-logocontainer" }, h("a", { href: (_f = (_e = this.siteDefinition) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : document.location.hostname, title: "Home", class: "siteheader-logolink" }, h("svg", { class: "siteheader-logo", xmlns: "http://www.w3.org/2000/svg", width: "12.7rem", height: "2.4rem", viewBox: "0 0 141.73 26.65" }, h("path", { d: "M108.84,13.35c0,6.34-5.17,9-10,9S89,19.76,89,13.63c0-6.28,5.08-9,10-9S108.84,7.25,108.84,13.35Zm-6.56.18a3.4,3.4,0,1,0-6.8,0,3.29,3.29,0,0,0,3.42,3.41A3.24,3.24,0,0,0,102.28,13.54Zm-83,0c0,4.83-3.32,8.82-8.49,8.82a6.54,6.54,0,0,1-4.65-1.57v5.86H0V5.16H6.17V6.8a6.43,6.43,0,0,1,5.11-2.18C16.41,4.62,19.31,8.58,19.31,13.54Zm-6.53,0A3.27,3.27,0,0,0,9.4,10,3.28,3.28,0,0,0,6,13.54,3.29,3.29,0,0,0,9.4,16.95,3.24,3.24,0,0,0,12.78,13.54Zm103.69,0.27c0-2.54,1.54-3.32,3.6-3.32a6.56,6.56,0,0,1,2.08.3L122.3,5.1a3.92,3.92,0,0,0-1.45-.18c-3.45,0-4.38,2.18-4.38,2.18V5.16H110.3V21.84h6.17v-8ZM141.73,0V21.84h-6.16V20.21a6.43,6.43,0,0,1-5.11,2.18c-5.14,0-8-4-8-8.91s3.32-8.82,8.49-8.82a6.54,6.54,0,0,1,4.65,1.57v-5Zm-6,13.48a3.28,3.28,0,0,0-3.41-3.41A3.24,3.24,0,0,0,129,13.47,3.4,3.4,0,1,0,135.75,13.47ZM81.35,4.62c-3.6,0-4.9,2.18-4.9,2.18V5.16H70.29V21.84h6.16V13.29c0-2.11.79-3.08,2.69-3.08s2.18,1.57,2.18,3.57v8.07h6.22V11.6C87.55,7,85.34,4.62,81.35,4.62ZM64.07,1.42H57.9V21.84h6.16V10.36H67l2.81-5.2H64.07V1.42ZM50.26,11.21c-2-.3-2.87-0.3-2.87-1.09s0.81-.94,2.42-0.94a16.15,16.15,0,0,1,5.11.91L56,5.41a24.56,24.56,0,0,0-6.13-.75c-5.89,0-9,2.27-9,5.89,0,2.81,1.66,4.47,6.53,5.11,2.06,0.27,2.81.39,2.81,1.15s-0.82,1-2.24,1a16.67,16.67,0,0,1-6-1.3L40.77,21.3a22.14,22.14,0,0,0,6.68,1c6.35,0,9.28-2.24,9.28-5.89C56.72,13.54,55.15,12,50.26,11.21ZM40.19,13.35c0,6.34-5.17,9-10,9s-9.82-2.6-9.82-8.73c0-6.28,5.08-9,10-9S40.19,7.25,40.19,13.35Zm-6.56.18a3.4,3.4,0,1,0-6.8,0,3.28,3.28,0,0,0,3.41,3.41A3.24,3.24,0,0,0,33.63,13.54Z", fill: "#00A0D6", transform: "translate(0 0)" })))), h("div", { class: "siteheader-topright" }, h("slot", { name: "toprightstart" }), (this.gotData && this.loginDialog && !this.hideLogin) && (h("pn-marketweb-siteheader-login", { loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n })), (this.gotData && ((_g = this.languageSelector) === null || _g === void 0 ? void 0 : _g.languages)) && !this.hideLanguageSelector &&
3346
3346
  h("pn-language-selector", { value: this.language }, this.languageSelector.languages.map(language => h("pn-language-selector-option", { name: language.nativeName, code: language.twoLetterISOLanguageName, selected: language.isCurrent, url: this.getLanguageVersionUrl(language) }))), h("slot", { name: "toprightend" }))), h("div", { class: "siteheader-row" }, h("div", { class: "siteheader-menu" }, h("pn-mainnav", { market: this.market, language: this.language, onMenuOpenChange: (e) => {
3347
3347
  document.body.setAttribute("data-siteheader-menuopen", (e.detail + ''));
3348
3348
  } }, h("pn-mainnav-level", null, h("pn-mainnav-list", null, this.menuItems.map((item) => {
@@ -3367,7 +3367,7 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
3367
3367
  static get style() { return pnMarketwebSiteheaderCss; }
3368
3368
  };
3369
3369
 
3370
- class PNLoginManager {
3370
+ class MarketWebLoginManager {
3371
3371
  constructor(options = null) {
3372
3372
  var _a;
3373
3373
  this.eventTarget = (window !== null && window !== void 0 ? window : document === null || document === void 0 ? void 0 : document.body);
@@ -3575,7 +3575,7 @@ let PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
3575
3575
  this.toggleButtonText = "";
3576
3576
  }
3577
3577
  componentWillLoad() {
3578
- this.loginManager = new PNLoginManager({ endpoint: this.endpoint, eventTarget: this.hostElement });
3578
+ this.loginManager = new MarketWebLoginManager({ endpoint: this.endpoint, eventTarget: this.hostElement });
3579
3579
  this.hostElement["loginmanager"] = this.loginManager;
3580
3580
  this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
3581
3581
  this.init();
@@ -3671,7 +3671,7 @@ let PnMarketwebSiteheaderSearch$1 = class extends HTMLElement {
3671
3671
  static get style() { return pnMarketwebSiteheaderSearchCss; }
3672
3672
  };
3673
3673
 
3674
- const translations$1 = {
3674
+ const translations$2 = {
3675
3675
  'sv': {
3676
3676
  'maxweightlabel': 'Maxvikt',
3677
3677
  'weightlabel': 'Vikt',
@@ -3801,8 +3801,8 @@ let PnFindProductPricelist = class extends HTMLElement {
3801
3801
  if (this.market) {
3802
3802
  state$1.market = markets[this.market];
3803
3803
  }
3804
- if (this.language && translations$1[this.language]) {
3805
- state$1.i18n = translations$1[this.language];
3804
+ if (this.language && translations$2[this.language]) {
3805
+ state$1.i18n = translations$2[this.language];
3806
3806
  }
3807
3807
  }
3808
3808
  async getDataSource() {
@@ -3977,6 +3977,90 @@ let PnProductTilePrice$1 = class extends HTMLElement {
3977
3977
  static get style() { return pnProductTilePriceCss; }
3978
3978
  };
3979
3979
 
3980
+ const translations$1 = {
3981
+ 'sv': {
3982
+ 'loadingTextMessage': `Vi håller på och slutför inloggningen? Du blir snart omdirigerad.`,
3983
+ },
3984
+ 'en': {
3985
+ 'loadingTextMessage': `We're finalizing your login. You will soon be redirected.`,
3986
+ },
3987
+ 'da': {
3988
+ 'loadingTextMessage': `We're finalizing your login. You will soon be redirected.`,
3989
+ },
3990
+ 'no': {
3991
+ 'loadingTextMessage': `We're finalizing your login. You will soon be redirected.`,
3992
+ },
3993
+ 'fi': {
3994
+ 'loadingTextMessage': `We're finalizing your login. You will soon be redirected.`,
3995
+ }
3996
+ };
3997
+
3998
+ const pnProfileSelectorCss = "pn-profile-selector{margin:1em auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-width:20em}pn-profile-selector pn-spinner{margin:0 auto}.profileselector-logo svg{display:block;margin:0 auto 1em}";
3999
+
4000
+ let PnProfileSelector$1 = class extends HTMLElement {
4001
+ constructor() {
4002
+ super();
4003
+ this.__registerHost();
4004
+ this.language = null; //sv
4005
+ this.returnUrl = "/"; //sv
4006
+ this.endpoint = "/api/userprofile/sync"; // Endpoint where we send in the current user session
4007
+ this.loginManager = null;
4008
+ this.loggedIn = false;
4009
+ this.i18n = translations$1["en"];
4010
+ this.isLoading = true;
4011
+ this.numberOfProfiles = 1;
4012
+ }
4013
+ componentWillLoad() {
4014
+ this.loginManager = new MarketWebLoginManager({ eventTarget: this.hostElement });
4015
+ this.loginManager.init(true);
4016
+ this.hostElement["loginmanager"] = this.loginManager;
4017
+ this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
4018
+ this.setInitialValues().then(() => {
4019
+ this.init();
4020
+ });
4021
+ }
4022
+ async setInitialValues(href = window.location.href) {
4023
+ const marketWebContextService = new MarketWebContextService(href);
4024
+ if (!this.language) {
4025
+ const resolvedMarket = await marketWebContextService.getLanguage();
4026
+ this.language = resolvedMarket;
4027
+ }
4028
+ }
4029
+ setTranslations() {
4030
+ if (this.language && translations$1[this.language]) {
4031
+ this.i18n = translations$1[this.language];
4032
+ }
4033
+ }
4034
+ init() {
4035
+ this.setTranslations();
4036
+ }
4037
+ onLoginStateChange(e) {
4038
+ if (this.loggedIn !== e.detail) {
4039
+ this.loggedIn = e.detail;
4040
+ }
4041
+ }
4042
+ onLoggedIn() {
4043
+ if (this.loggedIn && this.numberOfProfiles === 1) {
4044
+ this.redirectUser();
4045
+ }
4046
+ }
4047
+ redirectUser() {
4048
+ if (this.returnUrl) {
4049
+ window.location.href = this.returnUrl;
4050
+ }
4051
+ }
4052
+ render() {
4053
+ return (h(Host, null, h("div", { class: "profileselector-logo" }, h("svg", { viewBox: "0 0 133 26", fill: "none", xmlns: "http://www.w3.org/2000/svg", width: "13.3rem", height: "2.6rem" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", fill: "#00A0D6", d: "M132.749 0.333618V20.9198H126.976V19.3809C126.976 19.3809 125.475 21.4316 122.191 21.4316C117.381 21.4316 114.662 17.7015 114.662 13.0327C114.662 8.47612 117.776 4.7187 122.617 4.7187C125.589 4.7187 126.976 6.19924 126.976 6.19924V1.47206L132.749 0.333618ZM54.2322 1.67091H60.0055V5.20216H65.3564L62.7235 10.0999H60.0055V20.9198H54.2322V1.67091ZM28.2484 21.4023C32.8051 21.4023 37.6446 18.8974 37.6446 12.9187C37.6446 7.16616 32.9746 4.69042 28.4461 4.69042C23.8042 4.69042 19.049 7.25192 19.049 13.175C19.049 18.9549 23.7199 21.4023 28.2484 21.4023ZM28.3327 9.78608C30.2294 9.78608 31.5032 11.1243 31.5032 13.0902C31.5032 14.9392 30.2575 16.3076 28.3327 16.3076C26.437 16.3076 25.1351 14.9392 25.1351 13.0902C25.1351 11.1243 26.4089 9.78608 28.3327 9.78608ZM47.0708 10.8963C46.8158 10.8574 46.5804 10.8239 46.3639 10.7931C44.9938 10.5979 44.3827 10.5108 44.3827 9.87279C44.3827 9.24608 45.146 8.9888 46.6465 8.9888C49.1941 8.9888 51.4298 9.84357 51.4298 9.84357L52.4488 5.43022C52.4488 5.43022 49.9865 4.71869 46.7027 4.71869C41.1841 4.71869 38.2965 6.85422 38.2965 10.2705C38.2965 12.9187 39.8532 14.485 44.4108 15.0825C46.3355 15.3388 47.0427 15.4519 47.0427 16.1644C47.0427 16.8486 46.2784 17.0757 44.9484 17.0757C42.0608 17.0757 39.3437 15.8515 39.3437 15.8515L38.1832 20.4081C38.1832 20.4081 40.9003 21.375 44.4389 21.375C50.3826 21.375 53.1279 19.2668 53.1279 15.8223C53.1279 13.0902 51.6555 11.6087 47.0708 10.8963ZM76.1968 4.69042C72.8287 4.69042 71.6111 6.74018 71.6111 6.74018V5.20216H65.8369V20.9198H71.6111V12.8612C71.6111 10.8689 72.3483 9.95666 74.1297 9.95666C75.913 9.95666 76.1687 11.4381 76.1687 13.3173V20.9198H81.9982V11.2666C81.9982 6.93903 79.9339 4.69042 76.1968 4.69042ZM123.948 9.8153C125.843 9.8153 127.144 11.1818 127.144 13.0327C127.144 14.9958 125.87 16.335 123.948 16.335C122.051 16.335 120.778 14.9958 120.778 13.0327C120.778 11.1818 122.024 9.8153 123.948 9.8153ZM112.456 10.213C110.53 10.213 109.088 10.9537 109.088 13.3456V20.9198H103.313V5.20216H109.088V7.02479C109.088 7.02479 109.965 4.97409 113.191 4.97409C114.181 4.97409 114.55 5.14467 114.55 5.14467L114.408 10.4976C114.408 10.4976 113.643 10.213 112.456 10.213ZM11.9728 13.0902C11.9728 11.1243 10.699 9.78608 8.80235 9.78608C6.87853 9.78608 5.6038 11.1243 5.6038 13.0902C5.6038 14.9392 6.9057 16.3076 8.80235 16.3076C10.728 16.3076 11.9728 14.9392 11.9728 13.0902ZM10.1333 21.4023C14.9728 21.4023 18.0871 17.6468 18.0871 13.0902C18.0871 8.41958 15.3699 4.69042 10.5576 4.69042C7.27472 4.69042 5.77426 6.74018 5.77426 6.74018V5.20216H0V25.4453H5.77426V19.9227C5.77426 19.9227 7.16139 21.4023 10.1333 21.4023ZM95.7984 13.0902C95.7984 11.1243 94.5246 9.78608 92.6279 9.78608C90.7032 9.78608 89.4284 11.1243 89.4284 13.0902C89.4284 14.9392 90.7322 16.3076 92.6279 16.3076C94.5536 16.3076 95.7984 14.9392 95.7984 13.0902ZM92.5427 21.4023C97.0994 21.4023 101.94 18.8974 101.94 12.9187C101.94 7.16616 97.2698 4.69042 92.7413 4.69042C88.0984 4.69042 83.3442 7.25192 83.3442 13.175C83.3442 18.9549 88.0142 21.4023 92.5427 21.4023Z" }))), this.isLoading ?
4054
+ (h("div", null, h("pn-spinner", { size: "4" }), h("div", { class: "profileselector-loadingmessage" }, this.i18n.loadingTextMessage)))
4055
+ : null));
4056
+ }
4057
+ get hostElement() { return this; }
4058
+ static get watchers() { return {
4059
+ "loggedIn": ["onLoggedIn"]
4060
+ }; }
4061
+ static get style() { return pnProfileSelectorCss; }
4062
+ };
4063
+
3980
4064
  const translations = {
3981
4065
  'sv': {
3982
4066
  "open": "Öppna",
@@ -4219,7 +4303,7 @@ const languageData = {
4219
4303
  }
4220
4304
  };
4221
4305
 
4222
- const pnSiteSelectorCss = "pn-site-selector{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center}@media screen and (min-width: 75em){pn-site-selector{display:block}}.siteselector-heading{display:block;padding:0;margin-bottom:1.6rem}@media screen and (min-width: 75em){.siteselector-heading{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-top:0.8rem}}.siteselector-list{list-style:none;margin:0;padding:0}";
4306
+ const pnSiteSelectorCss = "pn-site-selector{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;max-height:5.2rem}@media screen and (min-width: 75em){pn-site-selector{display:block}}.siteselector-heading{display:block;padding:0;margin-bottom:1.6rem}@media screen and (min-width: 75em){.siteselector-heading{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-top:0.8rem}}.siteselector-list{list-style:none;margin:0;padding:0}";
4223
4307
 
4224
4308
  let PnSiteSelector$1 = class extends HTMLElement {
4225
4309
  constructor() {
@@ -4289,6 +4373,7 @@ const PnProductPricelistResult = /*@__PURE__*/proxyCustomElement(PnFindProductPr
4289
4373
  const PnProductTile = /*@__PURE__*/proxyCustomElement(PnProductTile$1, [4,"pn-product-tile"]);
4290
4374
  const PnProductTileInfo = /*@__PURE__*/proxyCustomElement(PnProductTileInfo$1, [0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}]);
4291
4375
  const PnProductTilePrice = /*@__PURE__*/proxyCustomElement(PnProductTilePrice$1, [0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]);
4376
+ const PnProfileSelector = /*@__PURE__*/proxyCustomElement(PnProfileSelector$1, [0,"pn-profile-selector",{"language":[1537],"returnUrl":[1,"return-url"],"endpoint":[1],"loginManager":[32],"loggedIn":[32],"i18n":[32],"isLoading":[32],"numberOfProfiles":[32]}]);
4292
4377
  const PnSidenav = /*@__PURE__*/proxyCustomElement(PnSidenav$1, [4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]);
4293
4378
  const PnSidenavLevel = /*@__PURE__*/proxyCustomElement(PnSidenavLevel$1, [4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]);
4294
4379
  const PnSidenavLink = /*@__PURE__*/proxyCustomElement(PnSidenavLink$1, [4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]);
@@ -4319,6 +4404,7 @@ const defineCustomElements = (opts) => {
4319
4404
  PnProductTile,
4320
4405
  PnProductTileInfo,
4321
4406
  PnProductTilePrice,
4407
+ PnProfileSelector,
4322
4408
  PnSidenav,
4323
4409
  PnSidenavLevel,
4324
4410
  PnSidenavLink,
@@ -4334,4 +4420,4 @@ const defineCustomElements = (opts) => {
4334
4420
  }
4335
4421
  };
4336
4422
 
4337
- export { PnChoiceButton, PnFilterCheckbox, PnFilterSearch, PnFindServiceAndPrice, PnFindServiceAndPriceResult, PnLanguageSelector, PnLanguageSelectorOption, PnMainnav, PnMainnavLevel, PnMainnavLink, PnMainnavList, PnMarketwebSitefooter, PnMarketwebSiteheader, PnMarketwebSiteheaderLogin, PnMarketwebSiteheaderSearch, PnProductPricelist, PnProductPricelistResult, PnProductTile, PnProductTileInfo, PnProductTilePrice, PnSidenav, PnSidenavLevel, PnSidenavLink, PnSiteFooter, PnSiteFooterCol, PnSiteSelector, PnSiteSelectorItem, defineCustomElements };
4423
+ export { PnChoiceButton, PnFilterCheckbox, PnFilterSearch, PnFindServiceAndPrice, PnFindServiceAndPriceResult, PnLanguageSelector, PnLanguageSelectorOption, PnMainnav, PnMainnavLevel, PnMainnavLink, PnMainnavList, PnMarketwebSitefooter, PnMarketwebSiteheader, PnMarketwebSiteheaderLogin, PnMarketwebSiteheaderSearch, PnProductPricelist, PnProductPricelistResult, PnProductTile, PnProductTileInfo, PnProductTilePrice, PnProfileSelector, PnSidenav, PnSidenavLevel, PnSidenavLink, PnSiteFooter, PnSiteFooterCol, PnSiteSelector, PnSiteSelectorItem, defineCustomElements };
@@ -0,0 +1,192 @@
1
+ class MarketWebLoginManager {
2
+ constructor(options = null) {
3
+ var _a;
4
+ this.eventTarget = (window !== null && window !== void 0 ? window : document === null || document === void 0 ? void 0 : document.body);
5
+ this.endpoint = "";
6
+ this.storagePrefix = "pn-user";
7
+ this.baseUrls = {
8
+ at: 'https://atportal.postnord.com/api/unified-login/backend',
9
+ prod: 'https://portal.postnord.com/api/unified-login/backend',
10
+ };
11
+ this.events = {
12
+ loginstatechange: "loginstatechange"
13
+ };
14
+ this.endpoints = {
15
+ authorizationEndpoint: `/authorization`,
16
+ tokenExchangeEndpoint: `/token`,
17
+ userInfoEndpoint: `/user`,
18
+ logoutEndpoint: `/logout`,
19
+ };
20
+ this.keys = {
21
+ token: 'token',
22
+ user: 'user',
23
+ expire: 'expire',
24
+ expireDate: 'expiredate'
25
+ };
26
+ this.store = {
27
+ get: (key) => {
28
+ const value = window.sessionStorage.getItem(`${this.storagePrefix}-${key}`);
29
+ if (!value) {
30
+ return value;
31
+ }
32
+ if (value.indexOf('{') === 0) {
33
+ try {
34
+ return JSON.parse(value);
35
+ }
36
+ catch (e) {
37
+ }
38
+ }
39
+ if (value.indexOf(',') !== -1) {
40
+ return value.split(',');
41
+ }
42
+ return value;
43
+ },
44
+ set: (key, value) => {
45
+ if (typeof value === "object" && typeof value.length === "undefined") {
46
+ window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));
47
+ return;
48
+ }
49
+ window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, value);
50
+ },
51
+ remove: (key) => {
52
+ window.sessionStorage.removeItem(`${this.storagePrefix}-${key}`);
53
+ },
54
+ };
55
+ if (!options) {
56
+ return;
57
+ }
58
+ this.eventTarget = (options.eventTarget) ? options.eventTarget : this.eventTarget;
59
+ this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;
60
+ (_a = this.storagePrefix) !== null && _a !== void 0 ? _a : (this.storagePrefix = options.storagePrefix);
61
+ }
62
+ init(checkParameters = true) {
63
+ if (checkParameters) {
64
+ this.checkParameters();
65
+ this.checkExpireTime();
66
+ if (this.store.get(this.keys.token) && !this.store.get(this.keys.user)) {
67
+ this.fetchUserInfo();
68
+ }
69
+ this.loginStateChange();
70
+ }
71
+ }
72
+ isLoggedIn() {
73
+ const isLoggedIn = (this.store.get(this.keys.token) && this.store.get(this.keys.user)) ? true : false;
74
+ return isLoggedIn;
75
+ }
76
+ getLoginUrl(redirectPage = "") {
77
+ const currentPage = window.location.href;
78
+ redirectPage = redirectPage ? redirectPage : currentPage;
79
+ return `${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${redirectPage}`;
80
+ }
81
+ getLogoutUrl(redirectPage = "") {
82
+ const currentPage = window.location.href;
83
+ redirectPage = redirectPage ? redirectPage : currentPage;
84
+ return `${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?redirectionUrl=${redirectPage}&authorization=${this.store.get(this.keys.token)}`;
85
+ }
86
+ getUserInfo() {
87
+ if (this.isLoggedIn()) {
88
+ return this.store.get(this.keys.user);
89
+ }
90
+ }
91
+ getEventTarget() {
92
+ return this.eventTarget;
93
+ }
94
+ checkExpireTime() {
95
+ const expire = this.store.get(this.keys.expire);
96
+ if (!expire) {
97
+ return;
98
+ }
99
+ const now = new Date();
100
+ const expireDate = new Date(Math.floor(parseInt(expire, 10) * 1000));
101
+ if (now > expireDate) {
102
+ console.info('Login time has expired');
103
+ this.clearUserData();
104
+ this.loginStateChange();
105
+ }
106
+ }
107
+ checkParameters() {
108
+ if (!(window === null || window === void 0 ? void 0 : window.location)) {
109
+ return;
110
+ }
111
+ const params = new URLSearchParams(window.location.search);
112
+ if (params.get("oneTimeCode")) {
113
+ const oneTimeCode = params.get("oneTimeCode");
114
+ this.exchangeToken(oneTimeCode).then(() => {
115
+ const currentHref = window.location.href;
116
+ const paramPrefix = (currentHref.indexOf('?oneTimeCode') !== -1) ? "?" : "&";
117
+ history.replaceState({}, document.querySelector('title').innerText, currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, ''));
118
+ });
119
+ }
120
+ }
121
+ async fetchUserInfo() {
122
+ const token = this.store.get(this.keys.token);
123
+ const reqConfig = {
124
+ method: 'GET',
125
+ headers: {
126
+ 'Accept': 'application/json',
127
+ 'Content-Type': 'application/json',
128
+ 'Authorization': token
129
+ },
130
+ };
131
+ const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);
132
+ const data = await response.json();
133
+ if (data) {
134
+ try {
135
+ const { idToken, expiryTime } = data;
136
+ const userInfo = this.parseUserInfo(idToken);
137
+ this.store.set(this.keys.user, userInfo);
138
+ // 10 Min early expire
139
+ this.store.set(this.keys.expire, expiryTime);
140
+ this.store.set(this.keys.expireDate, new Date(Math.floor(parseInt(expiryTime, 10) * 1000)));
141
+ this.loginStateChange();
142
+ }
143
+ catch (e) {
144
+ console.error('Unable to get user information', e);
145
+ }
146
+ }
147
+ }
148
+ clearUserData() {
149
+ this.store.remove(this.keys.user);
150
+ this.store.remove(this.keys.token);
151
+ this.store.remove(this.keys.expire);
152
+ this.store.remove(this.keys.expireDate);
153
+ }
154
+ getToken() {
155
+ return this.store.get(this.keys.token);
156
+ }
157
+ async exchangeToken(oneTimeCode) {
158
+ this.clearUserData();
159
+ const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);
160
+ const { token } = await response.json();
161
+ if (typeof token === "string" && token) {
162
+ this.store.set(this.keys.token, token);
163
+ }
164
+ this.fetchUserInfo();
165
+ }
166
+ loginStateChange() {
167
+ if (!this.eventTarget) {
168
+ return;
169
+ }
170
+ this.eventTarget.dispatchEvent(new CustomEvent(this.events.loginstatechange, {
171
+ detail: this.isLoggedIn()
172
+ }));
173
+ }
174
+ getBaseUrl() {
175
+ const atEnvironments = ["localhost", "integration.", 'local.'];
176
+ const useATEnv = atEnvironments.filter(x => this.endpoint.indexOf(x) !== -1).length > 0;
177
+ if (useATEnv) {
178
+ return this.baseUrls.at;
179
+ }
180
+ return this.baseUrls.prod;
181
+ }
182
+ parseUserInfo(idToken) {
183
+ var base64Url = idToken.split('.')[1];
184
+ var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
185
+ var jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {
186
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
187
+ }).join(''));
188
+ return JSON.parse(jsonPayload);
189
+ }
190
+ }
191
+
192
+ export { MarketWebLoginManager as M };
package/esm/loader.js CHANGED
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["pn-marketweb-siteheader",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"sessionForward":[4,"session-forward"],"spaMode":[4,"spa-mode"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]]],["pn-find-service-and-price",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-checkbox",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["pn-product-tile_3",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]]], options);
13
+ return bootstrapLazy([["pn-marketweb-siteheader",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"sessionForward":[4,"session-forward"],"spaMode":[4,"spa-mode"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]]],["pn-find-service-and-price",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-checkbox",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-profile-selector",[[0,"pn-profile-selector",{"language":[1537],"returnUrl":[1,"return-url"],"endpoint":[1],"loginManager":[32],"loggedIn":[32],"i18n":[32],"isLoading":[32],"numberOfProfiles":[32]}]]],["pn-sidenav",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-tile_3",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]],["pn-product-pricelist-result",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]]], options);
14
14
  });
15
15
  };
16
16