@postnord/pn-marketweb-components 2.0.147 → 2.0.149

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 (92) hide show
  1. package/cjs/loader.cjs.js +1 -1
  2. package/cjs/pn-language-selector_9.cjs.entry.js +374 -18
  3. package/cjs/pn-line-shape.cjs.entry.js +1 -1
  4. package/cjs/pn-market-web-components.cjs.js +1 -1
  5. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +3 -2
  6. package/cjs/pn-marketweb-siteheader-login-links_2.cjs.entry.js +15 -15
  7. package/cjs/pn-marketweb-siteheader-store-5ced6902.js +10 -0
  8. package/cjs/pn-marketweb-siteheader.cjs.entry.js +11 -6
  9. package/cjs/pn-quote-card.cjs.entry.js +1 -1
  10. package/cjs/pn-teaser-card.cjs.entry.js +1 -1
  11. package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.css +4 -4
  12. package/collection/components/cards/pn-quote-card/pn-quote-card.css +64 -71
  13. package/collection/components/cards/pn-quote-card/pn-quote-card.stories.js +6 -6
  14. package/collection/components/cards/pn-teaser-card/pn-teaser-card.css +5 -0
  15. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.js +2 -23
  16. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.js +9 -30
  17. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js +6 -27
  18. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +36 -17
  19. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.js +1 -1
  20. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-store.js +7 -0
  21. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +29 -8
  22. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js +13 -1
  23. package/collection/globals/MarketWebLoginManager.js +77 -0
  24. package/custom-elements/index.js +732 -648
  25. package/esm/loader.js +1 -1
  26. package/esm/pn-language-selector_9.entry.js +374 -18
  27. package/esm/pn-line-shape.entry.js +1 -1
  28. package/esm/pn-market-web-components.js +1 -1
  29. package/esm/pn-marketweb-siteheader-login-linklist.entry.js +3 -2
  30. package/esm/pn-marketweb-siteheader-login-links_2.entry.js +15 -15
  31. package/esm/pn-marketweb-siteheader-store-9df5290d.js +8 -0
  32. package/esm/pn-marketweb-siteheader.entry.js +11 -6
  33. package/esm/pn-quote-card.entry.js +1 -1
  34. package/esm/pn-teaser-card.entry.js +1 -1
  35. package/esm-es5/loader.js +1 -1
  36. package/esm-es5/pn-language-selector_9.entry.js +1 -1
  37. package/esm-es5/pn-line-shape.entry.js +1 -1
  38. package/esm-es5/pn-market-web-components.js +1 -1
  39. package/esm-es5/pn-marketweb-siteheader-login-linklist.entry.js +1 -1
  40. package/esm-es5/pn-marketweb-siteheader-login-links_2.entry.js +1 -1
  41. package/esm-es5/pn-marketweb-siteheader-store-9df5290d.js +1 -0
  42. package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
  43. package/esm-es5/pn-quote-card.entry.js +1 -1
  44. package/esm-es5/pn-teaser-card.entry.js +1 -1
  45. package/package.json +1 -1
  46. package/pn-market-web-components/p-19db5c15.entry.js +1 -0
  47. package/pn-market-web-components/p-36ebd0f4.entry.js +1 -0
  48. package/pn-market-web-components/{p-c229035c.entry.js → p-3e3298fe.entry.js} +1 -1
  49. package/pn-market-web-components/p-4b85fd2b.system.entry.js +1 -0
  50. package/pn-market-web-components/p-5bdcc423.system.entry.js +1 -0
  51. package/pn-market-web-components/p-61a28efa.system.entry.js +1 -0
  52. package/pn-market-web-components/p-66b4a71f.system.entry.js +1 -0
  53. package/pn-market-web-components/p-8301eb4e.entry.js +1 -0
  54. package/pn-market-web-components/p-8f0a682f.entry.js +1 -0
  55. package/pn-market-web-components/p-939b5792.system.entry.js +1 -0
  56. package/pn-market-web-components/p-ad308a5e.entry.js +1 -0
  57. package/pn-market-web-components/p-ad836c55.system.js +1 -0
  58. package/pn-market-web-components/p-be1e1c64.system.entry.js +1 -0
  59. package/pn-market-web-components/p-c0db1ffd.js +1 -0
  60. package/pn-market-web-components/p-c668f453.entry.js +1 -0
  61. package/pn-market-web-components/p-d295ef71.system.js +1 -1
  62. package/pn-market-web-components/p-eb8e21c2.system.entry.js +1 -0
  63. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  64. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.d.ts +0 -2
  65. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.d.ts +0 -2
  66. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.d.ts +1 -2
  67. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.d.ts +2 -2
  68. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-store.d.ts +7 -0
  69. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.d.ts +3 -3
  70. package/types/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.d.ts +1 -1
  71. package/types/components.d.ts +16 -7
  72. package/types/globals/MarketWebLoginManager.d.ts +8 -0
  73. package/umd/pn-marketweb-init.js +1 -1
  74. package/umd/pn-marketweb-salesforce.js +2 -2
  75. package/cjs/MarketWebLoginManager-2e2c83c4.js +0 -281
  76. package/esm/MarketWebLoginManager-9499bd89.js +0 -279
  77. package/esm-es5/MarketWebLoginManager-9499bd89.js +0 -1
  78. package/pn-market-web-components/p-09d66012.system.entry.js +0 -1
  79. package/pn-market-web-components/p-0e7900e0.system.entry.js +0 -1
  80. package/pn-market-web-components/p-16afb058.system.entry.js +0 -1
  81. package/pn-market-web-components/p-1ae6cc5f.system.entry.js +0 -1
  82. package/pn-market-web-components/p-22a60cb6.system.entry.js +0 -1
  83. package/pn-market-web-components/p-34fefe22.entry.js +0 -1
  84. package/pn-market-web-components/p-4293e33c.js +0 -1
  85. package/pn-market-web-components/p-4305724d.entry.js +0 -1
  86. package/pn-market-web-components/p-7cb63135.entry.js +0 -1
  87. package/pn-market-web-components/p-8acb60c5.entry.js +0 -1
  88. package/pn-market-web-components/p-a61101e6.entry.js +0 -1
  89. package/pn-market-web-components/p-ab5fdc81.system.entry.js +0 -1
  90. package/pn-market-web-components/p-ced9727b.system.js +0 -1
  91. package/pn-market-web-components/p-d9dec5b8.entry.js +0 -1
  92. package/pn-market-web-components/p-f9725e57.system.entry.js +0 -1
@@ -24656,7 +24656,7 @@ const createStore = (defaultState, shouldUpdate) => {
24656
24656
  };
24657
24657
 
24658
24658
  // Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
24659
- const { state: state$6, onChange: onChange$6 } = createStore({
24659
+ const { state: state$7, onChange: onChange$7 } = createStore({
24660
24660
  i18n: {
24661
24661
  componentheading: '',
24662
24662
  deliveryscopeheading: '',
@@ -24728,10 +24728,10 @@ const PnfindPrice = class extends HTMLElement {
24728
24728
  }
24729
24729
  setState() {
24730
24730
  if (this.market) {
24731
- state$6.market = markets$2[this.market];
24731
+ state$7.market = markets$2[this.market];
24732
24732
  }
24733
24733
  if (this.language && translations$a[this.language]) {
24734
- state$6.i18n = translations$a[this.language];
24734
+ state$7.i18n = translations$a[this.language];
24735
24735
  }
24736
24736
  }
24737
24737
  filterItems() {
@@ -24741,7 +24741,7 @@ const PnfindPrice = class extends HTMLElement {
24741
24741
  return;
24742
24742
  }
24743
24743
  //to handle withing country search
24744
- const deliveryScopeData = this.sourceData.data.filter((x) => x.deliveryscope.toLocaleLowerCase() === state$6.market.country.toLocaleLowerCase());
24744
+ const deliveryScopeData = this.sourceData.data.filter((x) => x.deliveryscope.toLocaleLowerCase() === state$7.market.country.toLocaleLowerCase());
24745
24745
  if (!this.sizecategory) {
24746
24746
  return;
24747
24747
  }
@@ -24781,14 +24781,14 @@ const PnfindPrice = class extends HTMLElement {
24781
24781
  this.filteredItems = weightFilteredData;
24782
24782
  }
24783
24783
  render() {
24784
- return (h("div", { class: "findprice-form" }, h("div", null, h("h4", { class: "heading" }, state$6.i18n.sizeheading), h("div", { class: "sizecategory" }, h("table", { class: "sizeTable" }, h("img", { id: "clouds", src: cloudsSvg }), h("tr", null, h("td", null, h("img", { class: "firstCell", src: postnordPerson1Svg })), h("td", null, h("img", { src: smallPackageSvg })), h("td", null, h("img", { src: mediumPackageSvg })), h("td", null, h("img", { src: largePackageSvg }))), h("tr", null, h("td", null), sizeCategories.map((sizeCategory) => (h("td", null, h("pn-radio-button", { id: 'findpricecategory-' + sizeCategory.value, radioid: sizeCategory.value, value: sizeCategory.value, name: "sizecategory", checked: sizeCategory.value === this.sizecategory.value, onChange: () => {
24784
+ return (h("div", { class: "findprice-form" }, h("div", null, h("h4", { class: "heading" }, state$7.i18n.sizeheading), h("div", { class: "sizecategory" }, h("table", { class: "sizeTable" }, h("img", { id: "clouds", src: cloudsSvg }), h("tr", null, h("td", null, h("img", { class: "firstCell", src: postnordPerson1Svg })), h("td", null, h("img", { src: smallPackageSvg })), h("td", null, h("img", { src: mediumPackageSvg })), h("td", null, h("img", { src: largePackageSvg }))), h("tr", null, h("td", null), sizeCategories.map((sizeCategory) => (h("td", null, h("pn-radio-button", { id: 'findpricecategory-' + sizeCategory.value, radioid: sizeCategory.value, value: sizeCategory.value, name: "sizecategory", checked: sizeCategory.value === this.sizecategory.value, onChange: () => {
24785
24785
  this.sizecategory = sizeCategories.filter(x => x.value === sizeCategory.value)[0];
24786
24786
  this.weight = { value: 0, name: "" };
24787
24787
  this.weightvalue = this.weight.value;
24788
- } })))))))), h("h4", { class: "heading" }, state$6.i18n.weightheading), (this.sizecategory.value && weights$2[this.sizecategory.unit]) ? (h("div", { class: "weightoption" }, h("div", { class: "weightoption-content" }, weights$2[this.sizecategory.unit].map((wght) => (h("pn-choice-button", { id: 'findpriceweight-' + wght.value, choiceid: this.sizecategory.value + wght.value, name: "weight", type: "radio", value: (!this.weight.value) ? 0 : weights$2[this.sizecategory.unit].findIndex((x) => x.value === this.weightvalue), checked: wght.value === this.weight.value, onChange: () => {
24788
+ } })))))))), h("h4", { class: "heading" }, state$7.i18n.weightheading), (this.sizecategory.value && weights$2[this.sizecategory.unit]) ? (h("div", { class: "weightoption" }, h("div", { class: "weightoption-content" }, weights$2[this.sizecategory.unit].map((wght) => (h("pn-choice-button", { id: 'findpriceweight-' + wght.value, choiceid: this.sizecategory.value + wght.value, name: "weight", type: "radio", value: (!this.weight.value) ? 0 : weights$2[this.sizecategory.unit].findIndex((x) => x.value === this.weightvalue), checked: wght.value === this.weight.value, onChange: () => {
24789
24789
  this.weight = weights$2[this.sizecategory.unit].filter(x => x.value === wght.value)[0];
24790
24790
  this.weightvalue = this.weight.value;
24791
- } }, wght.name)))))) : null, (this.filteredItems && this.filteredItems.length > 0) ? (h("div", { class: "resultlist" }, (state$6.i18n.resultlistheading) ? (h("div", { class: "resultHeading" }, state$6.i18n.resultlistheading)) : null, this.filteredItems.map((item) => (h("div", null, h("pn-find-price-result", { item: item })))))) : null));
24791
+ } }, wght.name)))))) : null, (this.filteredItems && this.filteredItems.length > 0) ? (h("div", { class: "resultlist" }, (state$7.i18n.resultlistheading) ? (h("div", { class: "resultHeading" }, state$7.i18n.resultlistheading)) : null, this.filteredItems.map((item) => (h("div", null, h("pn-find-price-result", { item: item })))))) : null));
24792
24792
  }
24793
24793
  static get watchers() { return {
24794
24794
  "market": ["setState"],
@@ -24834,8 +24834,8 @@ const PnfindPriceResult = class extends HTMLElement {
24834
24834
  this.showMeasurement = (this.item.maxmått !== null) || (this.item.rulle !== null);
24835
24835
  this.linkId = `${this.item.id}-${this.item.maxweight}-${this.item.sizecategory}-${this.item.name.toLocaleLowerCase().replace(/[^a-zA-Z0-9]/g, '')}`;
24836
24836
  var showServicepointLink = (this.item.ombudpurchase === "Yes");
24837
- this.shopLabel = showServicepointLink ? state$6.i18n.ombudHeader : state$6.i18n.stampshopcta;
24838
- this.shopUrl = showServicepointLink ? state$6.market.servicePoint : stampShopUrl$1;
24837
+ this.shopLabel = showServicepointLink ? state$7.i18n.ombudHeader : state$7.i18n.stampshopcta;
24838
+ this.shopUrl = showServicepointLink ? state$7.market.servicePoint : stampShopUrl$1;
24839
24839
  this.shopId = showServicepointLink ? '-servicepoint' : '-stampshop';
24840
24840
  }
24841
24841
  render() {
@@ -24846,10 +24846,10 @@ const PnfindPriceResult = class extends HTMLElement {
24846
24846
  : (this.item.highestrankusp === "Billigast") ?
24847
24847
  (h("pn-titletag", { slot: "Billigast", icon: "box-label", color: "green700" }, this.item.highestrankusp))
24848
24848
  : null), h("div", { slot: "content" }, h("div", { class: "content" }, (this.item.description) ? (h("div", { class: "description" }, this.description.map((desc) => (h("li", null, desc))))) : null, (this.item.info) ? (h("div", { class: "description" }, this.item.info)) : null)), this.item.note ? (h("div", { slot: "note" }, h("p", null, this.item.note))) : null, this.item.additionalusp ? (h("div", { slot: "additionalUSP" }, this.Usp1 ? (h("span", null, this.Usp1)) : null, this.Usp2 ? (h("span", null, this.Usp2)) : null, this.Usp3 ? (h("span", null, this.Usp3)) : null)) : null, this.showMeasurement ?
24849
- (h("pn-product-card-info", { paket: this.item.maxmått, rulle: this.item.rulle })) : null, h("div", { slot: "cardprice" }, this.item.pricesenddirect ? (h("pn-product-card-price", { slot: "sendDirectPrice", label: state$6.i18n.senddirectcta, amount: this.item.pricesenddirect + '', currency: state$6.market.currency, url: sendDirectUrl$1, linkid: this.linkId + '-portal' })) : null, this.item.pricestamps ? ((this.item.name.toLocaleLowerCase() !== "riktiga vykort") ?
24850
- (h("pn-product-card-price", { slot: "stampPrice", label: this.shopLabel, amount: this.item.pricestamps + '', currency: state$6.market.currency, url: this.shopUrl, linkid: this.linkId + this.shopId })) :
24851
- (h("pn-product-card-price", { slot: "riktiga", label: state$6.i18n.riktigaVykort, amount: this.item.pricestamps + '', currency: state$6.market.currency, url: RiktigaValues["WebUrl"], linkid: this.linkId + '-riktiga' }))) : null), h("div", { slot: "servicepoint" }, (this.item.showservicepointlink) ? (h("a", { href: state$6.market.servicePoint, target: "_blank" }, h("pn-icon", { symbol: "map-marker", color: "blue700" }), state$6.i18n.servicePointLink)) : null), h("div", { slot: "mobiledownload" }, (this.item.name.toLocaleLowerCase() === "riktiga vykort") ?
24852
- (h("div", { id: "riktiga" }, h("h4", null, state$6.i18n.riktigaVykortMobile), h("div", null, h("a", { href: RiktigaValues["AndroidAppUrl"], target: "_blank" }, h("img", { class: "riktigaAndroidImg", src: RiktigaValues["AndroidImg"] })), h("a", { href: RiktigaValues["IosAppUrl"], target: "_blank" }, h("img", { class: "riktigaAppleImg", src: RiktigaValues["IosImg"] }))))) : null))));
24849
+ (h("pn-product-card-info", { paket: this.item.maxmått, rulle: this.item.rulle })) : null, h("div", { slot: "cardprice" }, this.item.pricesenddirect ? (h("pn-product-card-price", { slot: "sendDirectPrice", label: state$7.i18n.senddirectcta, amount: this.item.pricesenddirect + '', currency: state$7.market.currency, url: sendDirectUrl$1, linkid: this.linkId + '-portal' })) : null, this.item.pricestamps ? ((this.item.name.toLocaleLowerCase() !== "riktiga vykort") ?
24850
+ (h("pn-product-card-price", { slot: "stampPrice", label: this.shopLabel, amount: this.item.pricestamps + '', currency: state$7.market.currency, url: this.shopUrl, linkid: this.linkId + this.shopId })) :
24851
+ (h("pn-product-card-price", { slot: "riktiga", label: state$7.i18n.riktigaVykort, amount: this.item.pricestamps + '', currency: state$7.market.currency, url: RiktigaValues["WebUrl"], linkid: this.linkId + '-riktiga' }))) : null), h("div", { slot: "servicepoint" }, (this.item.showservicepointlink) ? (h("a", { href: state$7.market.servicePoint, target: "_blank" }, h("pn-icon", { symbol: "map-marker", color: "blue700" }), state$7.i18n.servicePointLink)) : null), h("div", { slot: "mobiledownload" }, (this.item.name.toLocaleLowerCase() === "riktiga vykort") ?
24852
+ (h("div", { id: "riktiga" }, h("h4", null, state$7.i18n.riktigaVykortMobile), h("div", null, h("a", { href: RiktigaValues["AndroidAppUrl"], target: "_blank" }, h("img", { class: "riktigaAndroidImg", src: RiktigaValues["AndroidImg"] })), h("a", { href: RiktigaValues["IosAppUrl"], target: "_blank" }, h("img", { class: "riktigaAppleImg", src: RiktigaValues["IosImg"] }))))) : null))));
24853
24853
  }
24854
24854
  static get watchers() { return {
24855
24855
  "item": ["composeItems"]
@@ -24980,7 +24980,7 @@ const weights$1 = {
24980
24980
  };
24981
24981
 
24982
24982
  // Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
24983
- const { state: state$5, onChange: onChange$5 } = createStore({
24983
+ const { state: state$6, onChange: onChange$6 } = createStore({
24984
24984
  i18n: {
24985
24985
  componentheading: '',
24986
24986
  deliveryscopeheading: '',
@@ -25038,10 +25038,10 @@ const PnfindServiceAndPrice = class extends HTMLElement {
25038
25038
  }
25039
25039
  setState() {
25040
25040
  if (this.market) {
25041
- state$5.market = markets$1[this.market];
25041
+ state$6.market = markets$1[this.market];
25042
25042
  }
25043
25043
  if (this.language && translations$9[this.language]) {
25044
- state$5.i18n = translations$9[this.language];
25044
+ state$6.i18n = translations$9[this.language];
25045
25045
  }
25046
25046
  }
25047
25047
  filterItems() {
@@ -25079,18 +25079,18 @@ const PnfindServiceAndPrice = class extends HTMLElement {
25079
25079
  this.filteredItems = weightFilteredData;
25080
25080
  }
25081
25081
  render() {
25082
- return (h("div", null, h("div", { class: "findprice-form" }, (state$5.i18n.componentheading) ? (h("h2", null, state$5.i18n.componentheading)) : null, h("div", { class: "postagetypes" }, postagetypes.map((postagetype) => (h("pn-choice-button", { choiceid: postagetype.value, value: postagetype.value, name: "postagetype", type: "radio", checked: postagetype.value === this.postagetype.value, onChange: () => {
25082
+ return (h("div", null, h("div", { class: "findprice-form" }, (state$6.i18n.componentheading) ? (h("h2", null, state$6.i18n.componentheading)) : null, h("div", { class: "postagetypes" }, postagetypes.map((postagetype) => (h("pn-choice-button", { choiceid: postagetype.value, value: postagetype.value, name: "postagetype", type: "radio", checked: postagetype.value === this.postagetype.value, onChange: () => {
25083
25083
  this.postagetype = postagetypes.filter(x => x.value === postagetype.value)[0];
25084
25084
  this.deliveryscope = { value: "", name: "", icon: "" };
25085
25085
  this.weight = { value: 0, name: "" };
25086
25086
  this.weightvalue = this.weight.value;
25087
- } }, h("pn-illustration", { illustration: postagetype.illustration }), " ", postagetype.name)))), this.postagetype.value && deliveryscopes[this.postagetype.value] ? (h("div", null, (state$5.i18n.deliveryscopeheading) ? (h("div", { class: "heading" }, state$5.i18n.deliveryscopeheading)) : null, h("div", { class: "deliveryscope" }, deliveryscopes[this.postagetype.value].map((deliveryscope) => (h("pn-choice-button", { choiceid: this.postagetype.value + deliveryscope.value, value: deliveryscope.value, name: "deliveryscope", type: "radio", checked: deliveryscope.value === this.deliveryscope.value, onChange: () => {
25087
+ } }, h("pn-illustration", { illustration: postagetype.illustration }), " ", postagetype.name)))), this.postagetype.value && deliveryscopes[this.postagetype.value] ? (h("div", null, (state$6.i18n.deliveryscopeheading) ? (h("div", { class: "heading" }, state$6.i18n.deliveryscopeheading)) : null, h("div", { class: "deliveryscope" }, deliveryscopes[this.postagetype.value].map((deliveryscope) => (h("pn-choice-button", { choiceid: this.postagetype.value + deliveryscope.value, value: deliveryscope.value, name: "deliveryscope", type: "radio", checked: deliveryscope.value === this.deliveryscope.value, onChange: () => {
25088
25088
  this.deliveryscope = deliveryscopes[this.postagetype.value].filter(x => x.value === deliveryscope.value)[0];
25089
25089
  if (this.weight.value === 0) {
25090
25090
  this.weight = weights$1[this.postagetype.value][0];
25091
25091
  this.weightvalue = this.weight.value;
25092
25092
  }
25093
- } }, h("pn-illustration", { illustration: deliveryscope.illustration }), " ", deliveryscope.name)))))) : null, (this.postagetype.value && weights$1[this.postagetype.value] && this.deliveryscope.value) ? (h("div", null, (state$5.i18n.sizeheading) ? (h("div", { class: "heading" }, state$5.i18n.sizeheading)) : null, h("div", { class: "weightoption" }, h("div", { class: "weightoption-input" }, h("pn-input", { inputid: "weightvalue", name: "weightvalue", type: "number", label: state$5.i18n.weightlabel, value: this.weightvalue, onChange: (e) => {
25093
+ } }, h("pn-illustration", { illustration: deliveryscope.illustration }), " ", deliveryscope.name)))))) : null, (this.postagetype.value && weights$1[this.postagetype.value] && this.deliveryscope.value) ? (h("div", null, (state$6.i18n.sizeheading) ? (h("div", { class: "heading" }, state$6.i18n.sizeheading)) : null, h("div", { class: "weightoption" }, h("div", { class: "weightoption-input" }, h("pn-input", { inputid: "weightvalue", name: "weightvalue", type: "number", label: state$6.i18n.weightlabel, value: this.weightvalue, onChange: (e) => {
25094
25094
  if (e && e.target && e.target.value) {
25095
25095
  const weightNum = parseInt(e.target.value, 10);
25096
25096
  if (!isNaN(weightNum)) {
@@ -25116,7 +25116,7 @@ const PnfindServiceAndPrice = class extends HTMLElement {
25116
25116
  labelText = (weightindex % 5 === 0 || weightindex === 0 || weightindex === weights$1[this.postagetype.value].length - 1) ? weight.name : '';
25117
25117
  }
25118
25118
  return (h("option", Object.assign({ value: weightindex }, (labelText ? { label: labelText } : {}))));
25119
- })))))) : null), (this.filteredItems && this.filteredItems.length > 0) ? (h("div", { class: "resultlist" }, (state$5.i18n.resultlistheading) ? (h("div", { class: "heading" }, state$5.i18n.resultlistheading)) : null, this.filteredItems.map((item) => (h("div", null, h("pn-find-service-and-price-result", { item: item })))))) : null));
25119
+ })))))) : null), (this.filteredItems && this.filteredItems.length > 0) ? (h("div", { class: "resultlist" }, (state$6.i18n.resultlistheading) ? (h("div", { class: "heading" }, state$6.i18n.resultlistheading)) : null, this.filteredItems.map((item) => (h("div", null, h("pn-find-service-and-price-result", { item: item })))))) : null));
25120
25120
  }
25121
25121
  static get watchers() { return {
25122
25122
  "market": ["setState"],
@@ -25158,7 +25158,7 @@ const PnfindServiceAndPriceResult = class extends HTMLElement {
25158
25158
  // (this.item.what === "letter" && this.item.maxweight > 999) ? Math.round(this.item.maxweight/1000) + " kg" : this.item.maxweight + " g";
25159
25159
  }
25160
25160
  render() {
25161
- return (h(Host, null, this.shownitems.map((item) => (h("pn-product-card", null, h("pn-illustration", { slot: "illustration", illustration: item.illustration }), h("div", { slot: "content" }, h("div", { class: "content" }, h("h3", null, item.name), (item.description) ? (h("div", { class: "description" }, item.description)) : null, (item.info) ? (h("div", { class: "description" }, item.info)) : null)), item.maxweight ? (h("pn-product-tile-info", { label: state$5.i18n.maxweightlabel, text: this.weightText })) : null, item.pricestamps ? (h("pn-product-tile-price", { slot: "price", label: state$5.i18n.stampshopcta, amount: item.pricestamps + '', currency: state$5.market.currency })) : null, item.pricesenddirect ? (h("pn-product-tile-price", { slot: "price", label: state$5.i18n.senddirectcta, amount: item.pricesenddirect + '', currency: state$5.market.currency, url: "https://portal.postnord.com/skickadirekt/" })) : null, item.note ? (h("small", { slot: "note" }, h("p", null, item.note))) : null)))));
25161
+ return (h(Host, null, this.shownitems.map((item) => (h("pn-product-card", null, h("pn-illustration", { slot: "illustration", illustration: item.illustration }), h("div", { slot: "content" }, h("div", { class: "content" }, h("h3", null, item.name), (item.description) ? (h("div", { class: "description" }, item.description)) : null, (item.info) ? (h("div", { class: "description" }, item.info)) : null)), item.maxweight ? (h("pn-product-tile-info", { label: state$6.i18n.maxweightlabel, text: this.weightText })) : null, item.pricestamps ? (h("pn-product-tile-price", { slot: "price", label: state$6.i18n.stampshopcta, amount: item.pricestamps + '', currency: state$6.market.currency })) : null, item.pricesenddirect ? (h("pn-product-tile-price", { slot: "price", label: state$6.i18n.senddirectcta, amount: item.pricesenddirect + '', currency: state$6.market.currency, url: "https://portal.postnord.com/skickadirekt/" })) : null, item.note ? (h("small", { slot: "note" }, h("p", null, item.note))) : null)))));
25162
25162
  }
25163
25163
  static get watchers() { return {
25164
25164
  "item": ["composeItems"]
@@ -25305,7 +25305,7 @@ const PnlanguageSelectorOption = class extends HTMLElement {
25305
25305
  static get style() { return pnLanguageSelectorOptionCss; }
25306
25306
  };
25307
25307
 
25308
- const pnLineShapeCss = "pn-line-shape .pn-line-shape__container{display:-ms-flexbox;display:flex}pn-line-shape .pn-line-shape__line{border-style:solid;border-width:0.4rem;border-radius:1.6rem;border-color:#00A0D6}pn-line-shape .pn-line-shape__dot{width:0.8rem;border-style:solid;border-width:0.4rem;border-radius:1.6rem;height:0.8rem;border-color:#00A0D6}pn-line-shape[data-orientation=horizontal] .pn-line-shape__container{-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:100%;gap:0.8rem;padding:2.4rem 0}pn-line-shape[data-orientation=horizontal] .pn-line-shape__line{height:0.8rem;width:100%}pn-line-shape[data-orientation=vertical] .pn-line-shape__container{height:100%;-ms-flex-direction:column;flex-direction:column;gap:0.8rem;padding:0.8rem 0.5rem}pn-line-shape[data-orientation=vertical] .pn-line-shape__line{height:100%;width:0.8rem}";
25308
+ const pnLineShapeCss = "pn-line-shape .pn-line-shape__container{display:-ms-flexbox;display:flex}pn-line-shape .pn-line-shape__line{border-style:solid;border-width:0.4rem;border-radius:1.6rem;border-color:#00A0D6}pn-line-shape .pn-line-shape__dot{width:0.8rem;border-style:solid;border-width:0.4rem;border-radius:1.6rem;height:0.8rem;border-color:#00A0D6}pn-line-shape[slot=horizontal-line] .pn-line-shape__container{-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:100%;gap:0.8rem;padding:2.4rem 0}pn-line-shape[slot=horizontal-line] .pn-line-shape__line{height:0.8rem;width:100%}pn-line-shape[slot=vertical-line] .pn-line-shape__container{height:100%;-ms-flex-direction:column;flex-direction:column;gap:0.8rem;padding:0.8rem 0.5rem}pn-line-shape[slot=vertical-line] .pn-line-shape__line{height:100%;width:0.8rem}";
25309
25309
 
25310
25310
  const PnLineShape$1 = class extends HTMLElement {
25311
25311
  constructor() {
@@ -25359,7 +25359,7 @@ const translations$7 = {
25359
25359
  };
25360
25360
 
25361
25361
  // Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
25362
- const { state: state$4, onChange: onChange$4 } = createStore({
25362
+ const { state: state$5, onChange: onChange$5 } = createStore({
25363
25363
  openLevel: '',
25364
25364
  currentLevel: 1,
25365
25365
  openMenu: false,
@@ -25399,7 +25399,7 @@ const PnMainnav$1 = class extends HTMLElement {
25399
25399
  _onClickOutside(event) {
25400
25400
  const clickedOutside = !this.hostElement.contains(event.target);
25401
25401
  if (clickedOutside) {
25402
- state$4.openLevel = "";
25402
+ state$5.openLevel = "";
25403
25403
  }
25404
25404
  }
25405
25405
  setLanguage() {
@@ -25410,21 +25410,21 @@ const PnMainnav$1 = class extends HTMLElement {
25410
25410
  }
25411
25411
  onLanguageChange(event) {
25412
25412
  if (translations$7[event.detail]) {
25413
- state$4.i18n = translations$7[event.detail];
25413
+ state$5.i18n = translations$7[event.detail];
25414
25414
  if (!this.navLabel) {
25415
- this.navLabel = state$4.i18n.navLabel;
25415
+ this.navLabel = state$5.i18n.navLabel;
25416
25416
  }
25417
25417
  }
25418
25418
  }
25419
25419
  setMenuOpenState() {
25420
- state$4.openMenu = (!state$4.openMenu);
25421
- this.menuOpenChange.emit(state$4.openMenu);
25420
+ state$5.openMenu = (!state$5.openMenu);
25421
+ this.menuOpenChange.emit(state$5.openMenu);
25422
25422
  }
25423
25423
  onOpenMenuLevelChange(event) {
25424
- state$4.openLevel = event.detail;
25424
+ state$5.openLevel = event.detail;
25425
25425
  }
25426
25426
  render() {
25427
- return (h(Host, null, h("div", { class: "mainnav-toggle" }, h("button", { "aria-controls": this.navigationId, "aria-expanded": state$4.openMenu + '', onClick: this.setMenuOpenState.bind(this) }, state$4.i18n.mainMenuButton, h("pn-icon", { symbol: state$4.openMenu ? "close" : "bars", color: "white" }))), h("nav", { class: "mainnav", "aria-label": this.navLabel, "data-menu-open": state$4.openMenu + '', "data-menu-currentlevel": state$4.currentLevel, id: this.navigationId }, h("slot", null))));
25427
+ return (h(Host, null, h("div", { class: "mainnav-toggle" }, h("button", { "aria-controls": this.navigationId, "aria-expanded": state$5.openMenu + '', onClick: this.setMenuOpenState.bind(this) }, state$5.i18n.mainMenuButton, h("pn-icon", { symbol: state$5.openMenu ? "close" : "bars", color: "white" }))), h("nav", { class: "mainnav", "aria-label": this.navLabel, "data-menu-open": state$5.openMenu + '', "data-menu-currentlevel": state$5.currentLevel, id: this.navigationId }, h("slot", null))));
25428
25428
  }
25429
25429
  get hostElement() { return this; }
25430
25430
  static get style() { return pnMainnavCss; }
@@ -25448,7 +25448,7 @@ const PnMainnavLevel$1 = class extends HTMLElement {
25448
25448
  }
25449
25449
  async componentWillLoad() {
25450
25450
  this.setState();
25451
- onChange$4("openLevel", () => {
25451
+ onChange$5("openLevel", () => {
25452
25452
  this.onChangeOpenLevel();
25453
25453
  });
25454
25454
  }
@@ -25496,14 +25496,14 @@ const PnMainnavLevel$1 = class extends HTMLElement {
25496
25496
  }
25497
25497
  }
25498
25498
  onChangeOpenLevel() {
25499
- this.isOpen = state$4.openLevel === this.levelId;
25500
- state$4.currentLevel = this.level;
25499
+ this.isOpen = state$5.openLevel === this.levelId;
25500
+ state$5.currentLevel = this.level;
25501
25501
  }
25502
25502
  render() {
25503
- return (h(Host, Object.assign({ role: "navigation" }, ((this.level > 1 && this.levelId) ? { 'aria-hidden': (!this.isOpen) + '' } : {}), { "data-level-listcount": this.listCount + '', "data-level-alignment": this.alignment, "data-level": this.level + '' }, (this.levelId ? { id: this.levelId } : {})), (this.level > 1) ? (h("div", { class: "mainnav-level-header" }, h("label", { htmlFor: this.levelId }, state$4.i18n.menuGoBackButton), h("button", { class: "secondlevel-backbtn", onClick: () => {
25504
- state$4.openLevel = '';
25505
- state$4.currentLevel = 1;
25506
- }, "aria-expanded": (state$4.openLevel === this.levelId) + '' }, h("pn-icon", { symbol: "arrow-left", color: "blue700" }), state$4.i18n.menuStartButton), (this.parentHref && this.label) ? h("pn-mainnav-link", { href: this.parentHref, name: this.label, linkid: this.parentLinkId }) : null)) : null, h("slot", { name: "top" }), h("slot", null), h("slot", { name: "additional" }), h("slot", { name: "footer" })));
25503
+ return (h(Host, Object.assign({ role: "navigation" }, ((this.level > 1 && this.levelId) ? { 'aria-hidden': (!this.isOpen) + '' } : {}), { "data-level-listcount": this.listCount + '', "data-level-alignment": this.alignment, "data-level": this.level + '' }, (this.levelId ? { id: this.levelId } : {})), (this.level > 1) ? (h("div", { class: "mainnav-level-header" }, h("label", { htmlFor: this.levelId }, state$5.i18n.menuGoBackButton), h("button", { class: "secondlevel-backbtn", onClick: () => {
25504
+ state$5.openLevel = '';
25505
+ state$5.currentLevel = 1;
25506
+ }, "aria-expanded": (state$5.openLevel === this.levelId) + '' }, h("pn-icon", { symbol: "arrow-left", color: "blue700" }), state$5.i18n.menuStartButton), (this.parentHref && this.label) ? h("pn-mainnav-link", { href: this.parentHref, name: this.label, linkid: this.parentLinkId }) : null)) : null, h("slot", { name: "top" }), h("slot", null), h("slot", { name: "additional" }), h("slot", { name: "footer" })));
25507
25507
  }
25508
25508
  get hostElement() { return this; }
25509
25509
  static get watchers() { return {
@@ -25535,10 +25535,10 @@ const PnMainnavLink$1 = class extends HTMLElement {
25535
25535
  }
25536
25536
  }
25537
25537
  setOpenMenuLevel() {
25538
- state$4.openLevel = (state$4.openLevel + "" === this.levelId + "") ? '' : this.levelId;
25538
+ state$5.openLevel = (state$5.openLevel + "" === this.levelId + "") ? '' : this.levelId;
25539
25539
  }
25540
25540
  render() {
25541
- return (h(Host, { role: "listitem", name: this.name, href: this.href, linkid: this.linkid }, this.hasChildren ? (h("button", { onClick: this.setOpenMenuLevel.bind(this), "aria-controls": this.levelId, "aria-pressed": "", "aria-expanded": ((state$4.openLevel + "" === this.levelId + "")) + '' }, this.name, h("pn-icon", { class: "first-level_icon", symbol: "angle-small-down", color: "blue700" }), h("pn-icon", { class: "first-level_arrow", symbol: "arrow-right", color: "blue700" }))) : (h("a", Object.assign({ href: this.href }, (this.target ? { target: this.target } : {}), (this.target === "_blank" ? { rel: "nofollow noopener" } : {}), (this.linkid ? { id: this.linkid } : {})), this.name, this.target === "_blank" ? (h("pn-icon", { symbol: "open-in-new", color: "blue700" })) : null)), h("slot", null)));
25541
+ return (h(Host, { role: "listitem", name: this.name, href: this.href, linkid: this.linkid }, this.hasChildren ? (h("button", { onClick: this.setOpenMenuLevel.bind(this), "aria-controls": this.levelId, "aria-pressed": "", "aria-expanded": ((state$5.openLevel + "" === this.levelId + "")) + '' }, this.name, h("pn-icon", { class: "first-level_icon", symbol: "angle-small-down", color: "blue700" }), h("pn-icon", { class: "first-level_arrow", symbol: "arrow-right", color: "blue700" }))) : (h("a", Object.assign({ href: this.href }, (this.target ? { target: this.target } : {}), (this.target === "_blank" ? { rel: "nofollow noopener" } : {}), (this.linkid ? { id: this.linkid } : {})), this.name, this.target === "_blank" ? (h("pn-icon", { symbol: "open-in-new", color: "blue700" })) : null)), h("slot", null)));
25542
25542
  }
25543
25543
  get hostElement() { return this; }
25544
25544
  static get style() { return pnMainnavLinkCss; }
@@ -26325,662 +26325,748 @@ const PnMarketwebSiteheader$2 = class extends HTMLElement {
26325
26325
  static get style() { return pnMarketwebSitefooterCss; }
26326
26326
  };
26327
26327
 
26328
- class MarketWebLoginManager {
26329
- constructor(options = null) {
26330
- var _a;
26331
- this.eventTarget = (window !== null && window !== void 0 ? window : document === null || document === void 0 ? void 0 : document.body);
26332
- this.endpoint = "";
26333
- this.storagePrefix = "pn-user";
26334
- this.baseUrls = {
26335
- at: 'https://atportal.postnord.com/api/unified-login/backend',
26336
- prod: 'https://portal.postnord.com/api/unified-login/backend',
26337
- };
26338
- this.events = {
26339
- loginstatechange: "loginstatechange"
26340
- };
26341
- this.endpoints = {
26342
- authorizationEndpoint: `/authorization`,
26343
- tokenExchangeEndpoint: `/token`,
26344
- userInfoEndpoint: `/user`,
26345
- logoutEndpoint: `/logout`,
26346
- };
26347
- this.keys = {
26348
- tokensource: 'tokensource',
26349
- token: 'token',
26350
- accessToken: 'accessToken',
26351
- user: 'user',
26352
- expire: 'expire',
26353
- expireDate: 'expiredate'
26354
- };
26355
- this.overridetokenValue = 'overridetokenValue';
26356
- this.siteUrl = window.location.origin;
26357
- this.store = {
26358
- get: (key) => {
26359
- const value = window.sessionStorage.getItem(`${this.storagePrefix}-${key}`);
26360
- if (!value) {
26361
- return value;
26362
- }
26363
- if (value.indexOf('{') === 0) {
26364
- try {
26365
- return JSON.parse(value);
26366
- }
26367
- catch (e) {
26368
- }
26369
- }
26370
- if (value.indexOf(',') !== -1) {
26371
- return value.split(',');
26372
- }
26373
- return value;
26374
- },
26375
- set: (key, value) => {
26376
- if (typeof value === "object" && typeof value.length === "undefined") {
26377
- window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));
26378
- return;
26379
- }
26380
- window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, value);
26381
- },
26382
- remove: (key) => {
26383
- window.sessionStorage.removeItem(`${this.storagePrefix}-${key}`);
26384
- },
26328
+ // Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
26329
+ const { state: state$4, onChange: onChange$4 } = createStore({
26330
+ loginManager: null
26331
+ });
26332
+
26333
+ const translations$5 = {
26334
+ 'sv': {
26335
+ "searchlabel": "Sök",
26336
+ "searchplaceholder": "Vad letar du efter?",
26337
+ "searchbuttontext": "Sök",
26338
+ "menuHomeButton": "Hem",
26339
+ "menuGoBackButton": "Gå tillbaka",
26340
+ "mainMenuButton": "Meny",
26341
+ "menuStartButton": "Start",
26342
+ "profileSelectionFlyoutHeading": "Inloggad som",
26343
+ },
26344
+ 'en': {
26345
+ "searchlabel": "Search",
26346
+ "searchplaceholder": "Search",
26347
+ "searchbuttontext": "Search",
26348
+ "menuHomeButton": "Home",
26349
+ "menuGoBackButton": "Go back",
26350
+ "mainMenuButton": "Menu",
26351
+ "menuStartButton": "Start",
26352
+ "profileSelectionFlyoutHeading": "Logged in as",
26353
+ },
26354
+ 'da': {
26355
+ "searchlabel": "Søg",
26356
+ "searchplaceholder": "Søg",
26357
+ "searchbuttontext": "Søg",
26358
+ "menuHomeButton": "Hjem",
26359
+ "menuGoBackButton": "Gå tilbage",
26360
+ "mainMenuButton": "Menu",
26361
+ "menuStartButton": "Start",
26362
+ "profileSelectionFlyoutHeading": "Logget ind som",
26363
+ },
26364
+ 'no': {
26365
+ "searchlabel": "Søk",
26366
+ "searchplaceholder": "Søk",
26367
+ "searchbuttontext": "Søk",
26368
+ "menuHomeButton": "Hjem",
26369
+ "menuGoBackButton": "Gå tilbake",
26370
+ "mainMenuButton": "Meny",
26371
+ "menuStartButton": "Start",
26372
+ "profileSelectionFlyoutHeading": "Logget på som",
26373
+ },
26374
+ 'fi': {
26375
+ "searchlabel": "Hae",
26376
+ "searchplaceholder": "Hae",
26377
+ "searchbuttontext": "Hae",
26378
+ "menuHomeButton": "Koti",
26379
+ "menuGoBackButton": "Mene takaisin",
26380
+ "mainMenuButton": "Valikko",
26381
+ "menuStartButton": "Alkaa",
26382
+ "profileSelectionFlyoutHeading": "Kirjautunut sisään nimellä",
26383
+ },
26384
+ 'de': {
26385
+ "searchlabel": "Suche",
26386
+ "searchplaceholder": "Wonach suchen Sie?",
26387
+ "searchbuttontext": "Suche",
26388
+ "menuHomeButton": "Start",
26389
+ "menuGoBackButton": "Geh zurück",
26390
+ "mainMenuButton": "Menü",
26391
+ "menuStartButton": "Start",
26392
+ "profileSelectionFlyoutHeading": "Eingeloggt als",
26393
+ }
26394
+ };
26395
+
26396
+ 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;background:#FFFFFF;z-index:1}@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;max-width:30rem;min-width:23.3rem;width:100%}}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-topleft pn-site-selector .pn-nav-dropdown-label,.siteheader-topleft pn-site-selector:is(a){font-size:0}.siteheader-topleft pn-site-selector .pn-nav-dropdown-label pn-icon,.siteheader-topleft pn-site-selector:is(a) pn-icon{font-size:initial;margin-left:0}@media screen and (min-width: 60em){.siteheader-topleft pn-site-selector .pn-nav-dropdown-label,.siteheader-topleft pn-site-selector:is(a){font-size:initial}.siteheader-topleft pn-site-selector .pn-nav-dropdown-label pn-icon,.siteheader-topleft pn-site-selector:is(a) pn-icon{margin-left:0.4em}}@media screen and (min-width: 60em){.siteheader-topright{margin-right:1.6rem}}.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{padding:1rem 0;display:none;-ms-flex-item-align:center;align-self:center}@media screen and (min-width: 48em){.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{display:block;margin-left:1rem}}@media screen and (min-width: 60em){.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{margin-left:1.6rem}}.siteheader-topright>pn-language-selector .pn-nav-dropdown-label,.siteheader-topright>pn-language-selector:is(a),.siteheader-topright>pn-marketweb-siteheader-login .pn-nav-dropdown-label,.siteheader-topright>pn-marketweb-siteheader-login:is(a),.siteheader-topright>a .pn-nav-dropdown-label,.siteheader-topright>a:is(a){font-size:0}.siteheader-topright>pn-language-selector .pn-nav-dropdown-label pn-icon,.siteheader-topright>pn-language-selector:is(a) pn-icon,.siteheader-topright>pn-marketweb-siteheader-login .pn-nav-dropdown-label pn-icon,.siteheader-topright>pn-marketweb-siteheader-login:is(a) pn-icon,.siteheader-topright>a .pn-nav-dropdown-label pn-icon,.siteheader-topright>a:is(a) pn-icon{font-size:initial;margin-left:0}@media screen and (min-width: 60em){.siteheader-topright>pn-language-selector .pn-nav-dropdown-label,.siteheader-topright>pn-language-selector:is(a),.siteheader-topright>pn-marketweb-siteheader-login .pn-nav-dropdown-label,.siteheader-topright>pn-marketweb-siteheader-login:is(a),.siteheader-topright>a .pn-nav-dropdown-label,.siteheader-topright>a:is(a){font-size:initial}.siteheader-topright>pn-language-selector .pn-nav-dropdown-label pn-icon,.siteheader-topright>pn-language-selector:is(a) pn-icon,.siteheader-topright>pn-marketweb-siteheader-login .pn-nav-dropdown-label pn-icon,.siteheader-topright>pn-marketweb-siteheader-login:is(a) pn-icon,.siteheader-topright>a .pn-nav-dropdown-label pn-icon,.siteheader-topright>a:is(a) pn-icon{margin-left:0.4em}}.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}header[data-header-theme=dotcom]>pn-marketweb-siteheader pn-button a{text-decoration:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader pn-button a:hover{text-decoration:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header{background-color:#0D234B;-webkit-box-shadow:none;box-shadow:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-row:not(:last-child){border-bottom:0.1rem solid #0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-nav-dropdown-label:hover{background-color:#005D92}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-nav-dropdown-label:active{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-nav-dropdown-label:focus{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-logocontainer{background-color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-logocontainer svg.siteheader-logo>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright .siteheader-logindialog svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright pn-language-selector pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:hover{background-color:#005D92}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:active{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:focus{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright [slot=toprightend]{-ms-flex-item-align:center;align-self:center;margin-left:1rem}@media screen and (max-width: 48em){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright [slot=toprightend]{display:none}}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu .mainnav-toggle button{background-color:#005D92}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu .first-level_icon svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input{background-color:#FFFFFF;color:#0D234B;border:0.1rem solid #FFFFFF;padding:0.65rem 1.5rem}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:hover{border-color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-webkit-input-placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-moz-placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:-ms-input-placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-ms-input-placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav{background-color:#0D234B}@media screen and (min-width: 48em){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav{top:6.4em}}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav a{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search{padding-bottom:0.5rem;background-color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search .button-container{border-top:1px solid #FFFFFF;border-bottom:1px solid #FFFFFF;border-right:1px solid #FFFFFF;border-top-right-radius:50%;border-bottom-right-radius:50%}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search .button-container button.clear{border:2px solid #FFFFFF;border-radius:50%;padding:0.5rem}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level .mainnav-level-header .secondlevel-backbtn pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-level[data-level=\"2\"] .mainnav-level-header pn-mainnav-link>a:hover{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a{background-color:#0D234B;border-bottom:0.1rem solid rgba(0, 93, 146, 0.5)}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button:hover,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a:hover{text-decoration:none}@media screen and (min-width: 1024px){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a{border-bottom:none}}@media screen and (max-width: 1023px){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link:first-child{border-top:0.1rem solid rgba(0, 93, 146, 0.5)}}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link a,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link button{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link a:focus,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link button:focus{outline:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]){background-color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]) pn-mainnav-list{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]) pn-mainnav-list pn-mainnav-link>a:hover{background-color:#00A0D6;text-decoration:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:hover{background-color:#005D92}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:active{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:focus{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button svg>path{fill:#FFFFFF}@media screen and (min-width: 48em){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}}.siteheader-menu-top-search{display:none}header[data-header-theme=tpl]>pn-marketweb-siteheader pn-button a{text-decoration:none}header[data-header-theme=tpl]>pn-marketweb-siteheader pn-button a:hover{text-decoration:none}@media screen and (max-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button]{display:none}}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a{color:#0D234B;font-weight:500;font-size:1.6rem;padding:0.8rem 2.4rem}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a .pn-button-bg{background-color:#FBC2C1}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a .pn-button-content pn-icon svg>path{fill:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover .pn-button-bg{background-color:#0D234B;-webkit-transition:backgrond-color linear 1s;transition:backgrond-color linear 1s}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover .pn-button-content pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:not(:last-child){background-color:#0D234B;border-bottom:0.1rem solid #0D234B}@media screen and (max-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:last-child{background-color:#0D234B}}@media screen and (min-width: 60em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link>button::before,header[data-header-theme=tpl]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link>a::before{background-color:#FBC2C1}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{background:#0D234B;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media screen and (min-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{display:none}}@media screen and (max-width: 415px){header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{display:none}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a{color:#0D234B;font-weight:500}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a .pn-button-bg{background-color:#FBC2C1}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a .pn-button-content pn-icon svg>path{fill:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover .pn-button-bg{background-color:#0D234B;-webkit-transition:backgrond-color linear 1s;transition:backgrond-color linear 1s}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover .pn-button-content pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header a{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header pn-mainnav-link button{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header pn-mainnav-link button pn-icon svg path{fill:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label:hover{background:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-nav-dropdown-label:hover{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-nav-dropdown-label:active{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-nav-dropdown-label:focus{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-logocontainer{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-logocontainer svg.siteheader-logo>path{fill:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright{margin-right:0;-ms-flex-item-align:center;align-self:center;margin-left:1rem}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright .siteheader-logindialog svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright pn-language-selector pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:hover{background-color:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:active,header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:focus{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search{display:inline-block;margin-top:auto;margin-bottom:auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media screen and (max-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search{display:none}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search pn-search-field{-ms-flex-pack:end;justify-content:flex-end;min-width:inherit}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form{margin-right:0}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container{position:absolute;width:100%}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input{cursor:pointer;background-color:transparent;color:transparent;border:none;position:relative;z-index:3;border-radius:0}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::-webkit-input-placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::-moz-placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input:-ms-input-placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::-ms-input-placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .input-container:focus-within{margin-left:2rem}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .input-container:focus-within input{background-color:#FFFFFF;color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .siteheader-search pn-button button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:1rem 1.9rem}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .siteheader-search pn-button button .pn-button-bg{background:#0D234B}@media screen and (min-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:last-child pn-marketweb-siteheader-search{display:none}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input{background-color:#FFFFFF;color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:hover{border-color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-webkit-input-placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-moz-placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:-ms-input-placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-ms-input-placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}@media screen and (max-width: 415px){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:block;color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-bg{background-color:#FBC2C1}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-content{font-weight:500;color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-content pn-icon svg>path{fill:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover .pn-button-bg{background-color:#0D234B;-webkit-transition:backgrond-color linear 1s;transition:backgrond-color linear 1s}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover .pn-button-content pn-icon svg>path{fill:#FFFFFF}}@media screen and (max-width: 1024px){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-nav-dropdown button:focus,header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-nav-dropdown button:hover{color:#FFFFFF;background-color:#00A0D6;-webkit-box-shadow:0 0 0 0.2rem #fff, 0 0 0 0.4rem #00A0D6;box-shadow:0 0 0 0.2rem #fff, 0 0 0 0.4rem #00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-nav-dropdown button:focus svg>path,header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-nav-dropdown button:hover svg>path{fill:#FFFFFF}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:hover{background-color:#005D92}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:active{background-color:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:focus{background-color:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button svg>path{fill:#FFFFFF}@media screen and (max-width: 1024px){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button pn-icon svg>path{fill:#0D234B}}@media screen and (min-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}}";
26397
+
26398
+ const PnMarketwebSiteheader$1 = class extends HTMLElement {
26399
+ constructor() {
26400
+ super();
26401
+ this.__registerHost();
26402
+ this.changeLanguage = createEvent(this, "changeLanguage", 7);
26403
+ this.changeMarket = createEvent(this, "changeMarket", 7);
26404
+ this.endpointPath = '/api/navigation/header';
26405
+ // FetchHelper
26406
+ this.fetchHelper = new FetchHelper('siteheader');
26407
+ this.market = null;
26408
+ this.language = null;
26409
+ this.siteid = null;
26410
+ this.environment = null;
26411
+ this.userToken = '';
26412
+ this.userFullname = '';
26413
+ this.userLoggedin = false;
26414
+ this.endpoint = null;
26415
+ this.hideSiteSelector = false;
26416
+ this.hideHomeMenuItem = false;
26417
+ this.hideLanguageSelector = false;
26418
+ this.hideSearch = false;
26419
+ this.hideLogin = false;
26420
+ this.showProfileSelection = false;
26421
+ this.siteDomainInUrls = false;
26422
+ this.AutocompleteEndpoint = '';
26423
+ this.sessionForward = false;
26424
+ this.cache = false;
26425
+ this.searchPlaceholder = '';
26426
+ this.spaMode = false;
26427
+ this.checkUserLoggedInStateInterval = 0;
26428
+ this.i18n = {
26429
+ searchlabel: '',
26430
+ searchplaceholder: '',
26431
+ searchbuttontext: '',
26432
+ menuHomeButton: '',
26433
+ menuGoBackButton: '',
26434
+ mainMenuButton: '',
26435
+ menuStartButton: '',
26436
+ profileSelectionFlyoutHeading: '',
26385
26437
  };
26386
- if (!options) {
26387
- return;
26438
+ this.gotData = false;
26439
+ this.fetchingData = false;
26440
+ this.homePageLink = '/';
26441
+ this.menuItems = [];
26442
+ this.siteDefinition = undefined;
26443
+ this.search = { AutocompleteEndpoint: this.AutocompleteEndpoint };
26444
+ this.siteSelector = null;
26445
+ this.languageSelector = null;
26446
+ this.languageOptions = [];
26447
+ this.loginDialog = null;
26448
+ this.minimizeSearch = false;
26449
+ this.loggedIn = false;
26450
+ }
26451
+ componentWillLoad() {
26452
+ this.setInitialValues().then(() => {
26453
+ this.init();
26454
+ });
26455
+ }
26456
+ async setInitialValues(href = window.location.href) {
26457
+ var _a;
26458
+ const marketWebContextService = new MarketWebContextService(href);
26459
+ if (!this.market) {
26460
+ const resolvedMarket = await marketWebContextService.getMarket();
26461
+ this.market = resolvedMarket;
26388
26462
  }
26389
- this.eventTarget = (options.eventTarget) ? options.eventTarget : this.eventTarget;
26390
- this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;
26391
- (_a = this.storagePrefix) !== null && _a !== void 0 ? _a : (this.storagePrefix = options.storagePrefix);
26392
- if (options.userInfo) {
26393
- this.store.set(this.keys.user, options.userInfo);
26394
- this.registerToken(this.overridetokenValue, 'override');
26463
+ if (!this.language) {
26464
+ const resolvedMarket = await marketWebContextService.getLanguage();
26465
+ this.language = resolvedMarket;
26395
26466
  }
26396
- }
26397
- init(checkParameters = true) {
26398
- if (checkParameters) {
26399
- this.checkParameters();
26400
- this.checkPNTopbar();
26401
- this.checkExpireTime();
26402
- if (this.store.get(this.keys.token) && !this.store.get(this.keys.user)) {
26403
- this.fetchUserInfo();
26404
- }
26405
- this.loginStateChange();
26467
+ if (!this.environment) {
26468
+ this.environment = await marketWebContextService.getEnvironmentName();
26406
26469
  }
26407
- }
26408
- setSiteUrl(siteUrl) {
26409
- if (siteUrl) {
26410
- this.siteUrl = siteUrl;
26470
+ if (!this.endpoint && ((_a = this.environment) === null || _a === void 0 ? void 0 : _a.indexOf('local')) === -1) {
26471
+ this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);
26472
+ }
26473
+ if (!this.endpoint) {
26474
+ this.endpoint = '';
26411
26475
  }
26412
26476
  }
26413
- isLoggedIn(override = false) {
26414
- if (override) {
26415
- return override;
26477
+ async init() {
26478
+ this.setTranslations();
26479
+ await this.fetchData();
26480
+ window.setTimeout(() => {
26481
+ this.checkMenuOverflow();
26482
+ }, 50);
26483
+ }
26484
+ setTranslations() {
26485
+ if (this.language && translations$5[this.language]) {
26486
+ this.i18n = translations$5[this.language];
26416
26487
  }
26417
- let isLoggedIn = (this.store.get(this.keys.token) && this.store.get(this.keys.user)) ? true : false;
26418
- if (!isLoggedIn && this.store.get(this.keys.token) === this.overridetokenValue) {
26419
- isLoggedIn = true;
26488
+ if (this.searchPlaceholder) {
26489
+ this.i18n.searchplaceholder = this.searchPlaceholder;
26420
26490
  }
26421
- return isLoggedIn;
26422
26491
  }
26423
- registerToken(token = '', tokenSource = 'frontend') {
26424
- if (!token || token === this.getToken()) {
26425
- return;
26426
- }
26427
- this.clearUserData();
26428
- this.store.set(this.keys.tokensource, tokenSource);
26429
- this.store.set(this.keys.token, token);
26430
- this.fetchUserInfo();
26492
+ onLanguageSelectorChange(e) {
26493
+ this.language = e.detail;
26494
+ window.dispatchEvent(new CustomEvent('marketweb-languagechange', { detail: this.language }));
26431
26495
  }
26432
- invalidateTokenOfType(tokenSource = 'frontend') {
26433
- const currentToken = this.store.get(this.keys.token);
26434
- if (!currentToken) {
26435
- return;
26436
- }
26437
- const currentTokenSource = this.store.get(this.keys.tokensource);
26438
- if (currentTokenSource !== tokenSource) {
26496
+ onLanguageChange() {
26497
+ this.setTranslations();
26498
+ this.changeLanguage.emit(this.language);
26499
+ this.fetchData();
26500
+ }
26501
+ onMarketChange() {
26502
+ this.changeMarket.emit(this.market);
26503
+ this.fetchData();
26504
+ }
26505
+ async fetchData() {
26506
+ if (this.endpoint === null || !this.market || !this.language) {
26507
+ // console.warn(`One or more values where not specified.\nEndpoint: ${this.endpoint}\nMarket: ${this.market}\nLanguage: ${this.language}`)
26439
26508
  return;
26440
26509
  }
26441
- // If we have a token and the source is set then we will invalidate the user data
26442
- this.clearUserData();
26443
- }
26444
- getLoginUrl(redirectPage = "") {
26445
- const currentPage = window.location.href;
26446
- redirectPage = redirectPage ? redirectPage : currentPage;
26447
- return `${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${redirectPage}`;
26510
+ this.fetchingData = true;
26511
+ const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;
26512
+ const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}`;
26513
+ const data = (await this.fetchHelper.fetchJson(fetchUrl, {
26514
+ mode: 'cors',
26515
+ }, this.cache));
26516
+ await this.setStateFromData(data);
26448
26517
  }
26449
- getLogoutUrl(linkHref = "") {
26450
- if (linkHref.indexOf('logout?logoutUrl') !== -1) {
26451
- // Link has already been formatted.
26452
- return linkHref;
26518
+ getLanguageVersionUrl(item) {
26519
+ if (this.spaMode) {
26520
+ return null;
26453
26521
  }
26454
- let redirectPage = linkHref.replace('logout', '').replace('http://window.location.href/?', window.location.href).replace('https://window.location.href/?', window.location.href);
26455
- let rootUrl = this.siteUrl;
26456
- try {
26457
- const url = new URL(this.siteUrl + '');
26458
- rootUrl = url.origin;
26522
+ const alternativeTag = document.querySelector(`link[rel="alternate"][hreflang="${item.twoLetterISOLanguageName}"]`);
26523
+ if (alternativeTag) {
26524
+ return alternativeTag.getAttribute('href');
26459
26525
  }
26460
- catch (e) { }
26461
- const addSlash = (rootUrl.lastIndexOf('/') !== (rootUrl.length - 1));
26462
- const siteUrl = rootUrl + (addSlash ? '/' : '') + 'logout';
26463
- const secondLogoutUrl = `${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?authorization=${this.store.get(this.keys.token)}%26redirectionUrl=${redirectPage}`;
26464
- const logoutUrl = `${siteUrl}?logoutUrl=${secondLogoutUrl}`;
26465
- return logoutUrl;
26526
+ const siteUrl = this.siteDefinition.url;
26527
+ // Add trailing slash to domain if it's missing
26528
+ return siteUrl + (siteUrl.lastIndexOf('/') !== siteUrl.length - 1 ? '/' : '') + item.twoLetterISOLanguageName;
26466
26529
  }
26467
- getUserInfo() {
26468
- if (this.isLoggedIn()) {
26469
- return this.store.get(this.keys.user);
26530
+ async setStateFromData(data) {
26531
+ var _a, _b, _c;
26532
+ if (typeof data !== 'object') {
26533
+ console.warn('Data was not valid', data);
26470
26534
  }
26471
- }
26472
- getEventTarget() {
26473
- return this.eventTarget;
26474
- }
26475
- checkExpireTime() {
26476
- const expire = this.store.get(this.keys.expire);
26477
- if (!expire) {
26478
- return;
26535
+ // Set site definition
26536
+ this.siteDefinition = data.sitedefinition;
26537
+ if (state$4.loginManager) {
26538
+ state$4.loginManager.setSiteUrl(this.siteDefinition.url);
26479
26539
  }
26480
- const now = new Date();
26481
- const expireDate = new Date(Math.floor(parseInt(expire, 10) * 1000));
26482
- if (now > expireDate) {
26483
- console.info('Login time has expired');
26484
- this.clearUserData();
26485
- this.loginStateChange();
26540
+ let updatedMenuItems = [];
26541
+ // Set navigation information
26542
+ if (this.siteDomainInUrls) {
26543
+ updatedMenuItems = data.mainMenu.menuItems.map(item => {
26544
+ return this.adjustMenuItemUrls(item);
26545
+ });
26486
26546
  }
26487
- }
26488
- checkPNTopbar() {
26489
- if (this.isLoggedIn() || !window['pnTopbar'] || !window['pnTopbar']['session_id']) {
26490
- return;
26547
+ else {
26548
+ updatedMenuItems = data.mainMenu.menuItems;
26491
26549
  }
26492
- this.store.set(this.keys.token, window['pnTopbar']['session_id']);
26493
- this.fetchUserInfo();
26494
- }
26495
- checkParameters() {
26496
- if (!(window === null || window === void 0 ? void 0 : window.location)) {
26497
- return;
26550
+ // Create the "Home" link
26551
+ if ((!updatedMenuItems[0] || ((_a = updatedMenuItems[0]) === null || _a === void 0 ? void 0 : _a.name) !== this.i18n.menuHomeButton) && !this.hideHomeMenuItem) {
26552
+ updatedMenuItems.unshift({
26553
+ href: this.siteDefinition.url,
26554
+ name: this.i18n.menuHomeButton,
26555
+ id: 'homelink',
26556
+ open: false,
26557
+ selected: false,
26558
+ children: [],
26559
+ });
26498
26560
  }
26499
- const params = new URLSearchParams(window.location.search);
26500
- if (params.get("oneTimeCode")) {
26501
- const oneTimeCode = params.get("oneTimeCode");
26502
- this.exchangeToken(oneTimeCode).then(() => {
26503
- const currentHref = window.location.href;
26504
- const paramPrefix = (currentHref.indexOf('?oneTimeCode') !== -1) ? "?" : "&";
26505
- const newUrl = currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, '');
26506
- history.replaceState({}, document.querySelector('title').innerText, newUrl);
26561
+ this.menuItems = updatedMenuItems;
26562
+ // Set search
26563
+ this.search = Object.assign(Object.assign({}, data.search), { AutocompleteEndpoint: this.AutocompleteEndpoint });
26564
+ // Set site selector
26565
+ this.siteSelector = data.siteSelectorViewModel;
26566
+ // Set language selector
26567
+ this.languageSelector = data.languageSelectorViewModel;
26568
+ this.setLanguageOptions();
26569
+ let loginDialog = data.loginViewModel;
26570
+ if (loginDialog && this.siteDomainInUrls) {
26571
+ loginDialog.loggedInLinks = loginDialog.loggedInLinks.map(item => {
26572
+ item.href = this.adjustHref(item.href);
26573
+ return item;
26574
+ });
26575
+ loginDialog.loginMenuLinks = loginDialog.loginMenuLinks.map(item => {
26576
+ item.href = this.adjustHref(item.href);
26577
+ return item;
26507
26578
  });
26508
26579
  }
26580
+ this.loginDialog = loginDialog;
26581
+ await this.spaModeAdjustments();
26582
+ this.gotData = true;
26583
+ this.fetchingData = true;
26584
+ this.homePageLink = (_c = (_b = this.siteDefinition) === null || _b === void 0 ? void 0 : _b.url) !== null && _c !== void 0 ? _c : document.location.hostname;
26585
+ window.setTimeout(() => {
26586
+ this.checkMenuOverflow();
26587
+ }, 100);
26509
26588
  }
26510
- async fetchUserInfo() {
26511
- const token = this.store.get(this.keys.token);
26512
- if (this.store.get(this.keys.token) === this.overridetokenValue) {
26513
- console.info('Did not fetch user data since it was set by an override');
26589
+ adjustMenuItemUrls(item) {
26590
+ item.href = this.adjustHref(item.href);
26591
+ if (item.children && item.children.length > 0) {
26592
+ let adjustedItems = item.children.map(item => {
26593
+ return this.adjustMenuItemUrls(item);
26594
+ });
26595
+ item.children = adjustedItems;
26596
+ }
26597
+ return item;
26598
+ }
26599
+ adjustHref(href) {
26600
+ if (href.indexOf('http') === 0) {
26601
+ return href;
26602
+ }
26603
+ const domainUrl = this.siteDefinition.url.lastIndexOf('/') === this.siteDefinition.url.length - 1
26604
+ ? this.siteDefinition.url.substring(0, this.siteDefinition.url.length - 1)
26605
+ : this.siteDefinition.url;
26606
+ href = domainUrl + href;
26607
+ return href;
26608
+ }
26609
+ setLanguageOptions() {
26610
+ var _a;
26611
+ if (!this.languageSelector || !this.languageSelector.languages) {
26514
26612
  return;
26515
26613
  }
26516
- const reqConfig = {
26517
- method: 'GET',
26518
- headers: {
26519
- 'Accept': 'application/json',
26520
- 'Content-Type': 'application/json',
26521
- 'Authorization': token
26522
- },
26523
- };
26524
- const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);
26525
- const data = await response.json();
26526
- if (data && data["idToken"]) {
26527
- try {
26528
- const { idToken, expiryTime, accessToken } = data;
26529
- const userInfo = this.parseUserInfo(idToken);
26530
- if (!userInfo) {
26531
- console.error('Userdata is not valid');
26532
- this.clearUserData();
26533
- return;
26614
+ const hrefLangsTags = (_a = Array.prototype.slice.call(document.querySelectorAll('link[rel="alternate"][hreflang]'))) !== null && _a !== void 0 ? _a : [];
26615
+ const hrefLangs = hrefLangsTags.map(tag => {
26616
+ let hrefLangValue = tag.getAttribute('hreflang');
26617
+ if (hrefLangValue.indexOf('en-') !== -1 || hrefLangValue.indexOf('en_') !== -1) {
26618
+ hrefLangValue = hrefLangValue.substring(0, 2);
26619
+ }
26620
+ return hrefLangValue;
26621
+ });
26622
+ let languageOptions = []; // Reset language options
26623
+ this.languageSelector.languages.map((languageOption) => {
26624
+ // In case there are language links present on the page we only show languages that have those tags
26625
+ if (hrefLangs && hrefLangs.length > 0) {
26626
+ if (hrefLangs.includes(languageOption.twoLetterISOLanguageName)) {
26627
+ languageOptions.push(languageOption);
26534
26628
  }
26535
- this.store.set(this.keys.user, userInfo);
26536
- // 10 Min early expire
26537
- this.store.set(this.keys.accessToken, accessToken);
26538
- this.store.set(this.keys.expire, expiryTime);
26539
- this.store.set(this.keys.expireDate, new Date(Math.floor(parseInt(expiryTime, 10) * 1000)));
26540
- this.loginStateChange();
26541
26629
  }
26542
- catch (e) {
26543
- console.error('Unable to get user information', e);
26630
+ else {
26631
+ languageOptions.push(languageOption);
26544
26632
  }
26545
- }
26546
- else {
26547
- console.error('Unable to get user information. Clearing login state');
26548
- this.clearUserData();
26549
- }
26633
+ });
26634
+ this.languageOptions = languageOptions; // Replace existing language options so we don't trigger a event change on every push.
26550
26635
  }
26551
- clearUserData() {
26552
- this.store.remove(this.keys.user);
26553
- this.store.remove(this.keys.tokensource);
26554
- this.store.remove(this.keys.accessToken);
26555
- this.store.remove(this.keys.token);
26556
- this.store.remove(this.keys.expire);
26557
- this.store.remove(this.keys.expireDate);
26636
+ async spaModeAdjustments() {
26637
+ if (!this.spaMode) {
26638
+ return;
26639
+ }
26640
+ return;
26558
26641
  }
26559
- getToken() {
26560
- return this.store.get(this.keys.token);
26642
+ onLoginStateChange(e) {
26643
+ var _a, _b, _c;
26644
+ if (((_a = e.detail) === null || _a === void 0 ? void 0 : _a.loggedIn) && ((_b = e.detail) === null || _b === void 0 ? void 0 : _b.token)) {
26645
+ this.loggedIn = ((_c = e.detail) === null || _c === void 0 ? void 0 : _c.loggedIn) === true;
26646
+ }
26561
26647
  }
26562
- getAccessToken() {
26563
- return this.store.get(this.keys.accessToken);
26648
+ promotedItemId(item) {
26649
+ return 'promo-' + item.linkText.replace(/[^A-Za-z0-9.\\\/]/gim, '');
26564
26650
  }
26565
- async exchangeToken(oneTimeCode) {
26566
- this.clearUserData();
26567
- const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);
26568
- const { token } = await response.json();
26569
- if (typeof token === "string" && token) {
26570
- this.store.set(this.keys.token, token);
26571
- }
26572
- this.fetchUserInfo();
26651
+ handleResize() {
26652
+ requestAnimationFrame(() => {
26653
+ this.checkMenuOverflow();
26654
+ });
26573
26655
  }
26574
- loginStateChange() {
26575
- if (!this.eventTarget) {
26656
+ checkMenuOverflow() {
26657
+ const row = this.hostElement.querySelectorAll('.siteheader-row')[1];
26658
+ if (!row) {
26576
26659
  return;
26577
26660
  }
26578
- this.eventTarget.dispatchEvent(new CustomEvent(this.events.loginstatechange, {
26579
- detail: this.isLoggedIn()
26580
- }));
26581
- }
26582
- getBaseUrl() {
26583
- const atEnvironments = ["localhost", "integration.", 'local.'];
26584
- let useATEnv = atEnvironments.filter(x => this.endpoint.indexOf(x) !== -1).length > 0;
26585
- if (window.location.hostname.indexOf('atportal.postnord.com') === 0) {
26586
- useATEnv = true;
26661
+ const firstMenuLevel = row.querySelector('pn-mainnav-level');
26662
+ if (!firstMenuLevel) {
26663
+ return;
26587
26664
  }
26588
- if (useATEnv) {
26589
- return this.baseUrls.at;
26665
+ const parent = firstMenuLevel.parentElement;
26666
+ if (parent.tagName.toLocaleLowerCase() !== 'nav') {
26667
+ return;
26668
+ }
26669
+ const parentWidth = parent.scrollWidth;
26670
+ const elmWidth = firstMenuLevel.clientWidth;
26671
+ const isOverFlowed = parentWidth < elmWidth;
26672
+ if (isOverFlowed && this.minimizeSearch === false) {
26673
+ this.minimizeSearch = true;
26590
26674
  }
26591
- return this.baseUrls.prod;
26592
26675
  }
26593
- parseUserInfo(idToken) {
26594
- if (!idToken) {
26595
- return null;
26676
+ adjustSiteSelectorUrl(href) {
26677
+ if (!this.loggedIn) {
26678
+ return href;
26596
26679
  }
26597
- var base64Url = idToken.split('.')[1];
26598
- var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
26599
- var jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {
26600
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
26601
- }).join(''));
26602
- return JSON.parse(jsonPayload);
26680
+ const loginDomains = ['portal.postnord.com'];
26681
+ const matchedHref = loginDomains.filter(domain => {
26682
+ return href.indexOf(domain) !== -1;
26683
+ });
26684
+ if (matchedHref.length === 0) {
26685
+ return href;
26686
+ }
26687
+ if (state$4.loginManager) {
26688
+ return state$4.loginManager.getLoginUrl(href);
26689
+ }
26690
+ return href;
26603
26691
  }
26604
- }
26605
-
26606
- const translations$5 = {
26607
- 'sv': {
26608
- "searchlabel": "Sök",
26609
- "searchplaceholder": "Vad letar du efter?",
26610
- "searchbuttontext": "Sök",
26611
- "menuHomeButton": "Hem",
26612
- "menuGoBackButton": " tillbaka",
26613
- "mainMenuButton": "Meny",
26614
- "menuStartButton": "Start",
26615
- "profileSelectionFlyoutHeading": "Inloggad som",
26616
- },
26617
- 'en': {
26618
- "searchlabel": "Search",
26619
- "searchplaceholder": "Search",
26620
- "searchbuttontext": "Search",
26621
- "menuHomeButton": "Home",
26622
- "menuGoBackButton": "Go back",
26623
- "mainMenuButton": "Menu",
26624
- "menuStartButton": "Start",
26625
- "profileSelectionFlyoutHeading": "Logged in as",
26626
- },
26627
- 'da': {
26628
- "searchlabel": "Søg",
26629
- "searchplaceholder": "Søg",
26630
- "searchbuttontext": "Søg",
26631
- "menuHomeButton": "Hjem",
26632
- "menuGoBackButton": "Gå tilbage",
26633
- "mainMenuButton": "Menu",
26634
- "menuStartButton": "Start",
26635
- "profileSelectionFlyoutHeading": "Logget ind som",
26636
- },
26637
- 'no': {
26638
- "searchlabel": "Søk",
26639
- "searchplaceholder": "Søk",
26640
- "searchbuttontext": "Søk",
26641
- "menuHomeButton": "Hjem",
26642
- "menuGoBackButton": "Gå tilbake",
26643
- "mainMenuButton": "Meny",
26644
- "menuStartButton": "Start",
26645
- "profileSelectionFlyoutHeading": "Logget på som",
26646
- },
26647
- 'fi': {
26648
- "searchlabel": "Hae",
26649
- "searchplaceholder": "Hae",
26650
- "searchbuttontext": "Hae",
26651
- "menuHomeButton": "Koti",
26652
- "menuGoBackButton": "Mene takaisin",
26653
- "mainMenuButton": "Valikko",
26654
- "menuStartButton": "Alkaa",
26655
- "profileSelectionFlyoutHeading": "Kirjautunut sisään nimellä",
26656
- },
26657
- 'de': {
26658
- "searchlabel": "Suche",
26659
- "searchplaceholder": "Wonach suchen Sie?",
26660
- "searchbuttontext": "Suche",
26661
- "menuHomeButton": "Start",
26662
- "menuGoBackButton": "Geh zurück",
26663
- "mainMenuButton": "Menü",
26664
- "menuStartButton": "Start",
26665
- "profileSelectionFlyoutHeading": "Eingeloggt als",
26692
+ render() {
26693
+ var _a, _b, _c, _d, _e, _f;
26694
+ 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.gotData && this.siteSelector && !this.hideSiteSelector && (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) && (h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle + ' ', description: this.siteSelector.currentSiteDescription })), this.gotData &&
26695
+ ((_d = this.siteSelector) === null || _d === void 0 ? void 0 : _d.siteSelections) &&
26696
+ this.siteSelector.siteSelections.map(site => (h("pn-site-selector-item", { heading: site.linkText + ' ', description: site.linkDescription, url: this.adjustSiteSelectorUrl(site.href), newwindow: site.openInNewWindow })))))), h("div", { class: "siteheader-logocontainer" }, h("a", { href: this.homePageLink, title: "Home", class: "siteheader-logolink" }, h("slot", { name: "logo" }, 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", { token: this.userToken, siteUrl: this.siteDefinition.url, fullname: this.userFullname, loggedin: this.userLoggedin, loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n, showProfileSelection: this.showProfileSelection, "check-user-logged-in-state-interval": this.checkUserLoggedInStateInterval })), this.gotData && this.languageOptions && this.languageOptions.length && !this.hideLanguageSelector && (h("pn-language-selector", { value: this.language }, this.languageOptions.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-menu-top-search" }, h("pn-marketweb-siteheader-search", { language: this.language, siteid: this.siteid, search: this.search, "hide-search": this.hideSearch, i18n: this.i18n, icononly: false })))), h("slot", { name: "siteheader-menu-top-button" }), h("div", { class: "siteheader-row" }, h("div", { class: "siteheader-menu" }, this.gotData && this.menuItems && (h("pn-mainnav", { market: this.market, language: this.language, onMenuOpenChange: e => {
26697
+ document.body.setAttribute('data-siteheader-menuopen', e.detail + '');
26698
+ } }, h("pn-mainnav-level", null, h("pn-mainnav-list", null, this.menuItems.map(item => {
26699
+ var _a, _b;
26700
+ return (h("pn-mainnav-link", { name: item.name, href: item.href, itemid: item.id, target: (_a = item.linkTarget) !== null && _a !== void 0 ? _a : '_self', linkid: item.trackingId }, ((item.promotedMenuItems && item.promotedMenuItems.length > 0) || (item.children && item.children.length > 0)) && (h("pn-mainnav-level", { label: item.name }, item.children.length > 0 && (h("pn-mainnav-list", { heading: (_b = item.navigationHeading) !== null && _b !== void 0 ? _b : '' }, item.children.map(childitem => {
26701
+ var _a;
26702
+ return (h("pn-mainnav-link", { name: childitem.name, href: childitem.href, target: (_a = childitem.linkTarget) !== null && _a !== void 0 ? _a : '_self', linkid: childitem.trackingId }));
26703
+ }))), item.promotedMenuItems && item.promotedMenuItems.length > 0 && (h("pn-mainnav-list", { heading: item.promotedMenuItemsHeader }, item.promotedMenuItems.map(childitem => (h("pn-mainnav-link", { href: childitem.href, name: childitem.linkText, target: childitem.openInNewWindow ? '_blank' : '_self', linkid: this.promotedItemId(childitem) + item.id })))))))));
26704
+ })), h("div", { slot: "footer", class: "siteheader-menu-footer" }, h("slot", { name: "menu-footer-cta" }), this.gotData && this.loginDialog && !this.hideLogin && (h("pn-marketweb-siteheader-login", { emitEvents: false, siteUrl: this.siteDefinition.url, loginDialog: this.loginDialog, endpoint: this.endpoint, fullname: this.userFullname, loggedin: this.userLoggedin, i18n: this.i18n, showProfileSelection: this.showProfileSelection })), this.gotData && this.languageOptions && this.languageOptions.length && !this.hideLanguageSelector && (h("pn-language-selector", { value: this.language }, this.languageOptions.map(language => (h("pn-language-selector-option", { name: language.nativeName, code: language.twoLetterISOLanguageName, selected: language.isCurrent, url: this.getLanguageVersionUrl(language) }))))), !this.hideSiteSelector && (h("pn-site-selector", { language: this.language }, this.gotData && ((_e = this.siteSelector) === null || _e === void 0 ? void 0 : _e.currentSiteTitle) && (h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle, description: this.siteSelector.currentSiteDescription })), this.gotData &&
26705
+ ((_f = this.siteSelector) === null || _f === void 0 ? void 0 : _f.siteSelections) &&
26706
+ this.siteSelector.siteSelections.map(site => (h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.pageLink, newwindow: site.openInNewWindow })))))), h("div", { slot: "top", class: "siteheader-menu-top" }, h("pn-marketweb-siteheader-search", { language: this.language, siteid: this.siteid, search: this.search, "hide-search": this.hideSearch, i18n: this.i18n })))))), h("pn-marketweb-siteheader-search", { language: this.language, siteid: this.siteid, primary: true, search: this.search, "hide-search": this.hideSearch, "show-only-link": this.minimizeSearch, i18n: this.i18n }), h("slot", { name: "header-bottom-button" })))));
26666
26707
  }
26708
+ get hostElement() { return this; }
26709
+ static get watchers() { return {
26710
+ "language": ["onLanguageChange"],
26711
+ "market": ["onMarketChange"]
26712
+ }; }
26713
+ static get style() { return pnMarketwebSiteheaderCss; }
26667
26714
  };
26668
26715
 
26669
- 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;background:#FFFFFF;z-index:1}@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;max-width:30rem;min-width:23.3rem;width:100%}}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-topleft pn-site-selector .pn-nav-dropdown-label,.siteheader-topleft pn-site-selector:is(a){font-size:0}.siteheader-topleft pn-site-selector .pn-nav-dropdown-label pn-icon,.siteheader-topleft pn-site-selector:is(a) pn-icon{font-size:initial;margin-left:0}@media screen and (min-width: 60em){.siteheader-topleft pn-site-selector .pn-nav-dropdown-label,.siteheader-topleft pn-site-selector:is(a){font-size:initial}.siteheader-topleft pn-site-selector .pn-nav-dropdown-label pn-icon,.siteheader-topleft pn-site-selector:is(a) pn-icon{margin-left:0.4em}}@media screen and (min-width: 60em){.siteheader-topright{margin-right:1.6rem}}.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{padding:1rem 0;display:none;-ms-flex-item-align:center;align-self:center}@media screen and (min-width: 48em){.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{display:block;margin-left:1rem}}@media screen and (min-width: 60em){.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{margin-left:1.6rem}}.siteheader-topright>pn-language-selector .pn-nav-dropdown-label,.siteheader-topright>pn-language-selector:is(a),.siteheader-topright>pn-marketweb-siteheader-login .pn-nav-dropdown-label,.siteheader-topright>pn-marketweb-siteheader-login:is(a),.siteheader-topright>a .pn-nav-dropdown-label,.siteheader-topright>a:is(a){font-size:0}.siteheader-topright>pn-language-selector .pn-nav-dropdown-label pn-icon,.siteheader-topright>pn-language-selector:is(a) pn-icon,.siteheader-topright>pn-marketweb-siteheader-login .pn-nav-dropdown-label pn-icon,.siteheader-topright>pn-marketweb-siteheader-login:is(a) pn-icon,.siteheader-topright>a .pn-nav-dropdown-label pn-icon,.siteheader-topright>a:is(a) pn-icon{font-size:initial;margin-left:0}@media screen and (min-width: 60em){.siteheader-topright>pn-language-selector .pn-nav-dropdown-label,.siteheader-topright>pn-language-selector:is(a),.siteheader-topright>pn-marketweb-siteheader-login .pn-nav-dropdown-label,.siteheader-topright>pn-marketweb-siteheader-login:is(a),.siteheader-topright>a .pn-nav-dropdown-label,.siteheader-topright>a:is(a){font-size:initial}.siteheader-topright>pn-language-selector .pn-nav-dropdown-label pn-icon,.siteheader-topright>pn-language-selector:is(a) pn-icon,.siteheader-topright>pn-marketweb-siteheader-login .pn-nav-dropdown-label pn-icon,.siteheader-topright>pn-marketweb-siteheader-login:is(a) pn-icon,.siteheader-topright>a .pn-nav-dropdown-label pn-icon,.siteheader-topright>a:is(a) pn-icon{margin-left:0.4em}}.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}header[data-header-theme=dotcom]>pn-marketweb-siteheader pn-button a{text-decoration:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader pn-button a:hover{text-decoration:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header{background-color:#0D234B;-webkit-box-shadow:none;box-shadow:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-row:not(:last-child){border-bottom:0.1rem solid #0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-nav-dropdown-label:hover{background-color:#005D92}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-nav-dropdown-label:active{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-nav-dropdown-label:focus{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-logocontainer{background-color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-logocontainer svg.siteheader-logo>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright .siteheader-logindialog svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright pn-language-selector pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:hover{background-color:#005D92}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:active{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:focus{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright [slot=toprightend]{-ms-flex-item-align:center;align-self:center;margin-left:1rem}@media screen and (max-width: 48em){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright [slot=toprightend]{display:none}}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu .mainnav-toggle button{background-color:#005D92}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu .first-level_icon svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input{background-color:#FFFFFF;color:#0D234B;border:0.1rem solid #FFFFFF;padding:0.65rem 1.5rem}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:hover{border-color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-webkit-input-placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-moz-placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:-ms-input-placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-ms-input-placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::placeholder{color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav{background-color:#0D234B}@media screen and (min-width: 48em){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav{top:6.4em}}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav a{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search{padding-bottom:0.5rem;background-color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search .button-container{border-top:1px solid #FFFFFF;border-bottom:1px solid #FFFFFF;border-right:1px solid #FFFFFF;border-top-right-radius:50%;border-bottom-right-radius:50%}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search .button-container button.clear{border:2px solid #FFFFFF;border-radius:50%;padding:0.5rem}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level .mainnav-level-header .secondlevel-backbtn pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-level[data-level=\"2\"] .mainnav-level-header pn-mainnav-link>a:hover{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a{background-color:#0D234B;border-bottom:0.1rem solid rgba(0, 93, 146, 0.5)}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button:hover,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a:hover{text-decoration:none}@media screen and (min-width: 1024px){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a{border-bottom:none}}@media screen and (max-width: 1023px){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link:first-child{border-top:0.1rem solid rgba(0, 93, 146, 0.5)}}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link a,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link button{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link a:focus,header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link button:focus{outline:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]){background-color:#0D234B}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]) pn-mainnav-list{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]) pn-mainnav-list pn-mainnav-link>a:hover{background-color:#00A0D6;text-decoration:none}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow svg>path{fill:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#FFFFFF}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:hover{background-color:#005D92}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:active{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:focus{background-color:#00A0D6}header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button svg>path{fill:#FFFFFF}@media screen and (min-width: 48em){header[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}}.siteheader-menu-top-search{display:none}header[data-header-theme=tpl]>pn-marketweb-siteheader pn-button a{text-decoration:none}header[data-header-theme=tpl]>pn-marketweb-siteheader pn-button a:hover{text-decoration:none}@media screen and (max-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button]{display:none}}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a{color:#0D234B;font-weight:500;font-size:1.6rem;padding:0.8rem 2.4rem}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a .pn-button-bg{background-color:#FBC2C1}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a .pn-button-content pn-icon svg>path{fill:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover .pn-button-bg{background-color:#0D234B;-webkit-transition:backgrond-color linear 1s;transition:backgrond-color linear 1s}header[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover .pn-button-content pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:not(:last-child){background-color:#0D234B;border-bottom:0.1rem solid #0D234B}@media screen and (max-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:last-child{background-color:#0D234B}}@media screen and (min-width: 60em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link>button::before,header[data-header-theme=tpl]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link>a::before{background-color:#FBC2C1}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{background:#0D234B;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media screen and (min-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{display:none}}@media screen and (max-width: 415px){header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{display:none}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a{color:#0D234B;font-weight:500}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a .pn-button-bg{background-color:#FBC2C1}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a .pn-button-content pn-icon svg>path{fill:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover .pn-button-bg{background-color:#0D234B;-webkit-transition:backgrond-color linear 1s;transition:backgrond-color linear 1s}header[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover .pn-button-content pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header a{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header pn-mainnav-link button{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header pn-mainnav-link button pn-icon svg path{fill:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-nav-dropdown-label:hover{background:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-nav-dropdown-label:hover{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-nav-dropdown-label:active{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-nav-dropdown-label:focus{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-logocontainer{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-logocontainer svg.siteheader-logo>path{fill:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright{margin-right:0;-ms-flex-item-align:center;align-self:center;margin-left:1rem}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright .siteheader-logindialog svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright pn-language-selector pn-icon svg>path{fill:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:hover{background-color:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:active,header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:focus{background-color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search{display:inline-block;margin-top:auto;margin-bottom:auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media screen and (max-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search{display:none}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search pn-search-field{-ms-flex-pack:end;justify-content:flex-end;min-width:inherit}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form{margin-right:0}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container{position:absolute;width:100%}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input{cursor:pointer;background-color:transparent;color:transparent;border:none;position:relative;z-index:3;border-radius:0}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::-webkit-input-placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::-moz-placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input:-ms-input-placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::-ms-input-placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::placeholder{color:transparent}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .input-container:focus-within{margin-left:2rem}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .input-container:focus-within input{background-color:#FFFFFF;color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .siteheader-search pn-button button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:1rem 1.9rem}header[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .siteheader-search pn-button button .pn-button-bg{background:#0D234B}@media screen and (min-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:last-child pn-marketweb-siteheader-search{display:none}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input{background-color:#FFFFFF;color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:hover{border-color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-webkit-input-placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-moz-placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:-ms-input-placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::-ms-input-placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::placeholder{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}@media screen and (max-width: 415px){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:block;color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-bg{background-color:#FBC2C1}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-content{font-weight:500;color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-content pn-icon svg>path{fill:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover .pn-button-bg{background-color:#0D234B;-webkit-transition:backgrond-color linear 1s;transition:backgrond-color linear 1s}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover .pn-button-content pn-icon svg>path{fill:#FFFFFF}}@media screen and (max-width: 1024px){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-nav-dropdown button:focus,header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-nav-dropdown button:hover{color:#FFFFFF;background-color:#00A0D6;-webkit-box-shadow:0 0 0 0.2rem #fff, 0 0 0 0.4rem #00A0D6;box-shadow:0 0 0 0.2rem #fff, 0 0 0 0.4rem #00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-nav-dropdown button:focus svg>path,header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-nav-dropdown button:hover svg>path{fill:#FFFFFF}}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#FFFFFF}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:hover{background-color:#005D92}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:active{background-color:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:focus{background-color:#00A0D6}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button svg>path{fill:#FFFFFF}@media screen and (max-width: 1024px){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#0D234B}header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button pn-icon svg>path{fill:#0D234B}}@media screen and (min-width: 48em){header[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}}";
26670
-
26671
- const PnMarketwebSiteheader$1 = class extends HTMLElement {
26672
- constructor() {
26673
- super();
26674
- this.__registerHost();
26675
- this.changeLanguage = createEvent(this, "changeLanguage", 7);
26676
- this.changeMarket = createEvent(this, "changeMarket", 7);
26677
- this.endpointPath = '/api/navigation/header';
26678
- // FetchHelper
26679
- this.fetchHelper = new FetchHelper('siteheader');
26680
- this.market = null;
26681
- this.language = null;
26682
- this.siteid = null;
26683
- this.environment = null;
26684
- this.userToken = '';
26685
- this.userFullname = '';
26686
- this.userLoggedin = false;
26687
- this.endpoint = null;
26688
- this.hideSiteSelector = false;
26689
- this.hideHomeMenuItem = false;
26690
- this.hideLanguageSelector = false;
26691
- this.hideSearch = false;
26692
- this.hideLogin = false;
26693
- this.showProfileSelection = false;
26694
- this.siteDomainInUrls = false;
26695
- this.AutocompleteEndpoint = '';
26696
- this.sessionForward = false;
26697
- this.cache = false;
26698
- this.searchPlaceholder = '';
26699
- this.spaMode = false;
26700
- this.i18n = {
26701
- searchlabel: '',
26702
- searchplaceholder: '',
26703
- searchbuttontext: '',
26704
- menuHomeButton: '',
26705
- menuGoBackButton: '',
26706
- mainMenuButton: '',
26707
- menuStartButton: '',
26708
- profileSelectionFlyoutHeading: '',
26716
+ class MarketWebLoginManager {
26717
+ constructor(options = null) {
26718
+ var _a;
26719
+ this.eventTarget = (window !== null && window !== void 0 ? window : document === null || document === void 0 ? void 0 : document.body);
26720
+ this.endpoint = "";
26721
+ this.storagePrefix = "pn-user";
26722
+ this.checkUserLoggedInStateInterval = 0;
26723
+ this.baseUrls = {
26724
+ at: 'https://atportal.postnord.com/api/unified-login/backend',
26725
+ prod: 'https://portal.postnord.com/api/unified-login/backend',
26709
26726
  };
26710
- this.gotData = false;
26711
- this.fetchingData = false;
26712
- this.homePageLink = '/';
26713
- this.menuItems = [];
26714
- this.siteDefinition = undefined;
26715
- this.search = { AutocompleteEndpoint: this.AutocompleteEndpoint };
26716
- this.siteSelector = null;
26717
- this.languageSelector = null;
26718
- this.languageOptions = [];
26719
- this.loginDialog = null;
26720
- this.minimizeSearch = false;
26721
- this.loggedIn = false;
26722
- this.loginManager = null;
26727
+ this.events = {
26728
+ loginstatechange: "loginstatechange"
26729
+ };
26730
+ this.endpoints = {
26731
+ authorizationEndpoint: `/authorization`,
26732
+ tokenExchangeEndpoint: `/token`,
26733
+ userInfoEndpoint: `/user`,
26734
+ logoutEndpoint: `/logout`,
26735
+ };
26736
+ this.keys = {
26737
+ tokensource: 'tokensource',
26738
+ token: 'token',
26739
+ accessToken: 'accessToken',
26740
+ user: 'user',
26741
+ expire: 'expire',
26742
+ expireDate: 'expiredate'
26743
+ };
26744
+ this.overridetokenValue = 'overridetokenValue';
26745
+ this.siteUrl = window.location.origin;
26746
+ this.abortSignalForLoginCheck = null;
26747
+ this.loginCheckInProgress = false;
26748
+ this.loginCheckTimer = null;
26749
+ this.store = {
26750
+ get: (key) => {
26751
+ const value = window.sessionStorage.getItem(`${this.storagePrefix}-${key}`);
26752
+ if (!value) {
26753
+ return value;
26754
+ }
26755
+ if (value.indexOf('{') === 0) {
26756
+ try {
26757
+ return JSON.parse(value);
26758
+ }
26759
+ catch (e) {
26760
+ }
26761
+ }
26762
+ if (value.indexOf(',') !== -1) {
26763
+ return value.split(',');
26764
+ }
26765
+ return value;
26766
+ },
26767
+ set: (key, value) => {
26768
+ if (typeof value === "object" && typeof value.length === "undefined") {
26769
+ window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));
26770
+ return;
26771
+ }
26772
+ window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, value);
26773
+ },
26774
+ remove: (key) => {
26775
+ window.sessionStorage.removeItem(`${this.storagePrefix}-${key}`);
26776
+ },
26777
+ };
26778
+ if (!options) {
26779
+ return;
26780
+ }
26781
+ this.eventTarget = (options.eventTarget) ? options.eventTarget : this.eventTarget;
26782
+ this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;
26783
+ (_a = this.storagePrefix) !== null && _a !== void 0 ? _a : (this.storagePrefix = options.storagePrefix);
26784
+ this.checkUserLoggedInStateInterval = (options.checkUserLoggedInStateInterval && options.checkUserLoggedInStateInterval > 0) ? parseInt((options.checkUserLoggedInStateInterval + ''), 10) : 0;
26785
+ if (options.userInfo) {
26786
+ this.store.set(this.keys.user, options.userInfo);
26787
+ this.registerToken(this.overridetokenValue, 'override');
26788
+ }
26723
26789
  }
26724
- componentWillLoad() {
26725
- this.loginManager = new MarketWebLoginManager({ eventTarget: this.hostElement });
26726
- this.setInitialValues().then(() => {
26727
- this.init();
26728
- });
26790
+ init(checkParameters = true) {
26791
+ if (checkParameters) {
26792
+ this.checkParameters();
26793
+ this.checkPNTopbar();
26794
+ this.checkExpireTime();
26795
+ if (this.store.get(this.keys.token) && !this.store.get(this.keys.user)) {
26796
+ this.fetchUserInfo();
26797
+ }
26798
+ this.loginStateChange();
26799
+ if (this.checkUserLoggedInStateInterval > 0) {
26800
+ this.initiateLoggedInCheck();
26801
+ }
26802
+ }
26729
26803
  }
26730
- async setInitialValues(href = window.location.href) {
26731
- var _a;
26732
- const marketWebContextService = new MarketWebContextService(href);
26733
- if (!this.market) {
26734
- const resolvedMarket = await marketWebContextService.getMarket();
26735
- this.market = resolvedMarket;
26804
+ setSiteUrl(siteUrl) {
26805
+ if (siteUrl) {
26806
+ this.siteUrl = siteUrl;
26736
26807
  }
26737
- if (!this.language) {
26738
- const resolvedMarket = await marketWebContextService.getLanguage();
26739
- this.language = resolvedMarket;
26808
+ }
26809
+ initiateLoggedInCheck() {
26810
+ if (this.isLoggedIn()) {
26811
+ if (window && window['AbortController']) {
26812
+ this.abortSignalForLoginCheck = new AbortController();
26813
+ }
26814
+ this.loginCheckTimer = window.setInterval(() => {
26815
+ this.doExternalLoggedInCheck().then(() => { }).catch(() => { });
26816
+ }, this.checkUserLoggedInStateInterval);
26740
26817
  }
26741
- if (!this.environment) {
26742
- this.environment = await marketWebContextService.getEnvironmentName();
26818
+ }
26819
+ async doExternalLoggedInCheck() {
26820
+ if (!window.navigator.onLine) {
26821
+ // Don't check if the user is not online
26822
+ return;
26743
26823
  }
26744
- if (!this.endpoint && ((_a = this.environment) === null || _a === void 0 ? void 0 : _a.indexOf('local')) === -1) {
26745
- this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);
26824
+ if (!this.getToken()) {
26825
+ window.clearInterval(this.checkUserLoggedInStateInterval);
26826
+ return;
26746
26827
  }
26747
- if (!this.endpoint) {
26748
- this.endpoint = '';
26828
+ if (this.loginCheckInProgress && this.abortSignalForLoginCheck) {
26829
+ this.abortSignalForLoginCheck.abort();
26830
+ this.abortSignalForLoginCheck = new AbortController();
26749
26831
  }
26750
- }
26751
- async init() {
26752
- this.setTranslations();
26753
- await this.fetchData();
26754
- window.setTimeout(() => {
26755
- this.checkMenuOverflow();
26756
- }, 50);
26757
- }
26758
- setTranslations() {
26759
- if (this.language && translations$5[this.language]) {
26760
- this.i18n = translations$5[this.language];
26832
+ this.loginCheckInProgress = true;
26833
+ const reqConfig = {
26834
+ method: 'GET',
26835
+ headers: {
26836
+ 'Accept': 'application/json',
26837
+ 'Content-Type': 'application/json',
26838
+ 'Authorization': this.getToken()
26839
+ },
26840
+ };
26841
+ if (this.abortSignalForLoginCheck && this.abortSignalForLoginCheck["signal"]) {
26842
+ reqConfig["signal"] = this.abortSignalForLoginCheck["signal"];
26761
26843
  }
26762
- if (this.searchPlaceholder) {
26763
- this.i18n.searchplaceholder = this.searchPlaceholder;
26844
+ const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);
26845
+ if (response.status === 409) { // This is a status the API returns if a user has been logged out
26846
+ window.clearInterval(this.checkUserLoggedInStateInterval);
26847
+ console.log('Cleared out user data due to bad response from authentication endpoint');
26848
+ this.LogoutUser();
26849
+ return;
26764
26850
  }
26851
+ if (!response.ok) {
26852
+ // The response was "bad". This could be due to bad connectivity or something else.
26853
+ // We'll ignore it so we don't unecessarily log users out or have them loose state if they're switching connection
26854
+ return;
26855
+ }
26856
+ const data = await response.json();
26857
+ if (!data || !data['accessToken']) {
26858
+ window.clearInterval(this.checkUserLoggedInStateInterval);
26859
+ console.log('Cleared out user data due to bad response from authentication endpoint');
26860
+ this.LogoutUser();
26861
+ }
26862
+ this.loginCheckInProgress = false;
26765
26863
  }
26766
- onLanguageSelectorChange(e) {
26767
- this.language = e.detail;
26768
- window.dispatchEvent(new CustomEvent('marketweb-languagechange', { detail: this.language }));
26769
- }
26770
- onLanguageChange() {
26771
- this.setTranslations();
26772
- this.changeLanguage.emit(this.language);
26773
- this.fetchData();
26864
+ LogoutUser() {
26865
+ this.clearUserData();
26866
+ // Log out user
26867
+ if (this.eventTarget) {
26868
+ const logoutLink = this.eventTarget.querySelector('#pn-marketweb-header-logoutlink');
26869
+ if (logoutLink) {
26870
+ logoutLink.click();
26871
+ return;
26872
+ }
26873
+ }
26874
+ // If no logout link was found, attempt to change URL to redirect link
26875
+ const currentPageHref = window.location.href;
26876
+ window.location.href = this.getLogoutUrl(currentPageHref);
26774
26877
  }
26775
- onMarketChange() {
26776
- this.changeMarket.emit(this.market);
26777
- this.fetchData();
26878
+ isLoggedIn(override = false) {
26879
+ if (override) {
26880
+ return override;
26881
+ }
26882
+ let isLoggedIn = (this.store.get(this.keys.token) && this.store.get(this.keys.user)) ? true : false;
26883
+ if (!isLoggedIn && this.store.get(this.keys.token) === this.overridetokenValue) {
26884
+ isLoggedIn = true;
26885
+ }
26886
+ return isLoggedIn;
26778
26887
  }
26779
- async fetchData() {
26780
- if (this.endpoint === null || !this.market || !this.language) {
26781
- // console.warn(`One or more values where not specified.\nEndpoint: ${this.endpoint}\nMarket: ${this.market}\nLanguage: ${this.language}`)
26888
+ registerToken(token = '', tokenSource = 'frontend') {
26889
+ if (!token || token === this.getToken()) {
26782
26890
  return;
26783
26891
  }
26784
- this.fetchingData = true;
26785
- const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;
26786
- const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}`;
26787
- const data = (await this.fetchHelper.fetchJson(fetchUrl, {
26788
- mode: 'cors',
26789
- }, this.cache));
26790
- await this.setStateFromData(data);
26892
+ this.clearUserData();
26893
+ this.store.set(this.keys.tokensource, tokenSource);
26894
+ this.store.set(this.keys.token, token);
26895
+ this.fetchUserInfo();
26791
26896
  }
26792
- getLanguageVersionUrl(item) {
26793
- if (this.spaMode) {
26794
- return null;
26897
+ invalidateTokenOfType(tokenSource = 'frontend') {
26898
+ const currentToken = this.store.get(this.keys.token);
26899
+ if (!currentToken) {
26900
+ return;
26795
26901
  }
26796
- const alternativeTag = document.querySelector(`link[rel="alternate"][hreflang="${item.twoLetterISOLanguageName}"]`);
26797
- if (alternativeTag) {
26798
- return alternativeTag.getAttribute('href');
26902
+ const currentTokenSource = this.store.get(this.keys.tokensource);
26903
+ if (currentTokenSource !== tokenSource) {
26904
+ return;
26799
26905
  }
26800
- const siteUrl = this.siteDefinition.url;
26801
- // Add trailing slash to domain if it's missing
26802
- return siteUrl + (siteUrl.lastIndexOf('/') !== siteUrl.length - 1 ? '/' : '') + item.twoLetterISOLanguageName;
26906
+ // If we have a token and the source is set then we will invalidate the user data
26907
+ this.clearUserData();
26803
26908
  }
26804
- async setStateFromData(data) {
26805
- var _a, _b, _c;
26806
- if (typeof data !== 'object') {
26807
- console.warn('Data was not valid', data);
26909
+ getLoginUrl(redirectPage = "") {
26910
+ const currentPage = window.location.href;
26911
+ redirectPage = redirectPage ? redirectPage : currentPage;
26912
+ return `${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${redirectPage}`;
26913
+ }
26914
+ getLogoutUrl(linkHref = "") {
26915
+ if (linkHref.indexOf('logout?logoutUrl') !== -1) {
26916
+ // Link has already been formatted.
26917
+ return linkHref;
26808
26918
  }
26809
- // Set site definition
26810
- this.siteDefinition = data.sitedefinition;
26811
- this.loginManager.setSiteUrl(this.siteDefinition.url);
26812
- let updatedMenuItems = [];
26813
- // Set navigation information
26814
- if (this.siteDomainInUrls) {
26815
- updatedMenuItems = data.mainMenu.menuItems.map(item => {
26816
- return this.adjustMenuItemUrls(item);
26817
- });
26919
+ let redirectPage = linkHref.replace('logout', '').replace('http://window.location.href/?', window.location.href).replace('https://window.location.href/?', window.location.href);
26920
+ let rootUrl = this.siteUrl;
26921
+ try {
26922
+ const url = new URL(this.siteUrl + '');
26923
+ rootUrl = url.origin;
26818
26924
  }
26819
- else {
26820
- updatedMenuItems = data.mainMenu.menuItems;
26925
+ catch (e) { }
26926
+ const addSlash = (rootUrl.lastIndexOf('/') !== (rootUrl.length - 1));
26927
+ const siteUrl = rootUrl + (addSlash ? '/' : '') + 'logout';
26928
+ const secondLogoutUrl = `${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?authorization=${this.store.get(this.keys.token)}%26redirectionUrl=${redirectPage}`;
26929
+ const logoutUrl = `${siteUrl}?logoutUrl=${secondLogoutUrl}`;
26930
+ return logoutUrl;
26931
+ }
26932
+ getUserInfo() {
26933
+ if (this.isLoggedIn()) {
26934
+ return this.store.get(this.keys.user);
26821
26935
  }
26822
- // Create the "Home" link
26823
- if ((!updatedMenuItems[0] || ((_a = updatedMenuItems[0]) === null || _a === void 0 ? void 0 : _a.name) !== this.i18n.menuHomeButton) && !this.hideHomeMenuItem) {
26824
- updatedMenuItems.unshift({
26825
- href: this.siteDefinition.url,
26826
- name: this.i18n.menuHomeButton,
26827
- id: 'homelink',
26828
- open: false,
26829
- selected: false,
26830
- children: [],
26831
- });
26936
+ }
26937
+ getEventTarget() {
26938
+ return this.eventTarget;
26939
+ }
26940
+ checkExpireTime() {
26941
+ const expire = this.store.get(this.keys.expire);
26942
+ if (!expire) {
26943
+ return;
26832
26944
  }
26833
- this.menuItems = updatedMenuItems;
26834
- // Set search
26835
- this.search = Object.assign(Object.assign({}, data.search), { AutocompleteEndpoint: this.AutocompleteEndpoint });
26836
- // Set site selector
26837
- this.siteSelector = data.siteSelectorViewModel;
26838
- // Set language selector
26839
- this.languageSelector = data.languageSelectorViewModel;
26840
- this.setLanguageOptions();
26841
- let loginDialog = data.loginViewModel;
26842
- if (loginDialog && this.siteDomainInUrls) {
26843
- loginDialog.loggedInLinks = loginDialog.loggedInLinks.map(item => {
26844
- item.href = this.adjustHref(item.href);
26845
- return item;
26846
- });
26847
- loginDialog.loginMenuLinks = loginDialog.loginMenuLinks.map(item => {
26848
- item.href = this.adjustHref(item.href);
26849
- return item;
26850
- });
26945
+ const now = new Date();
26946
+ const expireDate = new Date(Math.floor(parseInt(expire, 10) * 1000));
26947
+ if (now > expireDate) {
26948
+ console.info('Login time has expired');
26949
+ this.clearUserData();
26950
+ this.loginStateChange();
26851
26951
  }
26852
- this.loginDialog = loginDialog;
26853
- await this.spaModeAdjustments();
26854
- this.gotData = true;
26855
- this.fetchingData = true;
26856
- this.homePageLink = (_c = (_b = this.siteDefinition) === null || _b === void 0 ? void 0 : _b.url) !== null && _c !== void 0 ? _c : document.location.hostname;
26857
- window.setTimeout(() => {
26858
- this.checkMenuOverflow();
26859
- }, 100);
26860
26952
  }
26861
- adjustMenuItemUrls(item) {
26862
- item.href = this.adjustHref(item.href);
26863
- if (item.children && item.children.length > 0) {
26864
- let adjustedItems = item.children.map(item => {
26865
- return this.adjustMenuItemUrls(item);
26866
- });
26867
- item.children = adjustedItems;
26953
+ checkPNTopbar() {
26954
+ if (this.isLoggedIn() || !window['pnTopbar'] || !window['pnTopbar']['session_id']) {
26955
+ return;
26868
26956
  }
26869
- return item;
26957
+ this.store.set(this.keys.token, window['pnTopbar']['session_id']);
26958
+ this.fetchUserInfo();
26870
26959
  }
26871
- adjustHref(href) {
26872
- if (href.indexOf('http') === 0) {
26873
- return href;
26960
+ checkParameters() {
26961
+ if (!(window === null || window === void 0 ? void 0 : window.location)) {
26962
+ return;
26963
+ }
26964
+ const params = new URLSearchParams(window.location.search);
26965
+ if (params.get("oneTimeCode")) {
26966
+ const oneTimeCode = params.get("oneTimeCode");
26967
+ this.exchangeToken(oneTimeCode).then(() => {
26968
+ const currentHref = window.location.href;
26969
+ const paramPrefix = (currentHref.indexOf('?oneTimeCode') !== -1) ? "?" : "&";
26970
+ const newUrl = currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, '');
26971
+ history.replaceState({}, document.querySelector('title').innerText, newUrl);
26972
+ });
26874
26973
  }
26875
- const domainUrl = this.siteDefinition.url.lastIndexOf('/') === this.siteDefinition.url.length - 1
26876
- ? this.siteDefinition.url.substring(0, this.siteDefinition.url.length - 1)
26877
- : this.siteDefinition.url;
26878
- href = domainUrl + href;
26879
- return href;
26880
26974
  }
26881
- setLanguageOptions() {
26882
- var _a;
26883
- if (!this.languageSelector || !this.languageSelector.languages) {
26975
+ async fetchUserInfo() {
26976
+ const token = this.store.get(this.keys.token);
26977
+ if (this.store.get(this.keys.token) === this.overridetokenValue) {
26978
+ console.info('Did not fetch user data since it was set by an override');
26884
26979
  return;
26885
26980
  }
26886
- const hrefLangsTags = (_a = Array.prototype.slice.call(document.querySelectorAll('link[rel="alternate"][hreflang]'))) !== null && _a !== void 0 ? _a : [];
26887
- const hrefLangs = hrefLangsTags.map(tag => {
26888
- let hrefLangValue = tag.getAttribute('hreflang');
26889
- if (hrefLangValue.indexOf('en-') !== -1 || hrefLangValue.indexOf('en_') !== -1) {
26890
- hrefLangValue = hrefLangValue.substring(0, 2);
26891
- }
26892
- return hrefLangValue;
26893
- });
26894
- let languageOptions = []; // Reset language options
26895
- this.languageSelector.languages.map((languageOption) => {
26896
- // In case there are language links present on the page we only show languages that have those tags
26897
- if (hrefLangs && hrefLangs.length > 0) {
26898
- if (hrefLangs.includes(languageOption.twoLetterISOLanguageName)) {
26899
- languageOptions.push(languageOption);
26981
+ const reqConfig = {
26982
+ method: 'GET',
26983
+ headers: {
26984
+ 'Accept': 'application/json',
26985
+ 'Content-Type': 'application/json',
26986
+ 'Authorization': token
26987
+ },
26988
+ };
26989
+ const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);
26990
+ const data = await response.json();
26991
+ if (data && data["idToken"]) {
26992
+ try {
26993
+ const { idToken, expiryTime, accessToken } = data;
26994
+ const userInfo = this.parseUserInfo(idToken);
26995
+ if (!userInfo) {
26996
+ console.error('Userdata is not valid');
26997
+ this.clearUserData();
26998
+ return;
26900
26999
  }
27000
+ this.store.set(this.keys.user, userInfo);
27001
+ // 10 Min early expire
27002
+ this.store.set(this.keys.accessToken, accessToken);
27003
+ this.store.set(this.keys.expire, expiryTime);
27004
+ this.store.set(this.keys.expireDate, new Date(Math.floor(parseInt(expiryTime, 10) * 1000)));
27005
+ this.loginStateChange();
26901
27006
  }
26902
- else {
26903
- languageOptions.push(languageOption);
27007
+ catch (e) {
27008
+ console.error('Unable to get user information', e);
26904
27009
  }
26905
- });
26906
- this.languageOptions = languageOptions; // Replace existing language options so we don't trigger a event change on every push.
26907
- }
26908
- async spaModeAdjustments() {
26909
- if (!this.spaMode) {
26910
- return;
26911
27010
  }
26912
- return;
26913
- }
26914
- onLoginStateChange(e) {
26915
- var _a, _b, _c;
26916
- if (((_a = e.detail) === null || _a === void 0 ? void 0 : _a.loggedIn) && ((_b = e.detail) === null || _b === void 0 ? void 0 : _b.token)) {
26917
- this.loggedIn = ((_c = e.detail) === null || _c === void 0 ? void 0 : _c.loggedIn) === true;
27011
+ else {
27012
+ console.error('Unable to get user information. Clearing login state');
27013
+ this.clearUserData();
26918
27014
  }
26919
27015
  }
26920
- promotedItemId(item) {
26921
- return 'promo-' + item.linkText.replace(/[^A-Za-z0-9.\\\/]/gim, '');
27016
+ clearUserData() {
27017
+ this.store.remove(this.keys.user);
27018
+ this.store.remove(this.keys.tokensource);
27019
+ this.store.remove(this.keys.accessToken);
27020
+ this.store.remove(this.keys.token);
27021
+ this.store.remove(this.keys.expire);
27022
+ this.store.remove(this.keys.expireDate);
26922
27023
  }
26923
- handleResize() {
26924
- requestAnimationFrame(() => {
26925
- this.checkMenuOverflow();
26926
- });
27024
+ getToken() {
27025
+ return this.store.get(this.keys.token);
26927
27026
  }
26928
- checkMenuOverflow() {
26929
- const row = this.hostElement.querySelectorAll('.siteheader-row')[1];
26930
- if (!row) {
26931
- return;
26932
- }
26933
- const firstMenuLevel = row.querySelector('pn-mainnav-level');
26934
- if (!firstMenuLevel) {
26935
- return;
27027
+ getAccessToken() {
27028
+ return this.store.get(this.keys.accessToken);
27029
+ }
27030
+ async exchangeToken(oneTimeCode) {
27031
+ this.clearUserData();
27032
+ const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);
27033
+ const { token } = await response.json();
27034
+ if (typeof token === "string" && token) {
27035
+ this.store.set(this.keys.token, token);
26936
27036
  }
26937
- const parent = firstMenuLevel.parentElement;
26938
- if (parent.tagName.toLocaleLowerCase() !== 'nav') {
27037
+ this.fetchUserInfo();
27038
+ }
27039
+ loginStateChange() {
27040
+ if (!this.eventTarget) {
26939
27041
  return;
26940
27042
  }
26941
- const parentWidth = parent.scrollWidth;
26942
- const elmWidth = firstMenuLevel.clientWidth;
26943
- const isOverFlowed = parentWidth < elmWidth;
26944
- if (isOverFlowed && this.minimizeSearch === false) {
26945
- this.minimizeSearch = true;
26946
- }
27043
+ this.eventTarget.dispatchEvent(new CustomEvent(this.events.loginstatechange, {
27044
+ detail: this.isLoggedIn()
27045
+ }));
26947
27046
  }
26948
- adjustSiteSelectorUrl(href) {
26949
- if (!this.loggedIn) {
26950
- return href;
27047
+ getBaseUrl() {
27048
+ const atEnvironments = ["localhost", "integration.", 'local.'];
27049
+ let useATEnv = atEnvironments.filter(x => this.endpoint.indexOf(x) !== -1).length > 0;
27050
+ if (window.location.hostname.indexOf('atportal.postnord.com') === 0) {
27051
+ useATEnv = true;
26951
27052
  }
26952
- const loginDomains = ['portal.postnord.com'];
26953
- const matchedHref = loginDomains.filter(domain => {
26954
- return href.indexOf(domain) !== -1;
26955
- });
26956
- if (matchedHref.length === 0) {
26957
- return href;
27053
+ if (useATEnv) {
27054
+ return this.baseUrls.at;
26958
27055
  }
26959
- return this.loginManager.getLoginUrl(href);
27056
+ return this.baseUrls.prod;
26960
27057
  }
26961
- render() {
26962
- var _a, _b, _c, _d, _e, _f;
26963
- 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.gotData && this.siteSelector && !this.hideSiteSelector && (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) && (h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle + ' ', description: this.siteSelector.currentSiteDescription })), this.gotData &&
26964
- ((_d = this.siteSelector) === null || _d === void 0 ? void 0 : _d.siteSelections) &&
26965
- this.siteSelector.siteSelections.map(site => (h("pn-site-selector-item", { heading: site.linkText + ' ', description: site.linkDescription, url: this.adjustSiteSelectorUrl(site.href), newwindow: site.openInNewWindow })))))), h("div", { class: "siteheader-logocontainer" }, h("a", { href: this.homePageLink, title: "Home", class: "siteheader-logolink" }, h("slot", { name: "logo" }, 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", { token: this.userToken, siteUrl: this.siteDefinition.url, fullname: this.userFullname, loggedin: this.userLoggedin, loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n, showProfileSelection: this.showProfileSelection })), this.gotData && this.languageOptions && this.languageOptions.length && !this.hideLanguageSelector && (h("pn-language-selector", { value: this.language }, this.languageOptions.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-menu-top-search" }, h("pn-marketweb-siteheader-search", { language: this.language, siteid: this.siteid, search: this.search, "hide-search": this.hideSearch, i18n: this.i18n, icononly: false })))), h("slot", { name: "siteheader-menu-top-button" }), h("div", { class: "siteheader-row" }, h("div", { class: "siteheader-menu" }, this.gotData && this.menuItems && (h("pn-mainnav", { market: this.market, language: this.language, onMenuOpenChange: e => {
26966
- document.body.setAttribute('data-siteheader-menuopen', e.detail + '');
26967
- } }, h("pn-mainnav-level", null, h("pn-mainnav-list", null, this.menuItems.map(item => {
26968
- var _a, _b;
26969
- return (h("pn-mainnav-link", { name: item.name, href: item.href, itemid: item.id, target: (_a = item.linkTarget) !== null && _a !== void 0 ? _a : '_self', linkid: item.trackingId }, ((item.promotedMenuItems && item.promotedMenuItems.length > 0) || (item.children && item.children.length > 0)) && (h("pn-mainnav-level", { label: item.name }, item.children.length > 0 && (h("pn-mainnav-list", { heading: (_b = item.navigationHeading) !== null && _b !== void 0 ? _b : '' }, item.children.map(childitem => {
26970
- var _a;
26971
- return (h("pn-mainnav-link", { name: childitem.name, href: childitem.href, target: (_a = childitem.linkTarget) !== null && _a !== void 0 ? _a : '_self', linkid: childitem.trackingId }));
26972
- }))), item.promotedMenuItems && item.promotedMenuItems.length > 0 && (h("pn-mainnav-list", { heading: item.promotedMenuItemsHeader }, item.promotedMenuItems.map(childitem => (h("pn-mainnav-link", { href: childitem.href, name: childitem.linkText, target: childitem.openInNewWindow ? '_blank' : '_self', linkid: this.promotedItemId(childitem) + item.id })))))))));
26973
- })), h("div", { slot: "footer", class: "siteheader-menu-footer" }, h("slot", { name: "menu-footer-cta" }), this.gotData && this.loginDialog && !this.hideLogin && (h("pn-marketweb-siteheader-login", { emitEvents: false, siteUrl: this.siteDefinition.url, loginDialog: this.loginDialog, endpoint: this.endpoint, fullname: this.userFullname, loggedin: this.userLoggedin, i18n: this.i18n, showProfileSelection: this.showProfileSelection })), this.gotData && this.languageOptions && this.languageOptions.length && !this.hideLanguageSelector && (h("pn-language-selector", { value: this.language }, this.languageOptions.map(language => (h("pn-language-selector-option", { name: language.nativeName, code: language.twoLetterISOLanguageName, selected: language.isCurrent, url: this.getLanguageVersionUrl(language) }))))), !this.hideSiteSelector && (h("pn-site-selector", { language: this.language }, this.gotData && ((_e = this.siteSelector) === null || _e === void 0 ? void 0 : _e.currentSiteTitle) && (h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle, description: this.siteSelector.currentSiteDescription })), this.gotData &&
26974
- ((_f = this.siteSelector) === null || _f === void 0 ? void 0 : _f.siteSelections) &&
26975
- this.siteSelector.siteSelections.map(site => (h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.pageLink, newwindow: site.openInNewWindow })))))), h("div", { slot: "top", class: "siteheader-menu-top" }, h("pn-marketweb-siteheader-search", { language: this.language, siteid: this.siteid, search: this.search, "hide-search": this.hideSearch, i18n: this.i18n })))))), h("pn-marketweb-siteheader-search", { language: this.language, siteid: this.siteid, primary: true, search: this.search, "hide-search": this.hideSearch, "show-only-link": this.minimizeSearch, i18n: this.i18n }), h("slot", { name: "header-bottom-button" })))));
27058
+ parseUserInfo(idToken) {
27059
+ if (!idToken) {
27060
+ return null;
27061
+ }
27062
+ var base64Url = idToken.split('.')[1];
27063
+ var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
27064
+ var jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {
27065
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
27066
+ }).join(''));
27067
+ return JSON.parse(jsonPayload);
26976
27068
  }
26977
- get hostElement() { return this; }
26978
- static get watchers() { return {
26979
- "language": ["onLanguageChange"],
26980
- "market": ["onMarketChange"]
26981
- }; }
26982
- static get style() { return pnMarketwebSiteheaderCss; }
26983
- };
27069
+ }
26984
27070
 
26985
27071
  const pnMarketwebSiteheaderLoginCss = "pn-marketweb-siteheader-login{padding:1rem 0;max-height:5.2rem;position:relative}pn-marketweb-siteheader-login pn-nav-dropdown{display:none}pn-marketweb-siteheader-login.hydrated pn-nav-dropdown{display:block}";
26986
27072
 
@@ -26999,33 +27085,34 @@ const PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
26999
27085
  this.fullname = "";
27000
27086
  this.loggedin = false;
27001
27087
  this.showProfileSelection = false;
27002
- this.loginManager = null;
27088
+ this.checkUserLoggedInStateInterval = 0;
27003
27089
  this.loginLinks = undefined;
27004
27090
  this.toggleButtonText = (((_a = this.loginDialog) === null || _a === void 0 ? void 0 : _a.loginMenuLinkText) ? this.loginDialog.loginMenuLinkText : "");
27005
27091
  this.username = this.fullname;
27006
27092
  }
27007
27093
  componentWillLoad() {
27008
27094
  const userInfo = this.loggedin && this.fullname ? { given_name: this.fullname } : null;
27009
- this.loginManager = new MarketWebLoginManager({
27095
+ state$4.loginManager = new MarketWebLoginManager({
27010
27096
  endpoint: this.endpoint,
27011
27097
  eventTarget: this.hostElement,
27098
+ checkUserLoggedInStateInterval: this.checkUserLoggedInStateInterval,
27012
27099
  userInfo
27013
27100
  });
27014
- this.loginManager.setSiteUrl(this.siteUrl);
27015
- this.hostElement["loginmanager"] = this.loginManager;
27101
+ state$4.loginManager.setSiteUrl(this.siteUrl);
27102
+ this.hostElement["loginmanager"] = state$4.loginManager;
27016
27103
  if (this.token) {
27017
- this.loginManager.registerToken(this.token, 'backend');
27104
+ state$4.loginManager.registerToken(this.token, 'backend');
27018
27105
  }
27019
27106
  else if (this.emitEvents) { // The primary login instance
27020
- this.loginManager.invalidateTokenOfType('backend');
27107
+ state$4.loginManager.invalidateTokenOfType('backend');
27021
27108
  }
27022
- this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
27109
+ this.hostElement.addEventListener(state$4.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
27023
27110
  this.init();
27024
27111
  this.setUserName();
27025
27112
  this.setToggleButtonText();
27026
27113
  }
27027
27114
  async init() {
27028
- this.loginManager.init(this.emitEvents);
27115
+ state$4.loginManager.init(this.emitEvents);
27029
27116
  this.setToggleButtonText();
27030
27117
  this.adjustLoginLinks();
27031
27118
  }
@@ -27039,10 +27126,10 @@ const PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
27039
27126
  link.isLogoutLink = (link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1);
27040
27127
  }
27041
27128
  if (link.isLogoutLink) {
27042
- link.href = this.loginManager.getLogoutUrl(link.href);
27129
+ link.href = state$4.loginManager.getLogoutUrl(link.href);
27043
27130
  }
27044
27131
  if (i === 0 && !link.href) {
27045
- link.href = this.loginManager.getLoginUrl();
27132
+ link.href = state$4.loginManager.getLoginUrl();
27046
27133
  link.linkType = 'primary';
27047
27134
  }
27048
27135
  if (link.primaryLinkApperance && !link.linkType) {
@@ -27056,7 +27143,7 @@ const PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
27056
27143
  }
27057
27144
  this.loginDialog.legacyLoginLinks = [
27058
27145
  {
27059
- href: this.loginManager.getLoginUrl(this.loginDialog.loginUrl),
27146
+ href: state$4.loginManager.getLoginUrl(this.loginDialog.loginUrl),
27060
27147
  linkText: this.loginDialog.loginLinkText,
27061
27148
  openInNewWindow: false,
27062
27149
  isLogoutLink: false,
@@ -27065,7 +27152,7 @@ const PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
27065
27152
  primaryLinkApperance: true
27066
27153
  },
27067
27154
  {
27068
- href: this.loginManager.getLoginUrl(this.loginDialog.registerUrl),
27155
+ href: state$4.loginManager.getLoginUrl(this.loginDialog.registerUrl),
27069
27156
  linkText: this.loginDialog.createLoginLinkText,
27070
27157
  openInNewWindow: false,
27071
27158
  isLogoutLink: false,
@@ -27075,7 +27162,7 @@ const PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
27075
27162
  ];
27076
27163
  }
27077
27164
  setUserName() {
27078
- const userInfo = this.loginManager.getUserInfo();
27165
+ const userInfo = state$4.loginManager.getUserInfo();
27079
27166
  let name = "";
27080
27167
  if (!this.loggedin || !userInfo) {
27081
27168
  this.username = name;
@@ -27105,7 +27192,7 @@ const PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
27105
27192
  onLoginStateChange(e) {
27106
27193
  if (this.loggedin !== e.detail && this.emitEvents) {
27107
27194
  this.loggedin = e.detail;
27108
- this.loginStateChange.emit({ loggedIn: this.loggedin, token: this.loginManager.getToken() });
27195
+ this.loginStateChange.emit({ loggedIn: this.loggedin, token: state$4.loginManager.getToken() });
27109
27196
  this.setUserName();
27110
27197
  this.setToggleButtonText();
27111
27198
  }
@@ -27123,9 +27210,9 @@ const PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
27123
27210
  hostElementAttribute.loggedin = this.loggedin + '';
27124
27211
  }
27125
27212
  return (h(Host, Object.assign({}, hostElementAttribute), h("pn-nav-dropdown", { label: this.toggleButtonText, icon: "user", class: "siteheader-logindialog" }, this.loggedin && this.showProfileSelection ?
27126
- h("pn-marketweb-siteheader-login-profileselection", { loginDialog: this.loginDialog, loginManager: this.loginManager, loggedin: this.loggedin, i18n: this.i18n, idNamespace: this.emitEvents ? '1' : '2', endpoint: this.endpoint })
27213
+ h("pn-marketweb-siteheader-login-profileselection", { loginDialog: this.loginDialog, loggedin: this.loggedin, i18n: this.i18n, idNamespace: this.emitEvents ? '1' : '2', endpoint: this.endpoint })
27127
27214
  :
27128
- h("pn-marketweb-siteheader-login-links", { loginDialog: this.loginDialog, loginManager: this.loginManager, loggedin: this.loggedin, idNamespace: this.emitEvents ? '1' : '2', username: this.username }))));
27215
+ h("pn-marketweb-siteheader-login-links", { loginDialog: this.loginDialog, loggedin: this.loggedin, idNamespace: this.emitEvents ? '1' : '2', username: this.username }))));
27129
27216
  }
27130
27217
  get hostElement() { return this; }
27131
27218
  static get watchers() { return {
@@ -27144,7 +27231,6 @@ const PnMarketwebSiteheaderLoginLinklist$1 = class extends HTMLElement {
27144
27231
  this.heading = null;
27145
27232
  this.links = [];
27146
27233
  this.idNamespace = "";
27147
- this.loginManager = null;
27148
27234
  }
27149
27235
  componentWillLoad() {
27150
27236
  }
@@ -27192,7 +27278,7 @@ const PnMarketwebSiteheaderLoginLinklist$1 = class extends HTMLElement {
27192
27278
  return (h(Host, null, this.heading ? h("strong", null, this.heading) : null, h("ul", null, this.links.map((link) => {
27193
27279
  return (h("li", null, h("pn-button", Object.assign({ href: link.href, id: this.uniqueId(link.linkText) }, (link.openInNewWindow && { target: '_blank' }), this.linkAppearanceAttributes(link), { onClick: () => {
27194
27280
  if (link.isLogoutLink) {
27195
- this.loginManager.clearUserData();
27281
+ state$4.loginManager.clearUserData();
27196
27282
  }
27197
27283
  } }), link.linkText)));
27198
27284
  }))));
@@ -27208,7 +27294,6 @@ const PnMarketwebSiteheaderLoginLinks$1 = class extends HTMLElement {
27208
27294
  super();
27209
27295
  this.__registerHost();
27210
27296
  this.loginDialog = null;
27211
- this.loginManager = null;
27212
27297
  this.idNamespace = "";
27213
27298
  this.loggedin = false;
27214
27299
  this.username = "";
@@ -27229,11 +27314,11 @@ const PnMarketwebSiteheaderLoginLinks$1 = class extends HTMLElement {
27229
27314
  link.isLogoutLink = (link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1);
27230
27315
  }
27231
27316
  if (link.isLogoutLink) {
27232
- link.href = this.loginManager.getLogoutUrl(link.href);
27317
+ link.href = state$4.loginManager.getLogoutUrl(link.href);
27233
27318
  }
27234
27319
  link.href = link.href.replace("window.location.href", window.location.href);
27235
27320
  if (i === 0 && !link.href) {
27236
- link.href = this.loginManager.getLoginUrl();
27321
+ link.href = state$4.loginManager.getLoginUrl();
27237
27322
  link.linkType = 'primary';
27238
27323
  }
27239
27324
  if (link.primaryLinkApperance && !link.linkType) {
@@ -27248,7 +27333,7 @@ const PnMarketwebSiteheaderLoginLinks$1 = class extends HTMLElement {
27248
27333
  }
27249
27334
  this.loginDialog.legacyLoginLinks = [
27250
27335
  {
27251
- href: this.loginManager.getLoginUrl(this.loginDialog.loginUrl),
27336
+ href: state$4.loginManager.getLoginUrl(this.loginDialog.loginUrl),
27252
27337
  linkText: this.loginDialog.loginLinkText,
27253
27338
  openInNewWindow: false,
27254
27339
  isLogoutLink: false,
@@ -27257,7 +27342,7 @@ const PnMarketwebSiteheaderLoginLinks$1 = class extends HTMLElement {
27257
27342
  primaryLinkApperance: true
27258
27343
  },
27259
27344
  {
27260
- href: this.loginManager.getLoginUrl(this.loginDialog.registerUrl),
27345
+ href: state$4.loginManager.getLoginUrl(this.loginDialog.registerUrl),
27261
27346
  linkText: this.loginDialog.createLoginLinkText,
27262
27347
  openInNewWindow: false,
27263
27348
  isLogoutLink: false,
@@ -27281,14 +27366,14 @@ const PnMarketwebSiteheaderLoginLinks$1 = class extends HTMLElement {
27281
27366
  }
27282
27367
  return (h(Host, Object.assign({}, hostElementAttribute), (!this.loginDialog.overrideLoginMenu) ?
27283
27368
  h("div", { "data-loggedin": this.loggedin + '' }, (this.loggedin) ?
27284
- h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loggedInLinks, loginManager: this.loginManager, idNamespace: this.idNamespace })
27369
+ h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loggedInLinks, idNamespace: this.idNamespace })
27285
27370
  :
27286
27371
  h("div", null, ((_a = this.loginDialog.loginMenuLinks) === null || _a === void 0 ? void 0 : _a.length) > 0 ?
27287
- h("pn-marketweb-siteheader-login-linklist", { heading: this.loginDialog.loginTitle, links: this.loginDialog.loginMenuLinks, loginManager: this.loginManager, idNamespace: this.idNamespace })
27372
+ h("pn-marketweb-siteheader-login-linklist", { heading: this.loginDialog.loginTitle, links: this.loginDialog.loginMenuLinks, idNamespace: this.idNamespace })
27288
27373
  :
27289
- h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.legacyLoginLinks, loginManager: this.loginManager, idNamespace: this.idNamespace })))
27374
+ h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.legacyLoginLinks, idNamespace: this.idNamespace })))
27290
27375
  : null, (this.loginDialog.overrideLoginMenu) ?
27291
- h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loginMenuLinks, loginManager: this.loginManager, idNamespace: this.idNamespace })
27376
+ h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loginMenuLinks, idNamespace: this.idNamespace })
27292
27377
  : null));
27293
27378
  }
27294
27379
  get hostElement() { return this; }
@@ -27305,7 +27390,6 @@ const PnMarketwebSiteheaderLoginProfileselection$1 = class extends HTMLElement {
27305
27390
  super();
27306
27391
  this.__registerHost();
27307
27392
  this.loginDialog = null;
27308
- this.loginManager = null;
27309
27393
  this.endpoint = "";
27310
27394
  this.loggedin = false;
27311
27395
  this.idNamespace = "";
@@ -27439,10 +27523,10 @@ const PnMarketwebSiteheaderLoginProfileselection$1 = class extends HTMLElement {
27439
27523
  link.isLogoutLink = (link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1);
27440
27524
  }
27441
27525
  if (link.isLogoutLink) {
27442
- link.href = this.loginManager.getLogoutUrl(link.href);
27526
+ link.href = state$4.loginManager.getLogoutUrl(link.href);
27443
27527
  }
27444
27528
  if (i === 0 && !link.href) {
27445
- link.href = this.loginManager.getLoginUrl();
27529
+ link.href = state$4.loginManager.getLoginUrl();
27446
27530
  link.linkType = 'primary';
27447
27531
  }
27448
27532
  if (link.primaryLinkApperance && !link.linkType) {
@@ -27455,7 +27539,7 @@ const PnMarketwebSiteheaderLoginProfileselection$1 = class extends HTMLElement {
27455
27539
  this.logoutLink = (_d = (_c = this.loginDialog) === null || _c === void 0 ? void 0 : _c.loggedInLinks.filter(x => x.isLogoutLink)[0]) !== null && _d !== void 0 ? _d : null;
27456
27540
  }
27457
27541
  updateUserInfo() {
27458
- const userInfo = this.loginManager.getUserInfo();
27542
+ const userInfo = state$4.loginManager.getUserInfo();
27459
27543
  this.user = userInfo;
27460
27544
  if (!userInfo) {
27461
27545
  return;
@@ -27486,11 +27570,11 @@ const PnMarketwebSiteheaderLoginProfileselection$1 = class extends HTMLElement {
27486
27570
  let hostElementAttribute = {};
27487
27571
  return (h(Host, Object.assign({}, hostElementAttribute), this.heading ? h("strong", { class: "pn-marketweb-siteheader-login-profileselection-heading" }, this.heading) : null, this.currentProfile !== null && this.currentProfile.name ?
27488
27572
  h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile" }, h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile-name" }, this.currentProfile.name), h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile-description" }, this.currentProfile.customerNumber ? this.currentProfile.customerNumber : this.userEmail))
27489
- : null, h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loggedInLinks, loginManager: this.loginManager, idNamespace: this.idNamespace }), h("div", { class: "pn-marketweb-siteheader-login-profileselection-divider" }), this.profileoptions.filter(x => x.selected !== true).map((organization) => {
27573
+ : null, h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loggedInLinks, idNamespace: this.idNamespace }), h("div", { class: "pn-marketweb-siteheader-login-profileselection-divider" }), this.profileoptions.filter(x => x.selected !== true).map((organization) => {
27490
27574
  let customerNumber = (organization.profiles.length > 0) ? organization.profiles[0].customerNumber : organization.customerNumber;
27491
27575
  return (h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption" }, h("a", { href: `${this.endpoint}/api/user/setprofile?customernumber=${customerNumber}&returnUrl=${window.location.href}`, class: "pn-marketweb-siteheader-login-profileselection-profileoption-link" }, h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-content" }, h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-name" }, organization.name), h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-description" }, organization.customerNumber ? organization.customerNumber : this.userEmail)), h("pn-icon", { symbol: "arrow-right", small: "false", color: "blue700" }))));
27492
27576
  }), this.logoutLink ?
27493
- h("div", { class: "pn-marketweb-siteheader-login-profileselection-logout" }, h("a", { href: this.logoutLink.href, rel: "nofollower noopener", onClick: () => this.loginManager.clearUserData(), class: "pn-marketweb-siteheader-login-profileselection-logout-link" }, this.logoutLink.linkText))
27577
+ h("div", { class: "pn-marketweb-siteheader-login-profileselection-logout" }, h("a", { href: this.logoutLink.href, rel: "nofollower noopener", id: "pn-marketweb-header-logoutlink", onClick: () => state$4.loginManager.clearUserData(), class: "pn-marketweb-siteheader-login-profileselection-logout-link" }, this.logoutLink.linkText))
27494
27578
  : null));
27495
27579
  }
27496
27580
  get hostElement() { return this; }
@@ -27546,7 +27630,7 @@ const PnMarketwebSiteheaderSearch$1 = class extends HTMLElement {
27546
27630
  }
27547
27631
  }
27548
27632
  const req = await fetch(autocompleteUrl, { signal: state$3.requestAbortController.signal }).catch((e) => {
27549
- console.log('Unable to fetch autocomplete suggestions', e);
27633
+ console.warn('Unable to fetch autocomplete suggestions', e);
27550
27634
  });
27551
27635
  if (!req) {
27552
27636
  return;
@@ -27936,10 +28020,10 @@ const PnFindProductPricelist = class extends HTMLElement {
27936
28020
  }
27937
28021
  setState() {
27938
28022
  if (this.market) {
27939
- state$6.market = markets[this.market];
28023
+ state$7.market = markets[this.market];
27940
28024
  }
27941
28025
  if (this.language && translations$3[this.language]) {
27942
- state$6.i18n = translations$3[this.language];
28026
+ state$7.i18n = translations$3[this.language];
27943
28027
  }
27944
28028
  }
27945
28029
  async getDataSource() {
@@ -27997,7 +28081,7 @@ const PnFindProductPricelist = class extends HTMLElement {
27997
28081
  this.gotData = this.filteredItems.length > 0;
27998
28082
  }
27999
28083
  render() {
28000
- return (h(Host, null, h("div", { class: "content" }, h("slot", null)), this.loading ? (h("pn-spinner", null)) : null, (this.postagetype.value && weights[this.postagetype.value]) ? (h("div", { class: "weightselection" }, h("div", { class: "weightoption" }, h("div", { class: "weightoption-input" }, h("pn-input", { inputid: "weightvalue", name: "weightvalue", type: "number", label: state$6.i18n.weightlabel, value: this.weightvalue, onChange: (e) => {
28084
+ return (h(Host, null, h("div", { class: "content" }, h("slot", null)), this.loading ? (h("pn-spinner", null)) : null, (this.postagetype.value && weights[this.postagetype.value]) ? (h("div", { class: "weightselection" }, h("div", { class: "weightoption" }, h("div", { class: "weightoption-input" }, h("pn-input", { inputid: "weightvalue", name: "weightvalue", type: "number", label: state$7.i18n.weightlabel, value: this.weightvalue, onChange: (e) => {
28001
28085
  if (e && e.target && e.target.value) {
28002
28086
  const weightNum = parseInt(e.target.value, 10);
28003
28087
  if (!isNaN(weightNum)) {
@@ -28634,7 +28718,7 @@ const PnQuickCta$1 = class extends HTMLElement {
28634
28718
  static get style() { return pnQuickCtaCss; }
28635
28719
  };
28636
28720
 
28637
- const pnQuoteCardCss = "pn-quote-card .pn-quote-card__container{margin:0 auto;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;min-height:262px;padding:0 2.4rem}pn-quote-card .pn-quote-card__quote__container{padding:0 3.2rem}pn-quote-card .pn-quote-card__quote{position:relative;font-weight:400;font-size:2rem;line-height:140%;margin:0}pn-quote-card .pn-quote-card__quote svg{position:absolute;left:-3.2rem;top:0.2rem}pn-quote-card .pn-quote-card__reference__container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:start;justify-content:flex-start;gap:1.6rem;-ms-flex-align:center;align-items:center}pn-quote-card .pn-quote-card__reference__name{display:block;font-weight:400;font-size:2.4rem;line-height:2.9rem}pn-quote-card .pn-quote-card__reference__occupation{display:block;font-weight:400;font-size:1.4rem;line-height:1.7rem}pn-quote-card [slot=illustration]{padding:0}pn-quote-card [slot=illustration-big]{padding:0.8rem 0}pn-quote-card [slot=illustration],pn-quote-card [slot=illustration-big]{aspect-ratio:1/1}pn-quote-card [slot=illustration] picture,pn-quote-card [slot=illustration-big] picture{aspect-ratio:1/1}pn-quote-card [slot=illustration] picture img,pn-quote-card [slot=illustration-big] picture img{-webkit-clip-path:circle(50%);clip-path:circle(50%)}pn-quote-card[data-line-orientation=horizontal] [slot=horizontal-line]{display:-ms-flexbox;display:flex}pn-quote-card[data-line-orientation=horizontal] [slot=vertical-line]{display:none}pn-quote-card[data-line-orientation=vertical] [slot=horizontal-line]{display:none}pn-quote-card[data-line-orientation=vertical] [slot=vertical-line]{display:-ms-flexbox;display:flex}pn-quote-card[data-line-color=white] .pn-quote-card__section{background-color:#005D92;color:#FFFFFF}pn-quote-card[data-line-color=white] .pn-line-shape__line,pn-quote-card[data-line-color=white] .pn-line-shape__dot{border-color:#FFFFFF}pn-quote-card[data-line-color=white] .pn-quote-card__quote svg>path{fill:#FFFFFF}pn-quote-card[data-line-color=blue] .pn-quote-card__section{background-color:#FFFFFF}pn-quote-card[data-line-color=blue] .pn-line-shape__line,pn-quote-card[data-line-color=blue] .pn-line-shape__dot{border-color:#00A0D6}pn-quote-card[data-line-color=blue] .pn-quote-card__quote svg>path{fill:#00A0D6}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__section{max-width:100%;margin:0 auto}@media screen and (min-width: 992px){pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__section{max-width:70%}}@media screen and (min-width: 1200px){pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__section{max-width:60%}}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__container{min-height:unset;padding:0}@media screen and (min-width: 768px){pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__container{padding:0 2.4rem}}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__quote__container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;gap:3.2rem;padding:2.4rem 1.6rem 1.6rem 1.6rem}@media screen and (min-width: 768px){pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__quote__container{padding:2.4rem 3.2rem 1.6rem 3.2rem}}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__quote{font-size:1.6rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__quote{font-size:2rem}}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__quote svg{display:block;margin-bottom:0.8rem;position:relative;top:0;left:0}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__reference__container [slot=illustration] picture img{height:60px;width:60px}@media screen and (min-width: 992px){pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__reference__container [slot=illustration] picture img{height:90px;width:90px}}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__reference__name{font-size:1.6rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__reference__name{font-size:2.4rem}}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__reference__occupation{font-size:1.2rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__reference__occupation{font-size:1.4rem}}pn-quote-card[data-card-style=requestquotepage] .pn-quote-card__large-photo{display:none}pn-quote-card[data-card-style=startpage] .pn-quote-card__section{width:100%;margin:0 auto;padding-top:4rem;padding-bottom:4rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=startpage] .pn-quote-card__section{padding-bottom:0}}@media screen and (min-width: 1200px){pn-quote-card[data-card-style=startpage] .pn-quote-card__section{padding-top:10rem}}pn-quote-card[data-card-style=startpage] .pn-quote-card__container{min-height:10rem;padding-bottom:0}@media screen and (min-width: 768px){pn-quote-card[data-card-style=startpage] .pn-quote-card__container{max-width:90%;width:100%;}}@media screen and (min-width: 992px){pn-quote-card[data-card-style=startpage] .pn-quote-card__container{max-width:768px;width:100%;}}@media screen and (min-width: 1200px){pn-quote-card[data-card-style=startpage] .pn-quote-card__container{max-width:1140px;width:100%;padding:0 5.6rem;}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=startpage] .pn-quote-card__container{max-width:1440px;width:100%;padding:0 12rem;}}pn-quote-card[data-card-style=startpage] .pn-quote-card__quote__container{padding-bottom:0;padding-left:0;padding-right:0}@media screen and (min-width: 768px){pn-quote-card[data-card-style=startpage] .pn-quote-card__quote__container{padding-left:2.4rem;padding-right:2.4rem}}pn-quote-card[data-card-style=startpage] .pn-quote-card__quote{font-size:2rem;padding-left:2.4rem}pn-quote-card[data-card-style=startpage] .pn-quote-card__quote svg{left:-0.8rem;top:0.2rem}@media screen and (min-width: 768px){pn-quote-card[data-card-style=startpage] .pn-quote-card__quote{padding-left:4rem}pn-quote-card[data-card-style=startpage] .pn-quote-card__quote svg{left:0}}@media screen and (min-width: 992px){pn-quote-card[data-card-style=startpage] .pn-quote-card__quote{font-size:2.4rem}pn-quote-card[data-card-style=startpage] .pn-quote-card__quote svg{left:0;top:0.4rem;scale:1.3}}@media screen and (min-width: 1200px){pn-quote-card[data-card-style=startpage] .pn-quote-card__quote{padding-left:0;font-size:3.2rem}pn-quote-card[data-card-style=startpage] .pn-quote-card__quote svg{left:-4.8rem;top:1rem;scale:1.4}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=startpage] .pn-quote-card__quote{font-size:4rem}pn-quote-card[data-card-style=startpage] .pn-quote-card__quote svg{left:-6.4rem;top:1.6rem;scale:1.8}}pn-quote-card[data-card-style=startpage] .pn-quote-card__reference__container{-ms-flex-direction:row-reverse;flex-direction:row-reverse}pn-quote-card[data-card-style=startpage] [slot=illustration] picture>img{max-width:6rem;max-height:6rem}@media screen and (min-width: 768px){pn-quote-card[data-card-style=startpage] [slot=illustration] picture>img{max-width:10rem;max-height:10rem}}@media screen and (min-width: 1140px){pn-quote-card[data-card-style=startpage] [slot=illustration]{display:none}}pn-quote-card[data-card-style=startpage] .pn-quote-card__reference{text-align:right}pn-quote-card[data-card-style=startpage] .pn-quote-card__reference__name{display:block;font-size:1.4rem}@media screen and (min-width: 768px){pn-quote-card[data-card-style=startpage] .pn-quote-card__reference__name{font-size:1.6rem}}@media screen and (min-width: 992px){pn-quote-card[data-card-style=startpage] .pn-quote-card__reference__name{font-size:2rem}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=startpage] .pn-quote-card__reference__name{font-size:3.2rem;margin-bottom:1rem}}pn-quote-card[data-card-style=startpage] .pn-quote-card__reference__occupation{display:block;font-size:1.2rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=startpage] .pn-quote-card__reference__occupation{font-size:1.4rem}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=startpage] .pn-quote-card__reference__occupation{font-size:2rem}}pn-quote-card[data-card-style=startpage] .pn-quote-card__large-photo{display:none}@media screen and (min-width: 1140px){pn-quote-card[data-card-style=startpage] .pn-quote-card__large-photo{display:block}pn-quote-card[data-card-style=startpage] .pn-quote-card__large-photo>[slot=illustration-big]{width:18rem;height:18rem}pn-quote-card[data-card-style=startpage] .pn-quote-card__large-photo>[slot=illustration-big] picture>img{width:18rem;height:18rem}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=startpage] .pn-quote-card__large-photo{display:block;width:24rem;height:24rem}pn-quote-card[data-card-style=startpage] .pn-quote-card__large-photo>[slot=illustration-big]{width:24rem;height:24rem}pn-quote-card[data-card-style=startpage] .pn-quote-card__large-photo>[slot=illustration-big]>picture>img{width:24rem;height:24rem}}";
28721
+ const pnQuoteCardCss = "pn-quote-card .pn-quote-card__container{margin:0 auto;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;min-height:262px;padding:0 2.4rem}pn-quote-card .pn-quote-card__quote__container{padding:0 3.2rem}pn-quote-card .pn-quote-card__quote{position:relative;font-weight:400;font-size:2rem;line-height:140%;margin:0}pn-quote-card .pn-quote-card__quote svg{position:absolute;left:-3.2rem;top:0.2rem}pn-quote-card .pn-quote-card__reference__container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:start;justify-content:flex-start;gap:1.6rem;-ms-flex-align:center;align-items:center}pn-quote-card .pn-quote-card__reference__name{display:block;font-weight:400;font-size:2.4rem;line-height:2.9rem}pn-quote-card .pn-quote-card__reference__occupation{display:block;font-weight:400;font-size:1.4rem;line-height:1.7rem}pn-quote-card [slot=illustration]{padding:0}pn-quote-card [slot=illustration-big]{padding:0.8rem 0}pn-quote-card [slot=illustration],pn-quote-card [slot=illustration-big]{aspect-ratio:1/1}pn-quote-card [slot=illustration] picture,pn-quote-card [slot=illustration-big] picture{aspect-ratio:1/1}pn-quote-card [slot=illustration] picture img,pn-quote-card [slot=illustration-big] picture img{-webkit-clip-path:circle(50%);clip-path:circle(50%)}pn-quote-card [slot=horizontal-line],pn-quote-card [slot=vertical-line]{display:-ms-flexbox;display:flex}pn-quote-card[data-line-color=white] .pn-quote-card__section{background-color:#005D92;color:#FFFFFF}pn-quote-card[data-line-color=white] .pn-line-shape__line,pn-quote-card[data-line-color=white] .pn-line-shape__dot{border-color:#FFFFFF}pn-quote-card[data-line-color=white] .pn-quote-card__quote svg>path{fill:#FFFFFF}pn-quote-card[data-line-color=blue] .pn-quote-card__section{background-color:#FFFFFF}pn-quote-card[data-line-color=blue] .pn-line-shape__line,pn-quote-card[data-line-color=blue] .pn-line-shape__dot{border-color:#00A0D6}pn-quote-card[data-line-color=blue] .pn-quote-card__quote svg>path{fill:#00A0D6}pn-quote-card[data-card-style=standalone][data-line-color=white] .pn-quote-card__section{border-radius:2.4rem}pn-quote-card[data-card-style=standalone][data-line-color=white] .pn-quote-card__container{padding:2.4rem}pn-quote-card[data-card-style=standalone] .pn-quote-card__section{max-width:100%;margin:0 auto}@media screen and (min-width: 992px){pn-quote-card[data-card-style=standalone] .pn-quote-card__section{max-width:70%}}@media screen and (min-width: 1200px){pn-quote-card[data-card-style=standalone] .pn-quote-card__section{max-width:60%}}pn-quote-card[data-card-style=standalone] .pn-quote-card__container{min-height:unset;padding:0}@media screen and (min-width: 768px){pn-quote-card[data-card-style=standalone] .pn-quote-card__container{padding:0 2.4rem}}pn-quote-card[data-card-style=standalone] .pn-quote-card__quote__container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;gap:3.2rem;padding:2.4rem 1.6rem 1.6rem 1.6rem}@media screen and (min-width: 768px){pn-quote-card[data-card-style=standalone] .pn-quote-card__quote__container{padding:2.4rem 3.2rem 1.6rem 3.2rem}}pn-quote-card[data-card-style=standalone] .pn-quote-card__quote{font-size:1.6rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=standalone] .pn-quote-card__quote{font-size:2rem}}pn-quote-card[data-card-style=standalone] .pn-quote-card__quote svg{display:block;margin-bottom:0.8rem;position:relative;top:0;left:0}pn-quote-card[data-card-style=standalone] .pn-quote-card__reference__container [slot=illustration] picture img{height:60px;width:60px}@media screen and (min-width: 992px){pn-quote-card[data-card-style=standalone] .pn-quote-card__reference__container [slot=illustration] picture img{height:90px;width:90px}}pn-quote-card[data-card-style=standalone] .pn-quote-card__reference__name{font-size:1.6rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=standalone] .pn-quote-card__reference__name{font-size:2.4rem}}pn-quote-card[data-card-style=standalone] .pn-quote-card__reference__occupation{font-size:1.2rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=standalone] .pn-quote-card__reference__occupation{font-size:1.4rem}}pn-quote-card[data-card-style=standalone] .pn-quote-card__large-photo{display:none}pn-quote-card[data-card-style=combo] .pn-quote-card__section{width:100%;margin:0 auto;padding-top:4rem;padding-bottom:4rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=combo] .pn-quote-card__section{padding-bottom:0}}@media screen and (min-width: 1200px){pn-quote-card[data-card-style=combo] .pn-quote-card__section{padding-top:10rem}}pn-quote-card[data-card-style=combo] .pn-quote-card__container{min-height:10rem;padding-bottom:0}@media screen and (min-width: 768px){pn-quote-card[data-card-style=combo] .pn-quote-card__container{max-width:90%;width:100%}}@media screen and (min-width: 992px){pn-quote-card[data-card-style=combo] .pn-quote-card__container{max-width:768px;width:100%}}@media screen and (min-width: 1200px){pn-quote-card[data-card-style=combo] .pn-quote-card__container{max-width:1140px;width:100%;padding:0 5.6rem}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=combo] .pn-quote-card__container{max-width:1440px;width:100%;padding:0 12rem}}pn-quote-card[data-card-style=combo] .pn-quote-card__quote__container{padding-bottom:0;padding-left:0;padding-right:0}@media screen and (min-width: 768px){pn-quote-card[data-card-style=combo] .pn-quote-card__quote__container{padding-left:2.4rem;padding-right:2.4rem}}pn-quote-card[data-card-style=combo] .pn-quote-card__quote{font-size:2rem;padding-left:2.4rem}pn-quote-card[data-card-style=combo] .pn-quote-card__quote svg{left:-0.8rem;top:0.2rem}@media screen and (min-width: 768px){pn-quote-card[data-card-style=combo] .pn-quote-card__quote{padding-left:4rem}pn-quote-card[data-card-style=combo] .pn-quote-card__quote svg{left:0}}@media screen and (min-width: 992px){pn-quote-card[data-card-style=combo] .pn-quote-card__quote{font-size:2.4rem}pn-quote-card[data-card-style=combo] .pn-quote-card__quote svg{left:0;top:0.4rem;scale:1.3}}@media screen and (min-width: 1200px){pn-quote-card[data-card-style=combo] .pn-quote-card__quote{padding-left:0;font-size:3.2rem}pn-quote-card[data-card-style=combo] .pn-quote-card__quote svg{left:-4.8rem;top:1rem;scale:1.4}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=combo] .pn-quote-card__quote{font-size:4rem}pn-quote-card[data-card-style=combo] .pn-quote-card__quote svg{left:-6.4rem;top:1.6rem;scale:1.8}}pn-quote-card[data-card-style=combo] .pn-quote-card__reference__container{-ms-flex-direction:row-reverse;flex-direction:row-reverse}pn-quote-card[data-card-style=combo] [slot=illustration] picture>img{max-width:6rem;max-height:6rem}@media screen and (min-width: 768px){pn-quote-card[data-card-style=combo] [slot=illustration] picture>img{max-width:10rem;max-height:10rem}}@media screen and (min-width: 1140px){pn-quote-card[data-card-style=combo] [slot=illustration]{display:none}}pn-quote-card[data-card-style=combo] .pn-quote-card__reference{text-align:right}pn-quote-card[data-card-style=combo] .pn-quote-card__reference__name{display:block;font-size:1.4rem}@media screen and (min-width: 768px){pn-quote-card[data-card-style=combo] .pn-quote-card__reference__name{font-size:1.6rem}}@media screen and (min-width: 992px){pn-quote-card[data-card-style=combo] .pn-quote-card__reference__name{font-size:2rem}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=combo] .pn-quote-card__reference__name{font-size:3.2rem;margin-bottom:1rem}}pn-quote-card[data-card-style=combo] .pn-quote-card__reference__occupation{display:block;font-size:1.2rem}@media screen and (min-width: 992px){pn-quote-card[data-card-style=combo] .pn-quote-card__reference__occupation{font-size:1.4rem}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=combo] .pn-quote-card__reference__occupation{font-size:2rem}}pn-quote-card[data-card-style=combo] .pn-quote-card__large-photo{display:none}@media screen and (min-width: 1140px){pn-quote-card[data-card-style=combo] .pn-quote-card__large-photo{display:block}pn-quote-card[data-card-style=combo] .pn-quote-card__large-photo>[slot=illustration-big]{width:18rem;height:18rem}pn-quote-card[data-card-style=combo] .pn-quote-card__large-photo>[slot=illustration-big] picture>img{width:18rem;height:18rem}}@media screen and (min-width: 1640px){pn-quote-card[data-card-style=combo] .pn-quote-card__large-photo{display:block;width:24rem;height:24rem}pn-quote-card[data-card-style=combo] .pn-quote-card__large-photo>[slot=illustration-big]{width:24rem;height:24rem}pn-quote-card[data-card-style=combo] .pn-quote-card__large-photo>[slot=illustration-big]>picture>img{width:24rem;height:24rem}}";
28638
28722
 
28639
28723
  const PnQuoteCard$1 = class extends HTMLElement {
28640
28724
  constructor() {
@@ -29135,7 +29219,7 @@ const PnStatsInfoData$1 = class extends HTMLElement {
29135
29219
  static get style() { return pnStatsInfoDataCss; }
29136
29220
  };
29137
29221
 
29138
- const pnTeaserCardCss = ".block.teasercardblock a[data-block-clickable-link=true]{z-index:1}pn-teaser-card{width:100%;height:100%;display:-ms-flexbox;display:flex}pn-teaser-card .pn-teaser-card__container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start;border-radius:2.4rem;width:100%}pn-teaser-card .pn-teaser-card__container__image__container{width:100%;position:relative}pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]{-webkit-clip-path:ellipse(100% 90% at 50% 0%);clip-path:ellipse(100% 90% at 50% 0%);height:100%;overflow:hidden;border-top-left-radius:2.4rem;border-top-right-radius:2.4rem}pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]>picture>img{width:100%;height:auto;-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out;-webkit-transform:scale(1);transform:scale(1);aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 0;object-position:50% 0}pn-teaser-card .pn-teaser-card__container__content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;-ms-flex:1 1 100%;flex:1 1 100%;gap:3.2rem;padding:2.4rem 2.4rem;padding-top:0}pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:2.4rem;line-height:2.64rem;margin-bottom:0}pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{padding-top:1.6rem;font-weight:400;font-size:1.6rem;line-height:2.24rem;margin-bottom:0}pn-teaser-card .pn-teaser-card__container__content__text__container__label{display:block;margin-bottom:1.6rem;font-weight:400;font-size:1.2rem;line-height:140%}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button{-ms-flex-item-align:end;align-self:flex-end;width:100%}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button a:hover{text-decoration:none}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button>button>.pn-button-bg,pn-teaser-card .pn-teaser-card__container__content__cta>pn-button>a>.pn-button-bg{-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out}@media screen and (min-width: 768px){pn-teaser-card .pn-teaser-card__container__content__cta>pn-button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500;font-size:1.6rem;text-decoration:none;color:#005D92}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated pn-icon svg{-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;position:relative;left:-0.3rem}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated pn-icon svg path{fill:#005D92}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated[target=_blank]:not(.pn-button):after{display:none}pn-teaser-card[data-card-color=coral]>.pn-teaser-card__container{background-color:#FDEFEE}pn-teaser-card[data-card-color=green]>.pn-teaser-card__container{background-color:#DCF6E7}pn-teaser-card[data-card-color=blue]>.pn-teaser-card__container{background-color:#EFFBFF}pn-teaser-card[data-card-color=white]>.pn-teaser-card__container{background-color:#FFFFFF}@media screen and (min-width: 1200px){.onequarterwidth .pn-teaser-card__container__content__text__container__label{margin-bottom:0.8rem}}.onethirdwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image,.onequarterwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:2.4rem}.onethirdwidth .pn-teaser-card__container__content__cta .secondary-link--animated,.onequarterwidth .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.halfwidth pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.halfwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:2.4rem}@media screen and (min-width: 992px){.halfwidth pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500}}@media screen and (min-width: 1200px){.halfwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:4rem}.halfwidth pn-teaser-card .pn-teaser-card__container__content{padding:0 4rem 4rem}.halfwidth pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:3.2rem;line-height:3.52rem}.halfwidth pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{font-weight:400;font-size:2rem;line-height:2.8rem}}@media screen and (min-width: 1640px){.halfwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:5.6rem}.halfwidth pn-teaser-card .pn-teaser-card__container__content{padding:0 5.6rem 5.6rem}}.fullwidth pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.fullwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{width:auto;padding-top:2.4rem}@media screen and (min-width: 768px){.fullwidth pn-teaser-card{min-height:35rem}.fullwidth pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500}.fullwidth pn-teaser-card .pn-teaser-card__container{-ms-flex-direction:row;flex-direction:row}.fullwidth pn-teaser-card .pn-teaser-card__container__content{-ms-flex-item-align:center;align-self:center;gap:2.4rem;padding:3.2rem 3.2rem 3.2rem 2.4rem}.fullwidth pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]{border-top-left-radius:2.4rem;border-bottom-left-radius:2.4rem;-webkit-clip-path:ellipse(100% 100% at 0% 50%);clip-path:ellipse(100% 100% at 0% 50%)}.fullwidth pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]>picture>img{height:100%;-o-object-fit:cover;object-fit:cover}}@media screen and (min-width: 1200px){.fullwidth pn-teaser-card{min-height:52rem}.fullwidth pn-teaser-card .pn-teaser-card__container__content{padding:4rem 4rem 4rem 3.2rem}.fullwidth pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:4.8rem;line-height:5.28rem}.fullwidth pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{font-size:2rem;line-height:2.8rem}}@media screen and (min-width: 768px){.fullwidth pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.fullwidth pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__content{padding:3.2rem 2.4rem 3.2rem 3.2rem}.fullwidth pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__image__container>[slot=illustration]{border-bottom-right-radius:2.4rem;-webkit-clip-path:ellipse(100% 100% at 100% 50%);clip-path:ellipse(100% 100% at 100% 50%)}}@media screen and (min-width: 1200px){.fullwidth pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__content{padding:4rem 3.2rem 4rem 4rem}}pn-teaser-card.teaser-card--hover-effect:hover{cursor:pointer}pn-teaser-card.teaser-card--hover-effect:hover .pn-teaser-card__container__image__container [slot=illustration] picture>img{-webkit-transform:scale(1.02);transform:scale(1.02);-webkit-filter:brightness(0.85);filter:brightness(0.85)}pn-teaser-card.teaser-card--hover-effect:hover .secondary-link--animated{text-decoration:underline}pn-teaser-card.teaser-card--hover-effect:hover .secondary-link--animated pn-icon svg{left:0}pn-teaser-card.teaser-card--hover-effect:hover pn-button button .pn-button-bg,pn-teaser-card.teaser-card--hover-effect:hover pn-button a .pn-button-bg{background-color:#0D234B}";
29222
+ const pnTeaserCardCss = ".block.teasercardblock a[data-block-clickable-link=true]{z-index:1}pn-teaser-card{width:100%;height:100%;display:-ms-flexbox;display:flex}pn-teaser-card .pn-teaser-card__container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start;border-radius:2.4rem;width:100%}pn-teaser-card .pn-teaser-card__container__image__container{width:100%;position:relative}pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]{-webkit-clip-path:ellipse(100% 90% at 50% 0%);clip-path:ellipse(100% 90% at 50% 0%);height:100%;overflow:hidden;border-top-left-radius:2.4rem;border-top-right-radius:2.4rem}pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]>picture>img{width:100%;height:auto;-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out;-webkit-transform:scale(1);transform:scale(1);aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 0;object-position:50% 0}pn-teaser-card .pn-teaser-card__container__content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;-ms-flex:1 1 100%;flex:1 1 100%;gap:3.2rem;padding:2.4rem 2.4rem;padding-top:0}pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:2.4rem;line-height:2.64rem;margin-bottom:0}pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{padding-top:1.6rem;font-weight:400;font-size:1.6rem;line-height:2.24rem;margin-bottom:0}pn-teaser-card .pn-teaser-card__container__content__text__container__label{display:block;margin-bottom:1.6rem;font-weight:400;font-size:1.2rem;line-height:140%}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button{-ms-flex-item-align:end;align-self:flex-end;width:100%}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button a:hover{text-decoration:none}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button>button>.pn-button-bg,pn-teaser-card .pn-teaser-card__container__content__cta>pn-button>a>.pn-button-bg{-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out}@media screen and (min-width: 768px){pn-teaser-card .pn-teaser-card__container__content__cta>pn-button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500;font-size:1.6rem;text-decoration:none;color:#005D92}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated pn-icon svg{-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;position:relative;left:-0.3rem}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated pn-icon svg path{fill:#005D92}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated[target=_blank]:not(.pn-button):after{display:none}pn-teaser-card[data-card-color=coral]>.pn-teaser-card__container{background-color:#FDEFEE}pn-teaser-card[data-card-color=green]>.pn-teaser-card__container{background-color:#DCF6E7}pn-teaser-card[data-card-color=blue]>.pn-teaser-card__container{background-color:#EFFBFF}pn-teaser-card[data-card-color=white]>.pn-teaser-card__container{background-color:#FFFFFF}.teasercardlistblock .teasercardblock.has-bg{background-color:transparent;background:transparent}@media screen and (min-width: 1200px){.onequarterwidth .pn-teaser-card__container__content__text__container__label{margin-bottom:0.8rem}}.onethirdwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image,.onequarterwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:2.4rem}.onethirdwidth .pn-teaser-card__container__content__cta .secondary-link--animated,.onequarterwidth .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.halfwidth pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.halfwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:2.4rem}@media screen and (min-width: 992px){.halfwidth pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500}}@media screen and (min-width: 1200px){.halfwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:4rem}.halfwidth pn-teaser-card .pn-teaser-card__container__content{padding:0 4rem 4rem}.halfwidth pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:3.2rem;line-height:3.52rem}.halfwidth pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{font-weight:400;font-size:2rem;line-height:2.8rem}}@media screen and (min-width: 1640px){.halfwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:5.6rem}.halfwidth pn-teaser-card .pn-teaser-card__container__content{padding:0 5.6rem 5.6rem}}.fullwidth pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.fullwidth pn-teaser-card .pn-teaser-card__container__image__container--no-image{width:auto;padding-top:2.4rem}@media screen and (min-width: 768px){.fullwidth pn-teaser-card{min-height:35rem}.fullwidth pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500}.fullwidth pn-teaser-card .pn-teaser-card__container{-ms-flex-direction:row;flex-direction:row}.fullwidth pn-teaser-card .pn-teaser-card__container__content{-ms-flex-item-align:center;align-self:center;gap:2.4rem;padding:3.2rem 3.2rem 3.2rem 2.4rem}.fullwidth pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]{border-top-left-radius:2.4rem;border-bottom-left-radius:2.4rem;-webkit-clip-path:ellipse(100% 100% at 0% 50%);clip-path:ellipse(100% 100% at 0% 50%)}.fullwidth pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]>picture>img{height:100%;-o-object-fit:cover;object-fit:cover}}@media screen and (min-width: 1200px){.fullwidth pn-teaser-card{min-height:52rem}.fullwidth pn-teaser-card .pn-teaser-card__container__content{padding:4rem 4rem 4rem 3.2rem}.fullwidth pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:4.8rem;line-height:5.28rem}.fullwidth pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{font-size:2rem;line-height:2.8rem}}@media screen and (min-width: 768px){.fullwidth pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.fullwidth pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__content{padding:3.2rem 2.4rem 3.2rem 3.2rem}.fullwidth pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__image__container>[slot=illustration]{border-bottom-right-radius:2.4rem;-webkit-clip-path:ellipse(100% 100% at 100% 50%);clip-path:ellipse(100% 100% at 100% 50%)}}@media screen and (min-width: 1200px){.fullwidth pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__content{padding:4rem 3.2rem 4rem 4rem}}pn-teaser-card.teaser-card--hover-effect:hover{cursor:pointer}pn-teaser-card.teaser-card--hover-effect:hover .pn-teaser-card__container__image__container [slot=illustration] picture>img{-webkit-transform:scale(1.02);transform:scale(1.02);-webkit-filter:brightness(0.85);filter:brightness(0.85)}pn-teaser-card.teaser-card--hover-effect:hover .secondary-link--animated{text-decoration:underline}pn-teaser-card.teaser-card--hover-effect:hover .secondary-link--animated pn-icon svg{left:0}pn-teaser-card.teaser-card--hover-effect:hover pn-button button .pn-button-bg,pn-teaser-card.teaser-card--hover-effect:hover pn-button a .pn-button-bg{background-color:#0D234B}";
29139
29223
 
29140
29224
  const PnTeaserCard$1 = class extends HTMLElement {
29141
29225
  constructor() {
@@ -29202,11 +29286,11 @@ const PnMainnavList = /*@__PURE__*/proxyCustomElement(PnMainnavList$1, [4,"pn-ma
29202
29286
  const PnMarketwebInput = /*@__PURE__*/proxyCustomElement(PnMarketwebInput$1, [0,"pn-marketweb-input",{"disabled":[4],"error":[1],"invalid":[4],"helpertext":[1],"label":[1],"placeholder":[1],"inputid":[1],"name":[1],"required":[4],"type":[1025],"autocomplete":[1],"valid":[4],"value":[1],"maxlength":[1],"min":[1],"max":[1],"step":[1],"pattern":[1],"showText":[32]}]);
29203
29287
  const PnMarketwebSearch = /*@__PURE__*/proxyCustomElement(PnMarketwebSearch$1, [1,"pn-marketweb-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"list":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4],"suggestionObserver":[32],"hasClonedInput":[32],"listSuggestion":[32]},[[0,"input","inputHandler"]]]);
29204
29288
  const PnMarketwebSitefooter = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheader$2, [4,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDomainInUrls":[4,"site-domain-in-urls"],"cache":[4],"theme":[513],"backgroundcolor":[513],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]);
29205
- const PnMarketwebSiteheader = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheader$1, [4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"siteid":[1],"environment":[1537],"userToken":[1,"user-token"],"userFullname":[1,"user-fullname"],"userLoggedin":[516,"user-loggedin"],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideHomeMenuItem":[1540,"hide-home-menu-item"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"showProfileSelection":[1540,"show-profile-selection"],"siteDomainInUrls":[4,"site-domain-in-urls"],"AutocompleteEndpoint":[1,"autocomplete-endpoint"],"sessionForward":[4,"session-forward"],"cache":[4],"searchPlaceholder":[1,"search-placeholder"],"spaMode":[4,"spa-mode"],"i18n":[32],"gotData":[32],"fetchingData":[32],"homePageLink":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"languageOptions":[32],"loginDialog":[32],"minimizeSearch":[32],"loggedIn":[32],"loginManager":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]);
29206
- const PnMarketwebSiteheaderLogin = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLogin$1, [0,"pn-marketweb-siteheader-login",{"endpoint":[1],"token":[1],"i18n":[16],"siteUrl":[1,"site-url"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"fullname":[1],"loggedin":[4],"showProfileSelection":[1028,"show-profile-selection"],"loginManager":[32],"loginLinks":[32],"toggleButtonText":[32],"username":[32]}]);
29207
- const PnMarketwebSiteheaderLoginLinklist = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLoginLinklist$1, [0,"pn-marketweb-siteheader-login-linklist",{"heading":[1],"links":[16],"idNamespace":[1,"id-namespace"],"loginManager":[16]}]);
29208
- const PnMarketwebSiteheaderLoginLinks = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLoginLinks$1, [0,"pn-marketweb-siteheader-login-links",{"loginDialog":[1040],"loginManager":[16],"idNamespace":[1,"id-namespace"],"loggedin":[516],"username":[1]}]);
29209
- const PnMarketwebSiteheaderLoginProfileselection = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLoginProfileselection$1, [0,"pn-marketweb-siteheader-login-profileselection",{"loginDialog":[1040],"loginManager":[16],"endpoint":[1],"loggedin":[4],"idNamespace":[1,"id-namespace"],"heading":[1],"i18n":[16],"currentProfile":[1040],"profileoptions":[1040],"user":[32],"logoutLink":[32],"userName":[32],"userEmail":[32]}]);
29289
+ const PnMarketwebSiteheader = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheader$1, [4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"siteid":[1],"environment":[1537],"userToken":[1,"user-token"],"userFullname":[1,"user-fullname"],"userLoggedin":[516,"user-loggedin"],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideHomeMenuItem":[1540,"hide-home-menu-item"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"showProfileSelection":[1540,"show-profile-selection"],"siteDomainInUrls":[4,"site-domain-in-urls"],"AutocompleteEndpoint":[1,"autocomplete-endpoint"],"sessionForward":[4,"session-forward"],"cache":[4],"searchPlaceholder":[1,"search-placeholder"],"spaMode":[4,"spa-mode"],"checkUserLoggedInStateInterval":[2,"check-user-logged-in-state-interval"],"i18n":[32],"gotData":[32],"fetchingData":[32],"homePageLink":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"languageOptions":[32],"loginDialog":[32],"minimizeSearch":[32],"loggedIn":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]);
29290
+ const PnMarketwebSiteheaderLogin = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLogin$1, [0,"pn-marketweb-siteheader-login",{"endpoint":[1],"token":[1],"i18n":[16],"siteUrl":[1,"site-url"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"fullname":[1],"loggedin":[4],"showProfileSelection":[1028,"show-profile-selection"],"checkUserLoggedInStateInterval":[2,"check-user-logged-in-state-interval"],"loginLinks":[32],"toggleButtonText":[32],"username":[32]}]);
29291
+ const PnMarketwebSiteheaderLoginLinklist = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLoginLinklist$1, [0,"pn-marketweb-siteheader-login-linklist",{"heading":[1],"links":[16],"idNamespace":[1,"id-namespace"]}]);
29292
+ const PnMarketwebSiteheaderLoginLinks = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLoginLinks$1, [0,"pn-marketweb-siteheader-login-links",{"loginDialog":[1040],"idNamespace":[1,"id-namespace"],"loggedin":[516],"username":[1]}]);
29293
+ const PnMarketwebSiteheaderLoginProfileselection = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLoginProfileselection$1, [0,"pn-marketweb-siteheader-login-profileselection",{"loginDialog":[1040],"endpoint":[1],"loggedin":[4],"idNamespace":[1,"id-namespace"],"heading":[1],"i18n":[16],"currentProfile":[1040],"profileoptions":[1040],"user":[32],"logoutLink":[32],"userName":[32],"userEmail":[32]}]);
29210
29294
  const PnMarketwebSiteheaderSearch = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderSearch$1, [0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"language":[1537],"siteid":[1],"search":[1040],"primary":[4],"icononly":[4],"autoCompleteOptions":[32]}]);
29211
29295
  const PnParcelTracker = /*@__PURE__*/proxyCustomElement(PnSpotlight$2, [0,"pn-parcel-tracker",{"formActionUrl":[1,"form-action-url"],"heading":[1],"buttonLabel":[1,"button-label"],"locale":[1],"placeholder":[1],"inputName":[1,"input-name"],"currentWidth":[32]},[[9,"resize","handleViewportSizeChange"]]]);
29212
29296
  const PnPexPricefinder = /*@__PURE__*/proxyCustomElement(PnPexPricefinder$1, [0,"pn-pex-pricefinder",{"language":[1],"currency":[1],"apiUrl":[1,"api-url"],"i18n":[32],"fromzip":[32],"tozip":[32],"weight":[32],"when":[32],"response":[32]},[[0,"language","setLanguage"]]]);