PageSourceSearch

https://www.forex.no/dist/client/assets/currency-converter-critical.component-8fb989b3.js

js forex.no collected 2026-10-02 17:50:31 UTC 32,701 bytes, 1 lines download raw bytes

1import{r as a,R as wt}from"./index-3e953d79.js";import{u as Ze}from"./useAppSelector-ba546d88.js";import{u as xt}from"./useAppDispatch-630d8c52.js";import{g as nt}from"./cultureHelpersLegacy-7b8ba0dd.js";import{s as At}from"./currency-converter-event-helper-c8af0482.js";import{F as Ie}from"./flag-42939ef3.js";import{a as i,j as n,F as J}from"./react-component-loader-309b97f3.js";import{S as Rt}from"./segmented-control-5b06e5a9.js";import{F as Oe,b as pe,c as Ft}from"./currency-constants-c619a8a5.js";import{s as kt,u as Et}from"./GoogleAnalytics4HelperLegacy-c31a622d.js";import{S as Ue}from"./spinner-07fe1520.js";import{B as et}from"./button-967180d7.js";import{e as O,f as Lt}from"./entry-client-15e5e07e.js";import{g as Mt}from"./FslCurrencyApiService-843994f0.js";/* empty css                           */const Tt=(e,c,v)=>{const[R,d]=a.useState(null),[ue,Y]=a.useState(null),[p,F]=a.useState(null);return a.useEffect(()=>{(async()=>{const X=await fetch(e).then(I=>I.json());d(X);const U=await fetch(c).then(I=>I.json());Y(U);const G=await fetch(v).then(I=>I.json());F(G)})()},[e,c,v]),{exchangeData:R,popularData:ue,countryCodeData:p}},tt=e=>i("div",{className:"currency-converter__field-item",children:[n("span",{className:"currency-converter__field-heading",children:n("span",{children:e.isSwapped?e.i18n.toCurrencyLabel:e.i18n.fromCurrencyLabel})}),i("div",{className:"currency-converter__field-group",children:[n("div",{className:"currency-converter__select",children:i("div",{className:"currency-converter__fromcurrency",children:[n(Ie,{flagCode:e.currencyFlagCode,className:"currency-converter__flag",width:43}),n("input",{id:`from-${e.currencyFlagCode}-${e.currencyCode}`,type:"radio",name:e.currencyName,value:e.currencyCode}),i("label",{htmlFor:`from-${e.currencyFlagCode}-${e.currencyCode}`,children:[n("span",{className:"currency-converter__currencycode",children:e.currencyCode}),n("span",{className:"currency-converter__currencyname",children:e.currencyName})]})]})}),i("div",{className:"currency-converter__fromcurrency-wrapper",children:[n("input",{type:"text",id:"fromCurrencyAmount",className:"currency-converter__input",placeholder:"",value:e.fromDisplayValue,pattern:"[0-9]*",maxLength:10,onChange:e.handleAmount}),n("label",{htmlFor:"fromCurrencyAmount",children:n("span",{children:e.i18n.amount})})]})]})]}),Dt=[{currencyCode:"EUR",primaryCountryCode:null,flagCode:"eu"},{currencyCode:"USD",primaryCountryCode:"USA"},{currencyCode:"AUD",primaryCountryCode:"AUS"}],Vt=e=>{const[c,v]=a.useState(""),[R,d]=a.useState(e.popularCountries),[ue,Y]=a.useState(!0),[p,F]=a.useState(!1),[ee,X]=a.useState(null),U=a.useRef(null),G=a.useRef(null),I=a.useRef(null),$=a.useRef(null),P=r=>{let l=[];const h=e.popularCountries.filter(S=>{var x,L;return((x=S.currencyCode)==null?void 0:x.toLowerCase().includes(r))||((L=S.currencyName)==null?void 0:L.toLowerCase().includes(r))}),w=e.availableExpressCurrencies?e.availableExpressCurrencies.split(","):[],f=e.allCurrencies.filter(S=>{var x,L,C;return w.includes(S.currencyCode)&&(((x=S.currencyName)==null?void 0:x.toLowerCase().includes(r))||((L=S.countryName)==null?void 0:L.toLowerCase().includes(r))||((C=S.currencyCode)==null?void 0:C.toLowerCase().includes(r)))});if(r.length>1){const S=e.baseCurrencyCode,x=e.searchCountries.filter(C=>{var y,b,g,ne,k;if(h.some(E=>E.currencyCode===C.currencyCode))return!1;if((y=C.countryName)!=null&&y.toLowerCase().includes(r)||(b=C.countryCode)!=null&&b.toLowerCase().includes(r))return l=((g=C.relationship)==null?void 0:g.products.data.filter(E=>!E.meta.isPrimary))??[],C.currencyCode!==S;if((ne=C.currencyName)!=null&&ne.toLowerCase().includes(r)||(k=C.currencyCode)!=null&&k.toLowerCase().includes(r)){const E=Dt.find(ie=>ie.currencyCode===C.currencyCode);return C.currencyCode===S?!1:E?E.primaryCountryCode===C.countryCode:!0}return!1}),L=e.allCurrencies.filter(C=>l.some(y=>y.id==C.currencyCode));d([...h,...x,...L])}else e.expressMode&&e.availableExpressCurrencies?d(f):d([...e.popularCountries])},me=r=>{const l=r.target.value.toLowerCase();v(l),P(l)},he=()=>{e.isRateList||e.isClosed&&(e.setIsClosed(!1),Y(c.length===0),j())},fe=r=>{e.isRateList||r.key==="Enter"&&e.setIsClosed(!e.isClosed)};a.useEffect(()=>{const r=l=>{U.current&&!U.current.contains(l.target)&&v("")};return document.addEventListener("mousedown",r),()=>{document.removeEventListener("mousedown",r)}},[]);const te=()=>{$&&$.current&&$.current.focus()},H=r=>{te();const l=r===e.i18n.popular?e.popularCountries:r===e.i18n.favorites?e.allCurrencies.filter(h=>z.includes(h.currencyCode)):e.allCurrencies;if(c.length>0){const h=l.filter(w=>{var f,S,x;return((f=w.currencyName)==null?void 0:f.toLowerCase().includes(c))||((S=w.countryName)==null?void 0:S.toLowerCase().includes(c))||((x=w.currencyCode)==null?void 0:x.toLowerCase().includes(c))});d(h)}else d(l);F(r===e.i18n.favorites),Y(r===e.i18n.popular)},j=()=>{te(),P(c)};a.useEffect(()=>{const r=l=>{U.current&&!U.current.contains(l.target)&&G.current&&!G.current.contains(l.target)&&I.current&&!I.current.contains(l.target)&&e.setIsClosed(!0)};return document.addEventListener("mousedown",r),()=>{document.removeEventListener("mousedown",r)}},[U]),a.useEffect(()=>{e.isClosed&&c.length===0?d([]):!e.isClosed&&c.length>0&&j()},[e.isClosed,c]),a.useEffect(()=>{e.isClosed?d([]):U.current&&(U.current.scrollTop=0)},[e.isClosed]);const ae=r=>{X(l=>{if(l===null)return 0;const h=R.length-1,w=r==="next"?l+1:l-1;return w<0?h:w>h?0:w})},Q=r=>{switch(r.key){case"ArrowDown":r.preventDefault(),ae("next");break;case"ArrowUp":r.preventDefault(),ae("previous");break;case"Enter":if(r.preventDefault(),ee!==null){const l=R[ee];e.handleCurrencyChange({target:{value:l.currencyCode,name:l.currencyName}}),e.setIsClosed(!0)}break}},[z,W]=a.useState([]);a.useEffect(()=>{const r=localStorage.getItem(Oe),l=r?JSON.parse(r):[];W(l)},[]);const K=r=>{if(z.includes(r.currencyCode)){const l=r.currencyCode,h=z.filter(w=>w!==l);W(h),localStorage.setItem(Oe,JSON.stringify(h)),p&&(Y(h.length===0),d(h.length===0?e.popularCountries:e.allCurrencies.filter(w=>
1h.includes(w.currencyCode))))}else{const l=[...z,r.currencyCode];W(l),localStorage.setItem(Oe,JSON.stringify(l))}};return i("div",{className:"currency-converter__field-item",children:[n("span",{className:"currency-converter__field-heading",children:n("span",{children:e.isSwapped?e.i18n.fromCurrencyLabel:e.i18n.toCurrencyLabel})}),i("div",{className:"currency-converter__field-group",children:[i("div",{className:"currency-converter__select",children:[i("div",{id:"toCurrency",className:"currency-converter__tocurrency",role:"button",tabIndex:e.isRateList?-1:0,ref:I,onClick:he,onKeyDown:fe,children:[!e.isClosed&&n("input",{type:"text",name:e.currencyName,value:c||"",onChange:me,ref:$,disabled:e.expressMode,autoFocus:!0}),e.isClosed&&i(J,{children:[n(Ie,{flagCode:e.currencyFlagCode,className:"currency-converter__flag",width:43}),n("input",{id:"selectedto-"+(e.currencyFlagCode=="eu"?"eurozone":e.currencyCountryName),type:"radio",name:e.currencyName,value:e.currencyCode}),i("label",{htmlFor:"selectedto-"+(e.currencyFlagCode==="eu"?"eurozone":e.currencyCountryName),children:[n("span",{className:"currency-converter__currencycode",children:e.currencyCode}),n("span",{className:"currency-converter__currencyname",children:e.currencyName})]})]})]}),i("ul",{className:"currency-converter__dropdown","aria-hidden":e.isClosed,ref:U,onKeyDown:Q,children:[e.expressMode?null:c.length<=2?n("li",{ref:G,className:"currency-converter__dropdown-buttons",children:n(Rt,{small:!0,value:ue?e.i18n.popular??"":p?e.i18n.favorites??"":e.i18n.all??"",segments:z.length>0?[{label:e.i18n.popular??""},{label:e.i18n.all??""},{label:e.i18n.favorites??""}]:[{label:e.i18n.popular??""},{label:e.i18n.all??""}],onValueChange:r=>{Y(r===e.i18n.popular),H(r),te()}})}):n("li",{className:"currency-converter__dropdown-search",children:n("span",{children:`Sökresultat för "${c}"`})}),R.map((r,l)=>{var L,C,y;const h=r.currencyCode??"",w=!!z.includes(h),f=r.currencyId?e.allCurrencies.find(b=>{var g;return b.currencyCode===((g=r.relationship)==null?void 0:g.products.data[0].id)}):r,x=r.relationship&&r.relationship.products&&r.relationship.products.data.length>1&&l===R.findIndex(b=>b.relationship&&b.relationship.products&&b.relationship.products.data.length>0);return i(wt.Fragment,{children:[i("li",{role:"option","aria-selected":l===ee,className:`currency-converter__dropdown-item ${l===ee?"focused":""} ${r.currencyName?"":"disabled"}`,tabIndex:0,onFocus:()=>X(l),children:[n(Ie,{flagCode:r.flagCode,className:"currency-converter__flag",width:43}),n("input",{id:`to-${r.countryCode}-${r.currencyCode}`,type:"radio","data-countrycode":r.countryCode,name:r.currencyName,value:r.currencyCode,onChange:e.handleCurrencyChange,disabled:!r.currencyName}),i("label",{htmlFor:`to-${r.countryCode}-${r.currencyCode}`,"aria-label":r.currencyName,children:[`${r.currencyCode} ${r.currencyName?`- ${r.currencyName}`:""}`,r.countryName&&n("span",{children:n("span",{children:r.countryName})}),r.currencyName?f!==void 0&&((L=f.availableForBuyAndCollect)==null?void 0:L[e.marketCountryCode])===!1&&((C=f.availableForPurchaseOnline)==null?void 0:C[e.marketCountryCode])===!1&&((y=f.availableForReservation)==null?void 0:y[e.marketCountryCode])===!1?i("div",{className:"currency-converter__display-reservation",children:[n("span",{children:"!"}),n("p",{children:n("span",{children:e.unavailableCurrencyText})})]}):null:i("div",{className:"currency-converter__display-reservation",children:[n("span",{children:"!"}),n("p",{children:n("span",{children:e.nonExistingCurrencyText})})]})]}),n("div",{className:"currency-converter__favorite-button",onClick:()=>K(r),onKeyDown:b=>{b.key==="Enter"&&K(r)},tabIndex:0,role:"button",children:n("svg",{width:"20",height:"20",preserveAspectRatio:"xMidYMid meet",className:"currency-converter__favorite-icon",children:n("use",{xlinkHref:w?"#icon-heart-fill":"#icon-heart-outline"})})})]},`${r.countryCode}-${r.currencyCode}`),c.length>2&&x&&R.length>1&&n("li",{className:"currency-converter__dropdown-related",children:n("span",{children:e.i18n.relatedCountries})},`label-${l}`)]},`${r.countryCode}-${r.currencyCode}-${l}`)})]})]}),i("div",{className:"currency-converter__tocurrency-wrapper",children:[n("input",{type:"text",id:"toCurrencyAmount",className:"currency-converter__input",placeholder:"",value:e.toDisplayValue,pattern:"[0-9]*",maxLength:10,onChange:e.handleAmount}),n("label",{htmlFor:"toCurrencyAmount",children:n("span",{children:e.i18n.amount})})]})]})]})};const $t=e=>{const c=({onClick:v})=>n("button",{type:"button",className:"currency-converter__form-button",onClick:v,"aria-label":e.i18n.swapCurrency,children:e.isRateList?n(J,{children:n("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:n("use",{href:"#icon-swap-left-right"})})}):n(J,{children:n("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:n("use",{href:"#icon-swap-up-down"})})})});return i("div",{className:"currency-converter__form",children:[i("div",{className:"currency-converter__form-container",children:[!e.isSwapped&&n(J,{children:n(tt,{i18n:e.i18n,currencyName:e.fromCurrencyName,currencyCode:e.fromCurrency,currencyFlagCode:e.fromCurrencyFlagCode,currencyCountryName:e.fromCurrencyCountryName,amount:e.amount,rateValue:e.rateValue,handleAmount:e.handleAmountChange,isSwapped:e.isSwapped,fromDisplayValue:e.fromDis
1playValue})}),e.isRateList&&!e.isSwapped&&n(c,{onClick:e.onSwapCurrenciesClick}),n(Vt,{i18n:e.i18n,allCurrencies:e.allCurrencies,popularCountries:e.popularCountries,searchCountries:e.searchCountries,baseCurrencyCode:e.fromCurrency,isClosed:e.isClosed,setIsClosed:e.setIsClosed,currencyName:e.isSwapped?e.fromCurrencyName:e.toCurrencyName,currencyCode:e.isSwapped?e.fromCurrency:e.toCurrency,currencyFlagCode:e.isSwapped?e.fromCurrencyFlagCode:e.toCurrencyFlagCode,currencyCountryName:e.isSwapped?e.fromCurrencyCountryName:e.toCurrencyCountryName,handleCurrencyChange:e.isSwapped?e.handleFromCurrencyChange:e.handleToCurrencyChange,amount:e.amount,rateValue:e.rateValue,handleAmount:e.isSwapped?e.handleAmountChange:e.handleAmountRevertChange,isSwapped:e.isSwapped,isRateList:e.isRateList,unavailableCurrencyText:e.unavailableCurrencyText,nonExistingCurrencyText:e.nonExistingCurrencyText,toDisplayValue:e.toDisplayValue,marketCountryCode:e.marketCountryCode,expressMode:e.expressMode,availableExpressCurrencies:e.availableExpressCurrencies}),e.isRateList&&e.isSwapped&&n(c,{onClick:e.onSwapCurrenciesClick}),e.isSwapped&&n(J,{children:n(tt,{i18n:e.i18n,currencyName:e.toCurrencyName,currencyCode:e.toCurrency,currencyFlagCode:e.toCurrencyFlagCode,currencyCountryName:e.toCurrencyCountryName,amount:e.amount,rateValue:e.rateValue,handleAmount:e.handleAmountRevertChange,isSwapped:e.isSwapped,fromDisplayValue:e.fromDisplayValue})})]}),!e.isRateList&&!e.expressMode&&n(c,{onClick:e.onSwapCurrenciesClick})]})},en=Math.pow(10,10);function Pt(e){let c=1,v=parseFloat(e);if(e){let R=Math.ceil(Math.log10(e));R<0&&(R=Math.abs(R),v=e*Math.pow(10,R),c=Math.pow(10,R))}return{unit:c,rate:v}}let Ee=-1;const Ot=e=>{var Ne;const{i18n:c,loading:v,languageCode:R,isAvailableOnline:d,contactusPage:ue,customerServicePage:Y,notAvailableOnlinePage:p,timeStamp:F,baseCountryCode:ee,buttonText:X,infoText:U,sellCurrencyButtonText:G,notAvailableCurrencyButtonText:I,fromCurrency:$,toCurrency:P,toCurrencyName:me,toCurrencyCountryName:he,toCurrencyFlagCode:fe,rateValue:te,getValue:H,payValue:j,stockStatus:ae,stockImage:Q,paymentIcons:z,deliveryIcons:W,maxReservationAmount:K,maxOrderAmount:r,defaultSiteCurrencyCode:l,closeDialog:h,rateMode:w,isSwapped:f,isRateList:S,isModal:x,buttonCallback:L,initLoad:C,currencyPageUrl:y}=e,b=nt(),[g,ne]=a.useState(b.getCultureFormatedDateString(F?new Date(F):new Date,R,!0));a.useEffect(()=>{ne(b.getCultureFormatedDateString(F?new Date(F):new Date,R,!0))},[F]);const k=Pt(te),E=f?j:H,ie=a.useRef(null),A=`${b.getFormatedCurrency(k.rate,R,4)} ${f?P:$}`,Le=()=>{const q={convertedCurrency:P,flagCode:fe,countryName:he,currencyName:me,getValue:`${j} ${P}`,payValue:`${H} ${$}`,fromAmount:H,toAmount:j,id:`${ee}-${$}-${P}`},T=JSON.parse(localStorage.getItem(pe)||"[]"),de=T.findIndex(D=>D.id===q.id);if(de!==-1?T[de]=q:T.push(q),localStorage.setItem(pe,JSON.stringify(T)),window.dispatchEvent(new CustomEvent(Ft)),!x){const D=document.querySelector(".currency-checkout-box");D&&(D.setAttribute("aria-hidden","false"),ie.current!==null&&clearTimeout(ie.current),ie.current=setTimeout(()=>{D.setAttribute("aria-hidden","true")},5e3))}Et($,P,H,j),x&&L&&(h(),L(q))},se=a.useMemo(()=>b.getFormatedCurrency(H,e.languageCode,2),[H,te,f]),ge=a.useMemo(()=>e.noDenominations?b.getFormatedCurrency(j,e.languageCode):b.getFormatedCurrency(j,e.languageCode,f?2:0),[j,H,f]);a.useMemo(()=>{if(!(C||v)){if(typeof window>"u"||Ee===-1){Ee=0;return}clearTimeout(Ee),Ee=setTimeout(()=>{kt(P,j)},700)}},[ge]);const ve=H==0||E>K;return i(J,{children:[$!==P&&i("div",{className:"currency-converter__exchangerate",children:[n("p",{children:i("span",{children:[c==null?void 0:c.exchangeRate," ",n("span",{className:"currency-converter__date",children:g})]})}),n("p",{children:i("span",{children:[k.unit," ",f?$:P," = ",A]})})]}),i("div",{className:"currency-converter__display-container",children:[S?i("div",{className:"currency-converter__display-wrapper",children:[i("div",{className:"currency-converter__display-item",children:[n("p",{children:n("span",{children:c==null?void 0:c.iReceive})}),n("p",{children:i("span",{children:[ge," ",P]})})]}),i("div",{className:"currency-converter__display-item",children:[n("p",{children:n("span",{children:c==null?void 0:c.imPaying})}),n("div",{children:v?n(J,{children:n(Ue,{size:20,thickness:6})}):n("p",{children:i("span",{children:[se," ",$]})})})]}),n("div",{className:"currency-converter__display-reservation",children:E>r&&E<K?i(J,{children:[n("span",{children:"!"}),n("p",{children:i("span",{children:[c==null?void 0:c.maxOrderAmount," ",r," ",l,"."," ",c==null?void 0:c.continueMaxOrderAmount]})})]}):E>K?i(J,{children:[n("span",{children:"!"}),i("p",{children:[c==null?void 0:c.maxReservationAmount," ",K," ",l,"."," ",c==null?void 0:c.continueMaxReservationAmount]})]}):null})]}):i(J,{children:[i("div",{className:"currency-converter__display-item",children:[n("p",{children:n("span",{children:c==null?void 0:c.iReceive})}),n("div",{children:v?n(Ue,{size:20,thickness:6}):n("p",{children:i("span",{children:[" ",ge," ",P]})})})]}),i("div",{className:"currency-converter__display-item currency-converter__stock-status",children:[n("div",{className:"currency-converter__display-reservation",children:f==!1&&H>1&&i("p",{children:[((Ne=e==null?void 0:e.i18n)==null?void 0:Ne.currencyInformationText)??"","."]})}),i("div",{className:"currency-converter__stock-icon",children:[n("svg",{width:"16",height:"16",children:n("use",{href:`#${Q}`})}),Q=="icon-notonstock"?n("a",{href:y||Y,children:ae}):n("p",{children:n("span",{children:ae})})]})]}),i("div",{className:"currency-converter__display-item",children:[n("p",{children:n("span",{children:c==null?void 0:c.imPaying})}),n("div",{children:v?n(Ue,{size:20,thickness:6}):n("p",{children:i("span",{children:[se," ",$]})})})]}),n("div",{className:"currency-converter__display-reservation",children:!f&&(E>r&&E<K?i(J,{children:[n("span",{children:"!"}),n("p",{children:i("span",{children:[c==null?void 0:c.maxOrderAmount," ",r," ",l,"."," ",c==null?void 0:c.continueMaxOrderAmount]})})]}):E>K?i(J,{children:[n("span",{children:"!"}),n("p",{children:i("span",{children:[c==null?void 0:c.maxReservationAmount," ",K," ",l,"."," ",c==null?void 0:c.continueMaxReservationAmount]})})]}):null)})]}),i("div",{className:"currency-converter__checkout",children:[i("div",{className:"currency-converter__accepted-company",children:[z==null?void 0:z.map((q,T)=>n("div",{className:"currency-converter__accepted-icon",dangerouslySetInnerHTML:{__html:q.value}},"icon1"+T)),W==null?void 0:W.map((q,T)=>n("div",{className:"currency-converter__accepted-icon",dangerouslySetInnerHTML:{__html:q.value}},"icon2"+T))]}),e.expressMode?null:!d&&!f&&Q==="icon-notonstock"?n(et,{className:"currency-converter__button",type:"href",href:y||p,children:n("span",{children:I})}):Q==="icon-notonstock"||ae===0||f||w=="sellcurrency"?n(et,{className:"currency-converter__button",type:"href",href:Q==="icon-notonstock"?p:ue,children:n("span",{children:Q==="icon-notonstock"?I:G||(c==null?void 0:c.findStore)})}):i("button",{className:"button button__no-arrow currency-converter__button",onClick:Le,disabled:ve,children:[n("svg",{width:"16",height:"16","aria-hidden":"true",children:n("use",{href:"#icon-cart"})}),n("span",{children:X||(c==null?void 0:c.addToCart)})]})]})]}),n("p",{className:"currency-converter__information",children:n("span",{children:U})})]})},Ut=e=>{var Je,Xe,Qe;const c=Ze(t=>{var o;return(o=t.currencyConverter)==null?void 0:o.i18n})??e.i18n,v=Ze(t=>t.currencyRateModeState)??e.currencyViewState,R=xt(),[d,ue]=a.useState(null),[Y,p]=a.use
1State(null),[F,ee]=a.useState(null),[X,U]=a.useState([]),[G,I]=a.useState([]),[$,P]=a.useState([]),[me,he]=a.useState([]),[fe,te]=a.useState(e.isAvailablePurchaseOnline||void 0),[H,j]=a.useState(""),[ae]=a.useState(e.paymentIcons),[Q]=a.useState(e.deliveryIcons),[z,W]=a.useState(e.fromCurrencyCountryName),[K,r]=a.useState(e.fromCurrencyFlagCode),[l,h]=a.useState(e.ToCurrencyFlagCode),[w,f]=a.useState(e.mainCurrencyAbbriviation),[S,x]=a.useState(e.toCurrencyName),[L,C]=a.useState(e.toCurrencyCountryName??""),[y,b]=a.useState(e.defaultSiteCurrencyCode??""),[g,ne]=a.useState(e.defaultTargetCurrencyCode??""),[k,E]=a.useState(e.exchangeAmount??0),[ie,le]=a.useState(e.exchangeAmount??0),[A,Le]=a.useState(0),[se,ge]=a.useState(0),[ve,Ne]=a.useState(0),[q,T]=a.useState(e.exchangeAmount??0),[de,D]=a.useState(""),[rt,Me]=a.useState(!0),[at,_e]=a.useState(e.stockStatus),[ct,we]=a.useState(e.stockImage),[B,xe]=a.useState(e.convertToSellCurrency??!1),[Se,Be]=a.useState(e.rateMode??O.buyCurrency),[ot,He]=a.useState(!1),[je,ut]=a.useState(!0),[it,lt]=a.useState(!1),[st,ze]=a.useState(""),Ce=a.useRef(!1),Ae=a.useRef(null),Te=(Je=F==null?void 0:F.included)==null?void 0:Je.map(t=>t.attributes.targetCurrencyCode),dt=e.isModal?"dialog":"div",Ke=nt(),Ct=Mt(),De=g?(Xe=e.currencyPages)==null?void 0:Xe.find(t=>t.name===g):void 0,Ye=(De==null?void 0:De.pageUrl)??"/";a.useEffect(()=>{e.rateListCurrencyPageUrl?ze(e.rateListCurrencyPageUrl):ze(Ye)},[Ye]);let ce=null,Re=null,Fe=null;if(e.currencyConverterUrl){const t=Ke.getCurrentLanguageAdjusted(e.languageCode),o=e.currencyConverterUrl?`${e.currencyConverterUrl}priceCategories?include=fromSourceExchangeRates.sourceProduct.countries,fromSourceExchangeRates.targetProduct.countries,toSourceExchangeRates&lang=${t}`:"",u=e.currencyConverterUrl?`${e.currencyConverterUrl}priceCategories?include=fromSourceExchangeRates&filter[countryCode]=${e.marketCountryCode}&lang=${t}`:"",s=e.currencyConverterUrl?`${e.currencyConverterUrl}markets?include=popularProducts&filter[countryCode]=${e.marketCountryCode}`:"",m=Tt(o,s,u);ce=m.exchangeData,Re=m.popularData,Fe=m.countryCodeData}if(typeof window<"u"){const t=window.location.search,u=new URLSearchParams(t).get("campaign");if(u){sessionStorage.setItem("campaign",u);const s=new URL(window.location.href);s.searchParams.delete("campaign"),window.history.replaceState({},document.title,s.toString())}}a.useEffect(()=>{it||(e.onCurrencyChange&&e.onCurrencyChange(g),e.onAmountChange&&e.onAmountChange(k),lt(!0))});const yt=async(t,o)=>{He(!0);try{if(!e.marketCountryCode)throw new Error("Base country code is not defined");const u=e.marketCountryCode,s=await Ct.convertCurrency(u,t,o,ie,e.noDenominations??!1);if(!s.success)throw new Error("Currency conversion failed");b(s.content.attributes.sourceCurrencyCode),ne(s.content.attributes.targetCurrencyCode),ge(s.content.meta.resultingSourceCurrencyAmount),Ne(s.content.meta.resultingTargetCurrencyAmount);const m=X.find(M=>M.id.startsWith(`${u.toUpperCase()}-${t}-${o}`)&&M.attributes.sourceCurrencyCode===t&&M.attributes.targetCurrencyCode===o),N=m?m.attributes.rate??0:(B?e.toExhangeRate:e.fromExhangeRate)??0,Z=B?1/N:N;Le(Z)}catch(u){console.error("Error converting currency:",u)}He(!1)};a.useEffect(()=>{ce&&ue(ce),Re&&p(Re),Fe&&ee(Fe)},[ce,Re,Fe]),a.useEffect(()=>{if(e.onCurrencyConverted){const t={id:`${e.marketCountryCode}-${y}-${g}`,fromAmount:se??0,toAmount:ve??0,rate:A??0,sourceCurrencyCode:y??"",targetCurrencyCode:g??"",flagCode:l??"",currencyName:S??""};e.onCurrencyConverted(t)}},[se,ve,A]),a.useEffect(()=>{var s,m,N,Z;const t=((s=d==null?void 0:d.included)==null?void 0:s.filter(M=>M.type==="exchangeRate"))??[],o=((m=d==null?void 0:d.included)==null?void 0:m.filter(M=>M.type==="product"))??[],u=((N=d==null?void 0:d.included)==null?void 0:N.filter(M=>M.type==="country"))??[];j((Z=d==null?void 0:d.data)==null?void 0:Z.filter(M=>e.marketCountryCode==M.attributes.countryCode).map(M=>M.attributes.timeStamp).toString()),he(u),I(o),U(t)},[d]),a.useEffect(()=>{yt(y,g)},[k,y,g,X]);const ye=(t,o)=>t[o]??t.swe,mt=t=>{const o=G.find(_=>_.attributes.currencyCode===(B?y:g));if(!o){we("icon-notonstock"),_e(c.notAvailable);return}const{availableForOnlinePurchase:u,availableForReservation:s,availableForBuyAndCollect:m}=o.attributes,N=ye(u,t),Z=ye(s,t),M=ye(m,t);N?(_e(c.isAvailable),we("icon-onstock")):Z||M?(_e(c.limitedAvailability),we("icon-fewonstock")):(_e(c.notAvailable),we("icon-notonstock"))};a.useEffect(()=>{const t=B?g:y,o=B?y:g;(()=>{const s=X.find(N=>N.id.startsWith(`${e.marketCountryCode}-${t}-${o}`)&&N.attributes.sourceCurrencyCode===t&&N.attributes.targetCurrencyCode===o);return s?s.attributes.rate||0:(B?e.toExhangeRate:e.fromExhangeRate)||0})()},[A,y,g]),a.useMemo(()=>{var t;mt(((t=e.marketCountryCode)==null?void 0:t.toLocaleLowerCase())??"")},[g,y,G]);const V=t=>t===0?"":Ke.getFormatedCurrency(t,e.languageCode,0),ht=t=>{const o=t.target.value.replace(/\D/g,"");if(/^\d*$/.test(o.toString())){const u=Number(o);e.onAmountChange&&e.onAmountChange(u),E(u),B?(T(V(Math.round(u*A))),D(V(u)),le(u)):(T(V(u)),D(V(Math.round(u/A))),le(u))}},ft=t=>{const o=t.target.value.replace(/\D/g,"");if(/^\d*$/.test(o.toString())){const u=Number(o);e.onAmountChange&&e.onAmountChange(u*A),E(u),B?(T(V(u)),D(V(Math.round(u/A))),le(u/A)):(D(V(u)),T(V(Math.round(u*A))),le(u*A))}},gt=t=>{b(t.target.value),r(t.target.value.substring(0,2).toLowerCase()),f(t.target.name),D(V(Math.round(k*A))),W(oe.filter(o=>o.currencyCode==t.target.value).map(o=>o.countryName).toString()),Me(!0),setTimeout(()=>{const o=Ae.current.querySelector(".currency-converter__input");o instanceof HTMLInputElement&&o.focus()},300)},vt=t=>{ne(t.target.value),h(t.target.value.substring(0,2).toLowerCase()),x(t.target.name),D(V(Math.round(k/A))),e.onCurrencyChange&&e.onCurrencyChange(t.target.value),e.onAmountChange&&e.onAmountChange(k);let o=oe.filter(s=>s.currencyCode==t.target.value).map(s=>s.countryName).toString();o||(o=""),At(t.target.dataset.countrycode);const u=oe.filter(s=>s.currencyCode===t.target.value).some(s=>{var m;return ye(s.availableForPurchaseOnline,((m=e.marketCountryCode)==null?void 0:m.toLocaleLowerCase())??"")});te(u),C(o),Me(!0)},St=Array.from(new Set(X.map(t=>t.attributes.targetCurrencyCode).filter(t=>t!==y).sort())),Ve=Array.from(new Set(me.map(t=>{var o,u;return{currencyId:t.id,flagCode:t.attributes.flagCode,countryName:t.attributes.name,countryCode:t.attributes.countryCode,currencyCode:(o=t.relationships.products)!=null&&o.data[0]?(u=t.relationships.products)==null?void 0:u.data[0].id:void 0,relationship:t.relationships}}))),Ge=Array.from(new Set(G.map(t=>
1({flagCode:t.attributes.flagCode,currencyName:t.attributes.name,currencyCode:t.attributes.currencyCode,availableForPurchaseOnline:t.attributes.availableForOnlinePurchase,availableForReservation:t.attributes.availableForReservation,availableForBuyAndCollect:t.attributes.availableForBuyAndCollect})).filter(t=>t.currencyCode!==e.defaultSiteCurrencyCode).sort((t,o)=>t.flagCode&&o.flagCode?t.flagCode.localeCompare(o.flagCode):0))),oe=Ge.map(t=>{const o=Ve.find(N=>N.flagCode===t.flagCode),u=o?o.countryName:void 0,s=o?o.countryCode:void 0,m=o?o.relationship:void 0;return{...t,countryName:u,countryCode:s,relationship:m}}).filter(t=>Te==null?void 0:Te.includes(t.currencyCode)),bt=Ve.map(t=>{var m;const o=Ge.find(N=>N.currencyCode===t.currencyCode),u=o?o.currencyName:void 0,s=o!=null&&o.availableForPurchaseOnline?ye(o.availableForPurchaseOnline,((m=e.marketCountryCode)==null?void 0:m.toLocaleLowerCase())??""):void 0;return{...t,currencyName:u,availableForPurchaseOnline:s}});a.useEffect(()=>{var t,o,u;if(ce&&F)try{const s=(t=ce.included)==null?void 0:t.filter(_=>_.type==="country").map(_=>{var re,ke;return{flagCode:_.attributes.flagCode,countryName:_.attributes.name,countryCode:_.attributes.countryCode,currencyCode:(ke=(re=_.relationships.products)==null?void 0:re.data[0])==null?void 0:ke.id}}),m=(o=ce.included)==null?void 0:o.filter(_=>_.type==="product").map(_=>({flagCode:_.attributes.flagCode,currencyName:_.attributes.name,currencyCode:_.attributes.currencyCode})),N=m==null?void 0:m.map(_=>{const re=s==null?void 0:s.find(ke=>ke.currencyCode===_.currencyCode);return{..._,countryName:re==null?void 0:re.countryName,countryCode:re==null?void 0:re.countryCode}}),Z=(u=F==null?void 0:F.included)==null?void 0:u.map(_=>_.attributes.targetCurrencyCode),M=N==null?void 0:N.filter(_=>Z==null?void 0:Z.includes(_.currencyCode));P(M)}catch(s){console.error("Error processing data:",s)}},[ce,F]);const be=new Map((Qe=Y==null?void 0:Y.data.map(t=>t.relationships.popularProducts).map(t=>t.data)[0])==null?void 0:Qe.map(t=>[t.id,t.meta.popularityRank])),Nt=oe.filter(t=>be==null?void 0:be.has(t.currencyCode)).sort((t,o)=>{const u=be.get(t.currencyCode)||Number.MAX_VALUE,s=be.get(o.currencyCode)||Number.MAX_VALUE;return u-s}),$e=()=>{b(g),ne(y),f(S),x(w),r(l),h(K),W(L),C(z),E(Number(B?de.toString().replace(/\D/g,""):q.toString().replace(/\D/g,""))),T(""),D(""),le(Number(B?de.toString().replace(/\D/g,""):q.toString().replace(/\D/g,"")))};a.useEffect(()=>{B?(T(V(Math.round(k*A))),D(V(k))):(T(V(k)),D(V(Math.round(k/A))))},[A]),a.useEffect(()=>{var u;const t=oe.find(s=>s.currencyCode===e.defaultTargetCurrencyCode),o=Ve.find(s=>s.countryCode===e.marketCountryCode);e.convertToSellCurrency?e.convertToSellCurrency&&(!e.isRateList&&o&&!Ce.current&&(C(o.countryName),h(o.flagCode)),t&&!Ce.current&&(e.isRateList||(r(t.flagCode),f(t.currencyName),W(t.countryName)),Ce.current=!0)):(!e.isRateList&&o&&!Ce.current&&(W(o.countryName),r(o.flagCode)),t&&!Ce.current&&(e.isRateList||(h(t.flagCode),x(t.currencyName),C(t.countryName)),te(ye(t.availableForPurchaseOnline,((u=e.marketCountryCode)==null?void 0:u.toLocaleLowerCase())??"")),Ce.current=!0))},[oe,e.defaultTargetCurrencyCode]);const We=()=>{R(Lt.actions.setRateMode(v.rateMode===O.buyCurrency?O.sellCurrency:O.buyCurrency)),Be(t=>t===O.buyCurrency?O.sellCurrency:O.buyCurrency),$e(),setTimeout(()=>{const t=Ae.current.querySelector(".currency-converter__input");t instanceof HTMLInputElement&&t.focus()},300),e.rateMode?xe(Se===O.buyCurrency):xe(v.rateMode===O.buyCurrency)};a.useEffect(()=>{e.isRateList&&v.rateMode!==Se&&(Be(t=>t===O.buyCurrency?O.sellCurrency:O.buyCurrency),$e(),e.rateMode?xe(Se===O.buyCurrency):xe(v.rateMode===O.buyCurrency))},[v.rateMode]),a.useEffect(()=>{e.isRateList&&Se===O.sellCurrency&&$e()},[]);const _t=t=>{const o=$.find(u=>u.currencyCode===t);return o?{flagCode:o.flagCode,currencyName:o.currencyName,countryName:o.countryName}:{flagCode:"",currencyName:"",countryName:""}};a.useEffect(()=>{const t=o=>{const{currencyCode:u}=o.detail;ne(u);const{flagCode:s,currencyName:m,countryName:N}=_t(u);h(s),x(m),C(N)};return window.addEventListener("currencyChange",t),()=>{window.removeEventListener("currencyChange",t)}},[oe]),a.useEffect(()=>{e.convertToSellCurrency&&We()},[]);const Pe=V(B?k:Math.round(k/A));a.useEffect(()=>{je&&Pe!==""&&(D(Pe),ut(!1))},[Pe]);const qe=()=>{if(e.isModal){const t=Ae.current;t instanceof HTMLDialogElement&&t.close()}};return i(dt,{ref:Ae,className:"currency-converter__container","data-background":e.isInlineBlock||e.isModal?e.blockBackgroun
1dColor?e.blockBackgroundColor:"yellow":e.expressMode?"yellow":null,"data-type":e.isRateList?"rate-list":e.isModal?"modal":null,...e.isModal?{open:!1}:{},children:[!e.expressMode&&i("div",{className:"currency-converter__header",children:[n("h3",{className:"currency-converter__heading",children:n("span",{children:e.blockHeading?e.blockHeading:c.currencyConverterHeading})}),e.isModal&&n("button",{className:"currency-converter__close",onClick:qe,autoFocus:!0,children:n("svg",{width:"16",height:"16",className:"currency-converter__close-svg",children:n("use",{href:"#icon-close"})})})]}),n($t,{i18n:c,allCurrencies:oe,popularCountries:Nt,searchCountries:bt,fromCurrency:y,toCurrency:g,amount:k,handleAmountChange:ht,fromCurrencyCountryName:z,toCurrencyCountryName:L,fromCurrencyFlagCode:K,toCurrencyFlagCode:l,fromCurrencyName:w,toCurrencyName:S,handleFromCurrencyChange:gt,handleToCurrencyChange:vt,fromDisplayValue:q,toDisplayValue:de,uniqueTargetCurrencies:St,rateValue:A,handleAmountRevertChange:ft,setIsClosed:Me,isClosed:rt,onSwapCurrenciesClick:We,isSwapped:B,isRateList:e.isRateList,unavailableCurrencyText:e.unavailableCurrencyText,nonExistingCurrencyText:e.nonExistingCurrencyText,marketCountryCode:e.marketCountryCode,expressMode:e.expressMode,availableExpressCurrencies:e.availableExpressCurrencies}),n(Ot,{i18n:c,loading:ot,languageCode:e.languageCode,isAvailableOnline:fe,notAvailableOnlinePage:e.notAvailableOnlinePage,contactusPage:e.contactusPage,customerServicePage:e.customerServicePage,baseCountryCode:e.marketCountryCode,timeStamp:H,fromCurrency:y,toCurrency:g,toCurrencyName:S,toCurrencyFlagCode:l,toCurrencyCountryName:L,rateValue:A,getValue:se,payValue:ve,stockStatus:at,stockImage:ct,maxReservationAmount:e.maxReservationAmount,maxOrderAmount:e.maxOrderAmount,defaultSiteCurrencyCode:e.defaultSiteCurrencyCode,buttonText:e.buttonText,paymentIcons:ae,deliveryIcons:Q,infoText:e.informationText,sellCurrencyButtonText:e.sellCurrencyButtonText,notAvailableCurrencyButtonText:e.notAvailableCurrencyButtonText,closeDialog:qe,isSwapped:B,rateMode:Se,isRateList:e.isRateList,isModal:e.isModal,buttonCallback:e.buttonCallback,initLoad:je,twoLetterISOLanguageName:e.twoLetterISOLanguageName,expressMode:e.expressMode,currencyPageUrl:st,noDenominations:e.noDenominations??!1})]})},tn=Object.freeze(Object.defineProperty({__proto__:null,default:Ut},Symbol.toStringTag,{value:"Module"}));export{Ut as C,en as M,tn as c};

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.