@postnord/pn-marketweb-components 2.3.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/{MarketWebContextService-392b4585.js → MarketWebContextService-f77b4a5f.js} +61 -59
- package/cjs/pn-language-selector_9.cjs.entry.js +22 -13
- package/cjs/pn-marketweb-sitefooter.cjs.entry.js +1 -1
- package/cjs/pn-marketweb-siteheader.cjs.entry.js +1 -1
- package/cjs/pn-proxio-findprice.cjs.entry.js +1 -1
- package/cjs/pn-proxio-pricegroup.cjs.entry.js +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js +3 -2
- package/collection/components/navigation/pn-language-selector/translations.js +22 -13
- package/collection/globals/MarketWebContextService.js +61 -59
- package/custom-elements/index.js +83 -72
- package/esm/{MarketWebContextService-872043cc.js → MarketWebContextService-3ed3fe80.js} +61 -59
- package/esm/pn-language-selector_9.entry.js +22 -13
- package/esm/pn-marketweb-sitefooter.entry.js +1 -1
- package/esm/pn-marketweb-siteheader.entry.js +1 -1
- package/esm/pn-proxio-findprice.entry.js +1 -1
- package/esm/pn-proxio-pricegroup.entry.js +1 -1
- package/esm-es5/MarketWebContextService-3ed3fe80.js +1 -0
- package/esm-es5/pn-language-selector_9.entry.js +1 -1
- package/esm-es5/pn-marketweb-sitefooter.entry.js +1 -1
- package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
- package/esm-es5/pn-proxio-findprice.entry.js +1 -1
- package/esm-es5/pn-proxio-pricegroup.entry.js +1 -1
- package/package.json +1 -1
- package/pn-market-web-components/{p-5176eaf3.entry.js → p-30d3dc6f.entry.js} +1 -1
- package/pn-market-web-components/p-67887512.system.js +1 -1
- package/pn-market-web-components/{p-befd7c8d.entry.js → p-77c907d9.entry.js} +1 -1
- package/pn-market-web-components/p-783b4892.js +1 -0
- package/pn-market-web-components/{p-dc714241.entry.js → p-803088a3.entry.js} +1 -1
- package/pn-market-web-components/p-861def61.entry.js +1 -0
- package/pn-market-web-components/p-8f1b7c70.system.entry.js +1 -0
- package/pn-market-web-components/{p-fe417bbb.system.entry.js → p-906719be.system.entry.js} +1 -1
- package/pn-market-web-components/{p-dd0b02de.entry.js → p-9c2c1aa2.entry.js} +1 -1
- package/pn-market-web-components/p-cb53b67f.system.js +1 -0
- package/pn-market-web-components/{p-9c18464d.system.entry.js → p-efe598a8.system.entry.js} +1 -1
- package/pn-market-web-components/{p-ed990629.system.entry.js → p-f008015e.system.entry.js} +1 -1
- package/pn-market-web-components/{p-5b802a17.system.entry.js → p-f583fba4.system.entry.js} +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/types/components/navigation/pn-language-selector/translations.d.ts +9 -0
- package/esm-es5/MarketWebContextService-872043cc.js +0 -1
- package/pn-market-web-components/p-31fd7a95.system.js +0 -1
- package/pn-market-web-components/p-74120b9b.js +0 -1
- package/pn-market-web-components/p-84193b02.system.entry.js +0 -1
- package/pn-market-web-components/p-b3bf353f.entry.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,e as t,h as n,a as i,g as s}from"./p-58e8d7d5.js";import{s as o,o as a}from"./p-84699999.js";import{s as r}from"./p-f61342c3.js";import{c as l}from"./p-86f06e26.js";const h={sv:{heading:"Språk"},en:{heading:"Language"},da:{heading:"Sprog"},no:{heading:"Språk"},fi:{heading:"Kieli"},de:{heading:"Sprache"}};let d=class{constructor(n){e(this,n),this.setLanguage=t(this,"setLanguage",7),this.value="",this.selectedLanguageName="",this.options=[]}componentWillLoad(){this.setInitialSelectedLanguageName(),this.setTranslations()}componentDidLoad(){this.initialize()}initialize(){this.setSelectedLanguageName(),this.addEventBindingsToOptions()}setInitialSelectedLanguageName(){if(!window.Intl||!this.value)return;const e=new Intl.DisplayNames([this.value],{type:"language"});if(!e)return;const t=e.of(this.value);t&&(this.selectedLanguageName=t.charAt(0).toUpperCase()+t.slice(1))}addEventBindingsToOptions(){[].slice.apply(this.hostElement.querySelectorAll("pn-language-selector-option")).map((e=>{e.removeEventListener("setCurrentLanguage",(e=>{this.onSetCurrentLanguage(e.detail)})),e.addEventListener("setCurrentLanguage",(e=>{this.onSetCurrentLanguage(e.detail)}))}))}setSelectedLanguageName(){[].slice.apply(this.hostElement.querySelectorAll("pn-language-selector-option")).map((e=>{e.getAttribute("code")==this.value&&(this.selectedLanguageName=e.getAttribute("name"))}))}onSetCurrentLanguage(e){this.value=e.code,this.selectedLanguageName=e.name,this.setLanguage.emit(this.value)}setTranslations(){h[this.value]&&(this.i18n=h[this.value])}onValueChange(){var e;(null!==(e=this.hostElement.querySelectorAll("pn-language-selector-option"))&&void 0!==e?e:[]).forEach((e=>{const t=(e.getAttribute("code")===this.value)+"";e.getAttribute("selected")+""!==t&&e.setAttribute("selected",t)}))}render(){return n(i,{value:this.value},n("pn-nav-dropdown",{label:this.selectedLanguageName,icon:"globe"},n("nav",{class:"languageselector-nav","aria-label":this.i18n.heading},n("strong",{class:"languageselector-title"},this.i18n.heading),n("div",{class:"languageselector-list",role:"list"},n("slot",null)))))}get hostElement(){return s(this)}static get watchers(){return{value:["setSelectedLanguageName","setTranslations","onValueChange"]}}};d.style="pn-language-selector{max-height:5.2rem}pn-language-selector pn-nav-dropdown:not([data-open]) .nav-dropdown-content-container,pn-language-selector pn-nav-dropdown[data-open=false] .nav-dropdown-content-container{display:none}pn-language-selector pn-nav-dropdown{display:block}.languageselector{position:relative}.languageselector-togglebtn{cursor:pointer;border:0;padding:0.64rem 0;background-color:#FFFFFF;color:#005D92;font-size:1.6rem}.languageselector-togglebtn:hover,.languageselector-togglebtn:focus,.languageselector-togglebtn:active{color:#0D234B;text-decoration:underline}.languageselector-togglebtn svg{width:1.9rem;height:1.9rem}.languageselector-title{padding:0.8rem 1.6rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.languageselector-list{margin:0;padding:0;list-style:none}";let c=class{constructor(n){e(this,n),this.setCurrentLanguage=t(this,"setCurrentLanguage",7),this.name="",this.code="",this.url="",this.selected=!1}onOptionClick(){this.setCurrentLanguage.emit({name:this.name,code:this.code,url:this.url,current:!0})}render(){return n(i,{role:"listitem",selected:this.selected+"",code:this.code,name:this.name},this.url?n("a",{href:this.url,target:"_self",class:"languageselector-link","data-langcode":this.code},n("span",{class:"languageselector-radio-outer"},n("span",{class:"languageselector-radio-inner"})),n("span",{class:"languageselector-itemtext"},this.name," - ",this.code)):n("button",{class:"languageselector-button","data-langcode":this.code,onClick:this.onOptionClick.bind(this)},n("span",{class:"languageselector-radio-outer"},n("span",{class:"languageselector-radio-inner"})),n("span",{class:"languageselector-itemtext"},this.name," - ",this.code)))}};c.style="pn-language-selector-option{margin:0;padding:0;list-style:none}.languageselector-button,.languageselector-link{width:100%;padding:1.1rem 1.6rem 1.1rem 1.4rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:relative;text-decoration:none;border:0;cursor:pointer;background-color:#FFFFFF;color:#005D92;font-size:1.6rem;font-weight:bold;border-radius:0}.languageselector-button:hover,.languageselector-button:focus,.languageselector-button:active,.languageselector-link:hover,.languageselector-link:focus,.languageselector-link:active{color:#0D234B;text-decoration:underline;-webkit-box-shadow:none;box-shadow:none;background-color:#F3F2F2;color:#005D92;outline:none}.languageselector-itemtext{display:inline-block;margin-left:1rem}.languageselector-radio-outer{background:#fff;border:0.1em solid #D3CECB;border-radius:50%;height:1.5em;width:1.5em;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-webkit-transition:border 0.2s ease-in-out, background-color 0.2s ease-in-out, -webkit-box-shadow 0.1s;transition:border 0.2s ease-in-out, background-color 0.2s ease-in-out, -webkit-box-shadow 0.1s;transition:border 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.1s;transition:border 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.1s, -webkit-box-shadow 0.1s;cursor:pointer}.languageselector-radio-outer:focus>.languageselector-radio-outer,.languageselector-radio-outer:active>.languageselector-radio-outer{-webkit-box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005D92;box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005D92}.languageselector-radio-outer:hover>.languageselector-radio-outer{border:0.1rem solid #005D92;background:#E0F8FF}[selected=true] .languageselector-radio-outer{border:0.1rem solid #005D92}.languageselector-radio-inner{-webkit-transform:scale(0);transform:scale(0);height:1em;width:1em;background-color:#005D92;border-radius:50%;-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:-webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:-webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92), -webkit-transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}[selected=true] .languageselector-radio-inner{-webkit-transform:scale(1);transform:scale(1)}";const m={sv:{menuHomeButton:"Hem",menuGoBackButton:"Gå tillbaka",mainMenuButton:"Meny",menuStartButton:"Start",navLabel:"Huvudnavigation"},en:{menuHomeButton:"Home",menuGoBackButton:"Go back",mainMenuButton:"Menu",menuStartButton:"Start",navLabel:"Main navigation"},da:{menuHomeButton:"Hjem",menuGoBackButton:"Gå tilbage",mainMenuButton:"Menu",menuStartButton:"Start",navLabel:"Hovednavigation"},no:{menuHomeButton:"Hjem",menuGoBackButton:"Gå tilbake",mainMenuButton:"Meny",menuStartButton:"Start",navLabel:"Hovednavigasjon"},de:{menuHomeButton:"Home",menuGoBackButton:"Geh zurück",mainMenuButton:"Menü",menuStartButton:"Start",navLabel:"Hauptnavigation"}};let u=class{constructor(n){e(this,n),this.menuLanguageChange=t(this,"menuLanguageChange",7),this.marketChange=t(this,"marketChange",7),this.menuOpenChange=t(this,"menuOpenChange",7),this.market="se",this.language="sv",this.navigationId="mainnav",this.openMenu=!1,this.navLabel=""}componentWillLoad(){this.init(),document.removeEventListener("mousedown",this._onClickOutside.bind(this)),document.addEventListener("mousedown",this._onClickOutside.bind(this))}async init(){this.setLanguage(),this.setMarket()}_onClickOutside(e){!this.hostElement.contains(e.target)&&(o.openLevel="")}setLanguage(){this.menuLanguageChange.emit(this.language)}setMarket(){this.marketChange.emit(this.market)}onLanguageChange(e){m[e.detail]&&(o.i18n=m[e.detail],this.navLabel||(this.navLabel=o.i18n.navLabel))}setMenuOpenState(){o.openMenu=!o.openMenu,this.menuOpenChange.emit(o.openMenu)}onOpenMenuLevelChange(e){o.openLevel=e.detail}render(){return n(i,null,n("div",{class:"mainnav-toggle"},n("button",{"aria-controls":this.navigationId,"aria-expanded":o.openMenu+"",onClick:this.setMenuOpenState.bind(this)},o.i18n.mainMenuButton,n("pn-icon",{symbol:o.openMenu?"close":"bars",color:"white"}))),n("nav",{class:"mainnav","aria-label":this.navLabel,"data-menu-open":o.openMenu+"","data-menu-currentlevel":o.currentLevel,id:this.navigationId},n("slot",null)))}get hostElement(){return s(this)}};u.style="pn-mainnav{display:-ms-flexbox;display:flex;-ms-flex-flow:row-reverse;flex-flow:row-reverse;position:relative;width:100%;min-height:5.1rem}@media screen and (min-width: 48em){pn-mainnav{-ms-flex-flow:row;flex-flow:row}}@media screen and (min-width: 64em){pn-mainnav{-ms-flex-flow:column;flex-flow:column}}@media screen and (min-width: 64em){pn-mainnav [slot=footer]{display:none}}pn-mainnav>nav{height:auto;width:100vw;background-color:#FFFFFF;z-index:2;-webkit-transform:translateX(100vw);transform:translateX(100vw);-webkit-transition:-webkit-transform 0.2s 0s;transition:-webkit-transform 0.2s 0s;transition:transform 0.2s 0s;transition:transform 0.2s 0s, -webkit-transform 0.2s 0s;-webkit-transition-property:visibility, -webkit-transform;transition-property:visibility, -webkit-transform;transition-property:transform, visibility;transition-property:transform, visibility, -webkit-transform;display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;visibility:hidden;position:fixed;top:3em;bottom:0;left:0}@media screen and (min-width: 48em){pn-mainnav>nav{top:6.5em}}pn-mainnav>nav[data-menu-open=true]{visibility:visible;-webkit-transform:translateX(0);transform:translateX(0)}@media screen and (min-width: 64em){pn-mainnav>nav{-ms-flex-flow:row-reverse;flex-flow:row-reverse;top:0;position:static;height:auto;width:100%;-ms-flex-pack:justify;justify-content:space-between;visibility:visible;-webkit-transform:translateX(0);transform:translateX(0)}}pn-mainnav>nav a{text-decoration:none}pn-mainnav>nav button{cursor:pointer}.mainnav-toggle{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-item-align:center;align-self:center}@media screen and (min-width: 64em){.mainnav-toggle{display:none}}.mainnav-toggle>button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;background-color:#005D92;color:#FFFFFF;border-radius:2.4rem;border:none;padding:0.6rem 1.6rem;cursor:pointer;font-size:1.6rem}.mainnav-toggle>button:focus{outline:0}.mainnav-toggle>button pn-icon{margin-left:0.8rem;display:block}.mainnav-toggle>button svg{display:block;margin:-0.2rem -0.5rem -0.2rem 0;height:1.9rem;width:1.9rem}";let p=class{constructor(t){e(this,t),this.label="",this.level=1,this.levelId="",this.isOpen=!1,this.parentName="",this.parentHref="",this.parentLinkId="",this.listCount=0,this.alignment="right"}async componentWillLoad(){this.setState(),a("openLevel",(()=>{this.onChangeOpenLevel()}))}setState(){this.listCount=this.hostElement.querySelectorAll(":scope > pn-mainnav-list").length;const e=this.hostElement.parentElement;if("nav"!==e.tagName.toLowerCase()&&(this.level=2),"pn-mainnav-link"===e.tagName.toLowerCase()){this.parentName=e.getAttribute("name")+"",!this.label&&this.parentName&&(this.label=this.parentName),this.parentHref=e.getAttribute("href")+"",this.parentLinkId=e.getAttribute("linkid")+"";const t=this.parentName.toLowerCase().replace(/\W/gi,"_");this.levelId=`mainnav-lvl${this.level}-${t}`}}onOpen(){2===this.level&&requestAnimationFrame((()=>{const e=this.hostElement.getClientRects()[0];if(!e)return;const t=this.hostElement.parentElement.parentElement.parentElement.parentElement;if(t&&"nav"===t.tagName.toLowerCase()){if(!t.getClientRects()[0])return;if(e.right>window.innerWidth){const t=this.hostElement.parentElement.getClientRects()[0];this.alignment=t.left-e.width<0?"center":"left"}}}))}onChangeOpenLevel(){this.isOpen=o.openLevel===this.levelId,o.currentLevel=this.level}render(){return n(i,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?n("div",{class:"mainnav-level-header"},n("label",{htmlFor:this.levelId},o.i18n.menuGoBackButton),n("button",{class:"secondlevel-backbtn",onClick:()=>{o.openLevel="",o.currentLevel=1},"aria-expanded":(o.openLevel===this.levelId)+""},n("pn-icon",{symbol:"arrow-left",color:"blue700"}),o.i18n.menuStartButton),this.parentHref&&this.label?n("pn-mainnav-link",{href:this.parentHref,name:this.label,linkid:this.parentLinkId}):null):null,n("slot",{name:"top"}),n("slot",null),n("slot",{name:"additional"}),n("slot",{name:"footer"}))}get hostElement(){return s(this)}static get watchers(){return{label:["setState"],isOpen:["onOpen"]}}};p.style='pn-mainnav-level{display:block}pn-mainnav-level:not(.hydrated){max-height:5.6rem;overflow:hidden}pn-mainnav-level[data-level="1"]{width:100%;right:0;overflow-y:scroll;overflow-x:hidden;-ms-flex:1;flex:1}@media screen and (min-width: 64em){pn-mainnav-level[data-level="1"]{width:auto;overflow:initial}pn-mainnav-level[data-level="1"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level="2"]{position:absolute;top:0;bottom:0;left:0;width:100vw;padding:0;background-color:#FFFFFF;z-index:1;-webkit-transform:translateX(100vw);transform:translateX(100vw);-webkit-transition:-webkit-transform 0.2s 0s;transition:-webkit-transform 0.2s 0s;transition:transform 0.2s 0s;transition:transform 0.2s 0s, -webkit-transform 0.2s 0s;-webkit-transition-property:visibility, -webkit-transform;transition-property:visibility, -webkit-transform;transition-property:transform, visibility;transition-property:transform, visibility, -webkit-transform;overflow:scroll;visibility:hidden}@media screen and (min-width: 64em){pn-mainnav-level[data-level="2"]{left:0;top:calc(100% + 1rem);bottom:auto;border-radius:1.6rem;width:auto;padding:1.6rem 1.6rem 0 1.6rem;-webkit-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);-moz-box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);height:auto;z-index:3;display:none}pn-mainnav-level[data-level="2"][data-menuitem-rightaligned=true]{right:0;left:unset}}@media screen and (max-height: 33.125em){pn-mainnav-level[data-level="2"]{-ms-overflow-style:none;scrollbar-width:none}pn-mainnav-level[data-level="2"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level="2"][aria-hidden=false]{-webkit-transform:translateX(0);transform:translateX(0);visibility:visible}@media screen and (min-width: 64em){pn-mainnav-level[data-level="2"][aria-hidden=false]{display:block;overflow:visible}pn-mainnav-level[data-level="2"][aria-hidden=false]:not([data-level-listcount="1"]){display:grid;grid-template-columns:minmax(12em, 20em) 1fr;grid-template-rows:auto auto;gap:0px 1.6rem;grid-template-areas:"top top" "left right"}}@media screen and (min-width: 64em){pn-mainnav-level[data-level="2"][data-level-alignment=left]{right:0;left:unset}}@media screen and (min-width: 64em){pn-mainnav-level[data-level="2"][data-level-alignment=center]{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}pn-mainnav-level[data-level="2"] a{color:#005D92;text-decoration:none}pn-mainnav-level [slot=top]{display:-ms-flexbox;display:flex}@media screen and (min-width: 48em){pn-mainnav-level [slot=top]{display:none}}[data-menu-currentlevel="2"] pn-mainnav-level [slot=footer]{display:none;-ms-scroll-chaining:none;overscroll-behavior:contain}.mainnav-level-header{grid-area:top}.mainnav-level-header>label{position:absolute;width:0.1rem;height:0.1rem;padding:0;margin:-0.1rem;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap}.mainnav-level-header>button{display:block;position:relative;border:none;background-color:transparent;color:#005D92;padding:2.4rem 0 2.4rem 6.2rem;width:100%;text-align:left}@media screen and (min-width: 64em){.mainnav-level-header>button{display:none;speak:none}}.mainnav-level-header>button>pn-icon{speak:none;position:absolute;height:2.4rem;width:2.4rem;left:3rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-level="2"] .mainnav-level-header>pn-mainnav-link>a{font-size:2.4rem}';let g=class{constructor(t){e(this,t),this.heading="",this.linkCount=0}componentWillLoad(){this.linkCount=this.hostElement.querySelectorAll(":scope > pn-mainnav-link").length}render(){return n(i,{class:"mainnav-list",role:"list","data-navlist-itemcount":this.linkCount+"","data-navlist-showcolumns":(this.linkCount>=8)+""},this.heading?n("div",{class:"mainnav-list-heading"},this.heading):null,n("slot",null))}get hostElement(){return s(this)}};g.style='pn-mainnav-list{display:block;overflow:visible;list-style:none;margin:0;padding:0;grid-area:right}@media screen and (min-width: 64em){pn-mainnav-list+pn-mainnav-list{grid-area:left;border-right:0.1rem solid #D3CECB;margin-bottom:1.6rem;margin-right:-0.7rem;padding-right:0.7rem}}[data-level="1"]>pn-mainnav-list{overflow:scroll;-webkit-overflow-scrolling:touch}@media screen and (min-width: 64em){[data-level="1"]>pn-mainnav-list{height:100%;display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row;overflow:visible;padding:0}}@media screen and (min-width: 64em){[data-level="2"]>pn-mainnav-list[data-navlist-showcolumns=true]{-webkit-column-count:2;-moz-column-count:2;column-count:2;-webkit-column-gap:1.6rem;-moz-column-gap:1.6rem;column-gap:1.6rem;padding-bottom:1.6rem}}.mainnav-list-heading{display:none;font-weight:bold;-webkit-column-span:all;-moz-column-span:all;column-span:all;font-size:1.8rem;padding:1.4rem 1.4rem 1.4rem 4.8rem}@media screen and (min-width: 64em){.mainnav-list-heading{display:block;padding:0 1.4rem 1.4rem 1.4rem}}';class v{constructor(e=null){var t;this.eventTarget=null!==window&&void 0!==window?window:null===document||void 0===document?void 0:document.body,this.endpoint="",this.storagePrefix="pn-user",this.checkUserLoggedInStateInterval=0,this.baseUrls={at:"https://atportal.postnord.com/api/unified-login/backend",prod:"https://portal.postnord.com/api/unified-login/backend"},this.events={loginstatechange:"loginstatechange"},this.endpoints={authorizationEndpoint:"/authorization",tokenExchangeEndpoint:"/token",userInfoEndpoint:"/user",logoutEndpoint:"/logout"},this.keys={tokensource:"tokensource",token:"token",accessToken:"accessToken",user:"user",expire:"expire",expireDate:"expiredate"},this.overridetokenValue="overridetokenValue",this.siteUrl=window.location.origin,this.abortSignalForLoginCheck=null,this.loginCheckInProgress=!1,this.loginCheckTimer=null,this.store={get:e=>{const t=window.sessionStorage.getItem(`${this.storagePrefix}-${e}`);if(!t)return t;if(0===t.indexOf("{"))try{return JSON.parse(t)}catch(n){}return-1!==t.indexOf(",")?t.split(","):t},set:(e,t)=>{"object"!=typeof t||void 0!==t.length?window.sessionStorage.setItem(`${this.storagePrefix}-${e}`,t):window.sessionStorage.setItem(`${this.storagePrefix}-${e}`,JSON.stringify(t))},remove:e=>{window.sessionStorage.removeItem(`${this.storagePrefix}-${e}`)}},e&&(this.eventTarget=e.eventTarget?e.eventTarget:this.eventTarget,this.endpoint=e.endpoint?e.endpoint:`${window.location.protocol}//${window.location.host}`,null!==(t=this.storagePrefix)&&void 0!==t||(this.storagePrefix=e.storagePrefix),this.checkUserLoggedInStateInterval=e.checkUserLoggedInStateInterval&&e.checkUserLoggedInStateInterval>0?parseInt(e.checkUserLoggedInStateInterval+"",10):0,e.userInfo&&(this.store.set(this.keys.user,e.userInfo),this.registerToken(this.overridetokenValue,"override")))}init(e=!0){e&&(this.checkParameters(),this.checkPNTopbar(),this.checkExpireTime(),this.store.get(this.keys.token)&&!this.store.get(this.keys.user)&&this.fetchUserInfo(),this.loginStateChange(),this.checkUserLoggedInStateInterval>0&&this.initiateLoggedInCheck())}setSiteUrl(e){e&&(this.siteUrl=e)}initiateLoggedInCheck(){this.isLoggedIn()&&(window&&window.AbortController&&(this.abortSignalForLoginCheck=new AbortController),this.loginCheckTimer=window.setInterval((()=>{this.doExternalLoggedInCheck().then((()=>{})).catch((()=>{}))}),this.checkUserLoggedInStateInterval))}async doExternalLoggedInCheck(){if(!window.navigator.onLine)return;if(!this.getToken())return void window.clearInterval(this.checkUserLoggedInStateInterval);this.loginCheckInProgress&&this.abortSignalForLoginCheck&&(this.abortSignalForLoginCheck.abort(),this.abortSignalForLoginCheck=new AbortController),this.loginCheckInProgress=!0;const e={method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:this.getToken()}};this.abortSignalForLoginCheck&&this.abortSignalForLoginCheck.signal&&(e.signal=this.abortSignalForLoginCheck.signal);const t=await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`,e);if(409===t.status)return window.clearInterval(this.checkUserLoggedInStateInterval),console.log("Cleared out user data due to bad response from authentication endpoint"),void this.LogoutUser();if(!t.ok)return;const n=await t.json();n&&n.accessToken||(window.clearInterval(this.checkUserLoggedInStateInterval),console.log("Cleared out user data due to bad response from authentication endpoint"),this.LogoutUser()),this.loginCheckInProgress=!1}LogoutUser(){if(this.clearUserData(),this.eventTarget){const e=this.eventTarget.querySelector("#pn-marketweb-header-logoutlink");if(e)return void e.click()}const e=window.location.href;window.location.href=this.getLogoutUrl(e)}isLoggedIn(e=!1){if(e)return e;let t=!(!this.store.get(this.keys.token)||!this.store.get(this.keys.user));return t||this.store.get(this.keys.token)!==this.overridetokenValue||(t=!0),t}registerToken(e="",t="frontend"){e&&e!==this.getToken()&&(this.clearUserData(),this.store.set(this.keys.tokensource,t),this.store.set(this.keys.token,e),this.fetchUserInfo())}invalidateTokenOfType(e="frontend"){this.store.get(this.keys.token)&&this.store.get(this.keys.tokensource)===e&&this.clearUserData()}getLoginUrl(e=""){const t=window.location.href;return e=e||t,`${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${e}`}getLogoutUrl(e=""){if(-1!==e.indexOf("logout?logoutUrl"))return e;let t=e.replace("logout","").replace("http://window.location.href/?",window.location.href).replace("https://window.location.href/?",window.location.href),n=this.siteUrl;try{n=new URL(this.siteUrl+"").origin}catch(s){}const i=n.lastIndexOf("/")!==n.length-1;return`${n+(i?"/":"")+"logout"}?logoutUrl=${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?authorization=${this.store.get(this.keys.token)}%26redirectionUrl=${t}`}getUserInfo(){if(this.isLoggedIn())return this.store.get(this.keys.user)}getEventTarget(){return this.eventTarget}checkExpireTime(){const e=this.store.get(this.keys.expire);e&&new Date>new Date(Math.floor(1e3*parseInt(e,10)))&&(console.info("Login time has expired"),this.clearUserData(),this.loginStateChange())}checkPNTopbar(){!this.isLoggedIn()&&window.pnTopbar&&window.pnTopbar.session_id&&(this.store.set(this.keys.token,window.pnTopbar.session_id),this.fetchUserInfo())}checkParameters(){if(!(null===window||void 0===window?void 0:window.location))return;const e=new URLSearchParams(window.location.search);if(e.get("oneTimeCode")){const t=e.get("oneTimeCode");this.exchangeToken(t).then((()=>{const e=window.location.href,n=-1!==e.indexOf("?oneTimeCode")?"?":"&",i=e.replace(`${n}oneTimeCode=${t}`,"");history.replaceState({},document.querySelector("title").innerText,i)}))}}async fetchUserInfo(){const e=this.store.get(this.keys.token);if(this.store.get(this.keys.token)===this.overridetokenValue)return void console.info("Did not fetch user data since it was set by an override");const t={method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:e}},n=await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`,t),i=await n.json();if(i&&i.idToken)try{const{idToken:e,expiryTime:t,accessToken:n}=i,s=this.parseUserInfo(e);if(!s)return console.error("Userdata is not valid"),void this.clearUserData();this.store.set(this.keys.user,s),this.store.set(this.keys.accessToken,n),this.store.set(this.keys.expire,t),this.store.set(this.keys.expireDate,new Date(Math.floor(1e3*parseInt(t,10)))),this.loginStateChange()}catch(s){console.error("Unable to get user information",s)}else console.error("Unable to get user information. Clearing login state"),this.clearUserData()}clearUserData(){this.store.remove(this.keys.user),this.store.remove(this.keys.tokensource),this.store.remove(this.keys.accessToken),this.store.remove(this.keys.token),this.store.remove(this.keys.expire),this.store.remove(this.keys.expireDate)}getToken(){return this.store.get(this.keys.token)}getAccessToken(){return this.store.get(this.keys.accessToken)}async exchangeToken(e){this.clearUserData();const t=await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${e}`),{token:n}=await t.json();"string"==typeof n&&n&&this.store.set(this.keys.token,n),this.fetchUserInfo()}loginStateChange(){this.eventTarget&&this.eventTarget.dispatchEvent(new CustomEvent(this.events.loginstatechange,{detail:this.isLoggedIn()}))}getBaseUrl(){let e=["localhost","integration.","local."].filter((e=>-1!==this.endpoint.indexOf(e))).length>0;return-1!==["devportal.postnord.com","atportal.postnord.com"].indexOf(window.location.hostname)&&(e=!0),e?this.baseUrls.at:this.baseUrls.prod}parseUserInfo(e){if(!e)return null;var t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(n)}}let w=class{constructor(n){var i;e(this,n),this.loginStateChange=t(this,"loginStateChange",7),this.endpoint="",this.token="",this.i18n={searchlabel:"",searchplaceholder:"",searchbuttontext:"",menuHomeButton:"",menuGoBackButton:"",mainMenuButton:"",menuStartButton:"",profileSelectionFlyoutHeading:"",unifiedLoginButton:"",unifiedMyPagesButton:""},this.siteUrl="",this.emitEvents=!0,this.loginDialog=null,this.fullname="",this.loggedin=!1,this.showProfileSelection=!1,this.showUnifiedLogin=!1,this.checkUserLoggedInStateInterval=0,this.toggleButtonText=(null===(i=this.loginDialog)||void 0===i?void 0:i.loginMenuLinkText)?this.loginDialog.loginMenuLinkText:"",this.username=this.fullname}componentWillLoad(){r.loginManager=new v({endpoint:this.endpoint,eventTarget:this.hostElement,checkUserLoggedInStateInterval:this.checkUserLoggedInStateInterval,userInfo:this.loggedin&&this.fullname?{given_name:this.fullname}:null}),r.loginManager.setSiteUrl(this.siteUrl),this.hostElement.loginmanager=r.loginManager,this.token?r.loginManager.registerToken(this.token,"backend"):this.emitEvents&&r.loginManager.invalidateTokenOfType("backend"),this.hostElement.addEventListener(r.loginManager.events.loginstatechange,this.onLoginStateChange.bind(this)),this.init(),this.setUserName(),this.setToggleButtonText()}async init(){r.loginManager.init(this.emitEvents),this.setToggleButtonText(),this.adjustLoginLinks()}adjustLoginLinks(){var e;if(!(null===(e=this.loginDialog)||void 0===e?void 0:e.loginMenuLinks))return;const t=(e,t)=>(e.isLogoutLink||(e.isLogoutLink=-1!==e.pageLink.indexOf("location.href")&&-1!==e.pageLink.indexOf("logout")),e.isLogoutLink&&(e.href=r.loginManager.getLogoutUrl(e.href)),0!==t||e.href||(e.href=r.loginManager.getLoginUrl(),e.linkType="primary"),e.primaryLinkApperance&&!e.linkType&&(e.linkType="primary"),e);this.loginDialog&&(this.loginDialog.loginMenuLinks=this.loginDialog.loginMenuLinks.map(t),this.loginDialog.loggedInLinks=this.loginDialog.loggedInLinks.map(t)),this.loginDialog.legacyLoginLinks=[{href:r.loginManager.getLoginUrl(this.loginDialog.loginUrl),linkText:this.loginDialog.loginLinkText,openInNewWindow:!1,isLogoutLink:!1,pageLink:null,linkType:"primary",primaryLinkApperance:!0},{href:r.loginManager.getLoginUrl(this.loginDialog.registerUrl),linkText:this.loginDialog.createLoginLinkText,openInNewWindow:!1,isLogoutLink:!1,pageLink:null,primaryLinkApperance:!1}]}setUserName(){const e=r.loginManager.getUserInfo();let t="";this.loggedin&&e||(this.username=t),e&&e.given_name&&(t=e.given_name+((null==e?void 0:e.family_name)?` ${null==e?void 0:e.family_name}`:"")),!t&&e&&e.email&&(t=e.email),!t&&this.fullname&&(t=this.fullname),this.username=t}setToggleButtonText(){this.loggedin?(this.toggleButtonText=this.username,this.toggleButtonText||(this.toggleButtonText=this.loginDialog.loggedInButtonText)):this.toggleButtonText=this.loginDialog.loginMenuLinkText}onLoginStateChange(e){this.loggedin!==e.detail&&this.emitEvents&&(this.loggedin=e.detail,this.loginStateChange.emit({loggedIn:this.loggedin,token:r.loginManager.getToken()}),this.setUserName(),this.setToggleButtonText())}render(){if(!this.loginDialog)return;let e={username:null,loggedin:"false"};return this.username&&(e.username=this.username,e.loggedin=this.loggedin+""),n(i,Object.assign({},e),n("pn-nav-dropdown",{label:this.toggleButtonText,icon:"user",class:"siteheader-logindialog"},this.showUnifiedLogin&&n("pn-marketweb-siteheader-unified-login",{loggedIn:this.loggedin,myPageLabel:this.i18n.unifiedMyPagesButton,myPageUrl:"https://account.postnord.com/secure/profile",logInLabel:this.i18n.unifiedLoginButton}),this.loggedin&&this.showProfileSelection?n("pn-marketweb-siteheader-login-profileselection",{loginDialog:this.loginDialog,loggedin:this.loggedin,i18n:this.i18n,idNamespace:this.emitEvents?"1":"2",endpoint:this.endpoint}):n("pn-marketweb-siteheader-login-links",{loginDialog:this.loginDialog,loggedin:this.loggedin,idNamespace:this.emitEvents?"1":"2",username:this.username,showUnifiedLogin:this.showUnifiedLogin}),!this.loggedin&&n("span",{innerHTML:`${this.loginDialog.loginInfo}`})))}get hostElement(){return s(this)}static get watchers(){return{i18n:["init"],loginDialog:["init"]}}};w.style='pn-marketweb-siteheader-login{padding:1rem 0;max-height:5.2rem;position:relative}pn-marketweb-siteheader-login pn-nav-dropdown .nav-dropdown-content-container .nav-dropdown-content{max-width:350px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:2.4rem;padding:4rem}pn-marketweb-siteheader-login pn-nav-dropdown .nav-dropdown-content-container .nav-dropdown-content pn-button{width:100%}pn-marketweb-siteheader-login pn-nav-dropdown .nav-dropdown-content-container .nav-dropdown-content pn-marketweb-siteheader-unified-login::after{display:block;content:"";height:2px;background:#F9F8F8;width:100%;margin-top:2.4rem}pn-marketweb-siteheader-login pn-nav-dropdown .nav-dropdown-content-container .nav-dropdown-content span::before{display:block;content:"";height:2px;background:#F9F8F8;width:100%;margin-bottom:2.4rem}pn-marketweb-siteheader-login pn-nav-dropdown .nav-dropdown-content-container .nav-dropdown-content span{font-size:1.4rem;color:#2D2013}pn-marketweb-siteheader-login pn-nav-dropdown .nav-dropdown-content-container .nav-dropdown-content span a{text-decoration:none;color:#005D92}pn-marketweb-siteheader-login pn-nav-dropdown .nav-dropdown-content-container .nav-dropdown-content span a:hover{text-decoration:underline}pn-marketweb-siteheader-login pn-nav-dropdown .nav-dropdown-content-container .nav-dropdown-content span *{margin-bottom:0}pn-marketweb-siteheader-login pn-nav-dropdown{display:none}pn-marketweb-siteheader-login.hydrated pn-nav-dropdown{display:block}';const{state:b,onChange:f}=l({searchValue:"",autocompleteSuggestions:{},requestAbortController:new AbortController});let k=class{constructor(t){e(this,t),this.showOnlyLink=!1,this.hideSearch=!1,this.language=null,this.siteid=null,this.search={},this.primary=!1,this.icononly=!0,this.autoCompleteOptions=[]}onSearchValueUpdate(){this.getAutocomplete(b.searchValue)}async getAutocomplete(e){if(!this.search.AutocompleteEndpoint||e.length<2)return void(this.autoCompleteOptions=[]);if(b.autocompleteSuggestions[e])return void this.setAutocompleteSuggestions(b.autocompleteSuggestions[e]);let t=`${this.search.AutocompleteEndpoint}?prefix=${e}&size=10`;(this.language||this.siteid)&&(t+="&tags=",this.language&&(t+=`language:${this.language}`),this.language&&this.siteid&&(t+=","),this.siteid&&(t+=`siteid:${this.siteid}`));const n=await fetch(t,{signal:b.requestAbortController.signal}).catch((e=>{console.warn("Unable to fetch autocomplete suggestions",e)}));if(!n)return;const i=await n.json();if(!i||!i.hits||!i.hits.length)return;const s=i.hits.filter((e=>"editorial"===e.type)).map((e=>e.query));b.autocompleteSuggestions[e]=s,this.setAutocompleteSuggestions(s)}setAutocompleteSuggestions(e){"object"==typeof e&&"number"==typeof e.length&&0!==e.length&&(this.autoCompleteOptions=e)}componentWillLoad(){f("searchValue",(()=>{this.onSearchValueUpdate()}))}componentDidRender(){const e=this.hostElement.querySelector("pn-search-field input:not([list])");e&&this.search.AutocompleteEndpoint&&e.setAttribute("list","siteheader-search-autocomplete")}render(){if(!this.search.formActionUrl||this.hideSearch)return;const e=this.search.AutocompleteEndpoint?{list:"siteheader-search-autocomplete"}:{};return n("div",{class:"siteheader-search"},this.showOnlyLink?n("a",{href:this.search.formActionUrl,title:this.i18n.searchlabel},n("pn-button",{appearance:"light",icon:"search"})):n("form",{method:"get",action:this.search.formActionUrl,role:"search"},n("pn-search-field",Object.assign({label:this.i18n.searchlabel,name:"q",button:this.icononly?"icon":null},e,{onUpdate:e=>{b.searchValue=e.detail},onSearch:()=>{const e=this.hostElement.querySelector("form");e&&e.submit()},placeholder:this.i18n.searchplaceholder})),this.primary&&this.search.AutocompleteEndpoint?n("datalist",{id:"siteheader-search-autocomplete"},this.autoCompleteOptions.map((e=>n("option",null,e)))):null))}get hostElement(){return s(this)}};k.style=".siteheader-search a{display:none}@media screen and (min-width: 48em){.siteheader-search a{display:block}}.siteheader-search pn-search-field>.input-container button{background:#FFFFFF}.siteheader-search pn-search-field.button-icon pn-button,.siteheader-search pn-button{display:-ms-inline-flexbox;display:inline-flex}.siteheader-search pn-search-field.button-icon pn-button button,.siteheader-search pn-button button{-ms-flex-item-align:center;align-self:center;padding:0;height:2.3em;width:2.3em;line-height:0;min-height:unset;min-width:unset}.siteheader-search pn-search-field.button-icon pn-button pn-icon,.siteheader-search pn-button pn-icon{margin-left:0}.siteheader-search form{-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:stretch;align-items:stretch;width:auto;-ms-flex:none;flex:none;display:-ms-flexbox;display:flex;padding:0;margin:0 0 0 0.4rem;position:relative;-ms-flex-direction:column;flex-direction:column}@media screen and (min-width: 60em){.siteheader-search form{margin-right:1.6rem}}.siteheader-search form pn-search-field{min-width:13.5em}.siteheader-search form pn-search-field .input-container{-ms-flex-item-align:center;align-self:center}.siteheader-search form pn-search-field input{height:auto;min-height:1em;padding:0.6em 0.75em}";const x={sv:{navlabel:"Webbplatsväljare"},en:{navlabel:"Website selector"},da:{navlabel:"Webstedsvælger"},no:{navlabel:"Nettstedsvelger"},fi:{navlabel:"Verkkosivun valitsin"},de:{navlabel:"Website-Selektor"}};let y=class{constructor(t){e(this,t),this.buttontext="postnord",this.heading="PostNord",this.language="sv",this.i18n={navlabel:"Site selector"}}componentWillLoad(){this.setLanguage()}setLanguage(){x[this.language]&&(this.i18n=x[this.language])}render(){return n(i,null,n("pn-nav-dropdown",{label:this.buttontext,icon:"angle-small-down"},n("nav",{class:"siteselector-nav","aria-label":this.i18n.navlabel},this.heading?n("strong",{class:"siteselector-heading"},this.heading):null,n("ul",{class:"siteselector-list"},n("slot",null)))))}get hostElement(){return s(this)}};y.style="pn-site-selector{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;max-height:5.2rem}@media screen and (min-width: 75em){pn-site-selector{display:block}}.siteselector-heading{display:block;padding:0;margin-bottom:1.6rem}@media screen and (min-width: 75em){.siteselector-heading{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-top:0.8rem}}.siteselector-list{list-style:none;margin:0;padding:0}";let F=class{constructor(t){e(this,t),this.url="",this.heading="",this.description="",this.newwindow=!1}render(){return n(i,{role:"listitem"},this.url?n("a",{class:"siteselector-item-link",href:this.url,target:this.newwindow?"_blank":"self",rel:this.newwindow?"nofollow noopener":""},n("span",null,this.heading&&n("span",{class:"siteselector-item-title"},this.heading),this.description&&n("small",{class:"siteselector-item-description"},this.description)),n("pn-icon",{symbol:"angle-small-right",color:"blue700"})):n("div",null,this.heading&&n("span",{class:"siteselector-item-title"},this.heading),this.description&&n("small",{class:"siteselector-item-description"},this.description)))}};F.style="pn-site-selector-item{display:block}pn-site-selector-item>div,pn-site-selector-item>a{padding:0.8rem 0;display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;position:relative}.siteselector-item-link{border-radius:0;text-decoration:none;color:#005D92;-ms-flex-direction:row;flex-direction:row}.siteselector-item-link:hover,.siteselector-item-link:focus{background-color:#F3F2F2;color:#005D92;text-decoration:underline;outline:none;-webkit-box-shadow:none;box-shadow:none}.siteselector-item-link:active{background-color:#F3F2F2;color:#00A0D6;outline:none}.siteselector-item-link>span{-ms-flex-positive:1;flex-grow:1}.siteselector-item-link pn-icon{right:3.2rem;height:1.9rem;width:1.9rem;-ms-flex-item-align:center;align-self:center}.siteselector-item-link pn-icon svg{width:100%;height:auto}.siteselector-item-title{display:block}.siteselector-item-description{color:#2D2013;font-size:1.28rem}a:hover>.siteselector-item-description,a:focus>.siteselector-item-description{background-color:#F3F2F2;color:#005D92;text-decoration:underline;outline:none}a:active>.siteselector-item-description{background-color:#F3F2F2;color:#00A0D6;outline:none}";export{d as pn_language_selector,c as pn_language_selector_option,u as pn_mainnav,p as pn_mainnav_level,g as pn_mainnav_list,w as pn_marketweb_siteheader_login,k as pn_marketweb_siteheader_search,y as pn_site_selector,F as pn_site_selector_item}
|