PageSourceSearch

https://www.postnord.com/dist/client/pn-zipcode-search.entry-20260923.js

js postnord.com collected 2026-09-24 15:22:11 UTC 3,838 bytes, 4 lines download raw bytes

1var l=Object.defineProperty;var o=(e,a,r)=>a in e?l(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r;var t=(e,a,r)=>o(e,typeof a!="symbol"?a+"":a,r);import{r as n,c as h,g as c,h as s,H as d,t as i}from"./client-20260923.js";import{u as p,b as u,s as E}from"./index-202609233.js";import"./preload-helper-20260923.js";import"./helpers-20260923.js";import"./index-20260923.js";import"./index-202609232.js";/*!
2 * Built with Stencil
3 * By PostNord.
4 */const g={CLOSEST_DELIVERY_DATE:{en:"Closest delivery date:",sv:"Nästa utdelningsdag:"},NEXT_DELIVERY_DATE:{en:"Next delivery date:",sv:"Kommande utdelningsdag:"},ZIP_CODE:{en:"Zip code:",sv:"Postnummer:"},VALIDATION_ERROR_MESSAGE:{en:"Zip code not valid",sv:"Postnumret är inte giltigt"},SERVER_ERROR_MESSAGE:{en:"Could not find zip code",sv:"Kan inte hitta postnumret"},PLACEHOLDER_TEXT:{en:"Search for a zip code",sv:"Sök på ett postnummer"},SEARCH:{en:"Search",sv:"Sök"}},R=()=>`${i("pn-zipcode-search")}{display:block;color:#5e554a}${i("pn-zipcode-search")} .pn-search-results{display:flex;flex-direction:column;gap:1em;padding:0 0.75em}${i("pn-zipcode-search")} .pn-search-results span{color:#5e554a}${i("pn-zipcode-search")} .pn-search-results h3{color:#2d2013}${i("pn-zipcode-search")} .pn-error-text{color:#a70707;padding:0 0.75em}${i("pn-zipcode-search")}>${i("pn-search-field")}{width:100%;margin-bottom:1em}`,m=class{constructor(e){t(this,"searchId",`pn-zipcode-${p()}`);t(this,"validZipCode");t(this,"loading",!1);t(this,"showResult",!1);t(this,"zipCodeSearchResult",{delivery:"",upcoming:"",city:"",postalCode:""});t(this,"error",!1);t(this,"errorMessage");t(this,"language",null);t(this,"value");t(this,"searchsuccessful");n(this,e),this.searchsuccessful=h(this,"searchsuccessful",7)}get hostElement(){return c(this)}async componentWillLoad(){this.language===null&&await u(this.hostElement),this.value&&this.handleSearch(this.value)}translation(e){return g[e][this.language||E]}handleSearch(e){if(this.value=e,this.validateZipCode(),this.error){this.errorMessage="VALIDATION_ERROR_MESSAGE";return}this.zipCodeSearch()}async zipCodeSearch(){this.loading=!0,await fetch(`https://portal.postnord.com/api/sendoutarrival/closest?postalCode=${this.validZipCode}`).then(e=>e.json()).then(e=>{this.showResult=!0,this.zipCodeSearchResult=e,this.searchsuccessful.emit(!0)}).catch(()=>{this.error=!0,this.errorMessage="SERVER_ERROR_MESSAGE",this.searchsuccessful.emit(!1)}).finally(()=>{this.loading=!1})}validateZipCode(){const e=this.value?this.value.replace(/[ -]/gi,""):"",r=/^\d{5}$/.test(e);this.error=!r,r&&(this.validZipCode=e)}renderSearchResult(){if(!this.loading&&!this.error&&this.showResult)return s("output",{class:"pn-search-results",htmlFor:this.searchId},s("p",{class:"text-row"},s("span",null,this.translation("CLOSEST_DELIVERY_DATE")),s("h3",{class:"delivery-date"},this.zipCodeSearchResult.delivery)),s("p",{class:"text-row"},s("span",null,this.translation("NEXT_DELIVERY_DATE")),s("h3",{class:"delivery-date"},this.zipCodeSearchResult.upcoming)),s("p",{class:"text-row"},s("span",null,this.translation("ZIP_CODE")),s("h3",null,this.zipCodeSearchResult.postalCode,", ",this.zipCodeSearchResult.city||"N/A")))}renderErrorMessage(){if(this.error&&!this.loading)return s("p",{class:"pn-error-text",role:"alert"},s("small",null,this.translation(this.errorMessage)))}render(){return s(d,{key:"604fc6f9244f665ee3aec5411ed21c475e103755"},s("pn-search-field",{key:"80704adf3156c3ad8b0430cff195344ae2e31536",label:this.translation("PLACEHOLDER_TEXT"),value:this.value,searchid:this.searchId,loading:this.loading,button:"icon",buttonLabel:this.translation("SEARCH"),placeholder:this.translation("PLACEHOLDER_TEXT"),onSearch:e=>this.handleSearch(e.detail)}),this.renderSearchResult(),this.renderErrorMessage())}};
4m.style=R();export{m as pn_zipcode_search};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.