UNPKG

rohan-currency-flag-selector

Version:
2 lines 2.03 kB
import{useEffect as m,useState as f}from"react";import y from"react-country-flag";var t={US:{symbol:"$",currency:"USD",country:"United States"},IN:{symbol:"\u20B9",currency:"INR",country:"India"},JP:{symbol:"\xA5",currency:"JPY",country:"Japan"},GB:{symbol:"\xA3",currency:"GBP",country:"United Kingdom"},EU:{symbol:"\u20AC",currency:"EUR",country:"European Union"},CA:{symbol:"$",currency:"CAD",country:"Canada"},AU:{symbol:"$",currency:"AUD",country:"Australia"},CN:{symbol:"\xA5",currency:"CNY",country:"China"}};import{jsx as r,jsxs as n}from"react/jsx-runtime";function g({initial:i="US",onSelect:a,persist:o=!0,className:u}){let[s,l]=f(i),p=t[s];m(()=>{if(!o)return;let e=typeof window<"u"?localStorage.getItem("rcfs-selected"):null;e&&e in t&&l(e)},[o]);let d=e=>{l(e),a?.(e),o&&typeof window<"u"&&localStorage.setItem("rcfs-selected",e)};return n("div",{className:"rcfs-root",style:{position:"relative",display:"inline-block"},children:[r("button",{className:u||"rcfs-trigger","aria-haspopup":"menu","aria-expanded":"false",children:n("span",{style:{display:"inline-flex",alignItems:"center",gap:8},children:[r(y,{countryCode:s,svg:!0,style:{width:"1.25em",height:"1.25em"}}),r("span",{style:{fontWeight:600},children:p.symbol})]})}),r("div",{className:"rcfs-menu",role:"menu",style:{position:"absolute",marginTop:6,right:0,background:"white",border:"1px solid rgba(0,0,0,0.08)",borderRadius:6,boxShadow:"0 6px 18px rgba(0,0,0,0.06)",zIndex:50,minWidth:220,overflow:"hidden"},children:Object.entries(t).map(([e,c])=>n("div",{role:"menuitem",onClick:()=>d(e),style:{padding:"10px 12px",cursor:"pointer",display:"flex",gap:10,alignItems:"center"},children:[r(y,{countryCode:e,svg:!0,style:{width:"1.25em",height:"1.25em"}}),n("div",{style:{display:"flex",flexDirection:"column"},children:[n("span",{style:{fontWeight:600},children:[c.symbol," \u2014 ",c.currency]}),r("small",{style:{color:"#6b7280"},children:c.country})]})]},e))})]})}var b=g;export{b as CurrencySelector,t as currencyMap}; //# sourceMappingURL=index.mjs.map