{"version":3,"file":"PriceDisplay.CeiMF0uu.mjs","names":["React.useState","p"],"sources":["https:/framerusercontent.com/modules/jgQBjPsi0eE3CAHLfR10/XlRqu9vCGc2hnBnzZLo0/PriceDisplay.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/* ----- Config ----- */const GCC=new Set([\"AED\",\"SAR\",\"OMR\",\"QAR\"]);const SYMBOLS_EN={GBP:\"\\xa3\",USD:\"$\",EUR:\"€\",CAD:\"C$\"};const SYMBOLS_GCC_AR={AED:\"د.إ\",SAR:\"ر.س\",OMR:\"ر.ع\",QAR:\"ر.ق\"};// Manual rates per 1 GBP (edit any time)\nconst MANUAL_RATES={GBP:1,USD:1.33,CAD:1.85,EUR:1.15,OMR:.52,AED:4.94,SAR:5.04,QAR:4.89};/* --------- Locale detection helpers --------- */function getURLLocale(){try{const h=window.location.href.toLowerCase();if(h.includes(\"lang=ar\")||/\\/ar(\\/|$)/.test(h))return\"ar\";if(h.includes(\"lang=en\")||/\\/en(\\/|$)/.test(h))return\"en\";}catch{}return null;}function readHtmlDirLang(){if(typeof document===\"undefined\")return{dir:\"ltr\",lang:\"en\"};const el=document.documentElement;const dirAttr=(el.getAttribute(\"dir\")||\"\").toLowerCase();const langAttr=(el.getAttribute(\"lang\")||\"\").toLowerCase();const lang=langAttr.startsWith(\"ar\")?\"ar\":\"en\";const dir=dirAttr===\"rtl\"||lang===\"ar\"?\"rtl\":\"ltr\";return{dir,lang};}function resolveLocaleAndDir(prefLocale,prefDir){if(prefLocale===\"ar\")return{lang:\"ar\",dir:prefDir===\"ltr\"?\"ltr\":\"rtl\"};if(prefLocale===\"en\")return{lang:\"en\",dir:prefDir===\"rtl\"?\"rtl\":\"ltr\"};const urlLoc=getURLLocale();if(urlLoc)return{lang:urlLoc,dir:urlLoc===\"ar\"?\"rtl\":\"ltr\"};const{dir,lang}=readHtmlDirLang();if(prefDir===\"ltr\")return{lang,dir:\"ltr\"};if(prefDir===\"rtl\")return{lang,dir:\"rtl\"};return{lang,dir};}/* --------- Component --------- */export default function PriceDisplay(p){// selected currency (from CurrencyMenu)\nconst[currency,setCurrency]=React.useState(()=>{if(typeof window===\"undefined\")return p.baseCurrency;return localStorage.getItem(`currency:${p.persistKey}`)||p.baseCurrency;});React.useEffect(()=>{const h=e=>{if(e?.detail?.key===p.persistKey)setCurrency(e.detail.code||p.baseCurrency);};window.addEventListener(\"currency:change\",h);return()=>window.removeEventListener(\"currency:change\",h);},[p.persistKey,p.baseCurrency]);// locale/dir resolution + live watcher\nconst[ld,setLD]=React.useState(()=>resolveLocaleAndDir(p.locale,p.direction));React.useEffect(()=>{const update=()=>setLD(resolveLocaleAndDir(p.locale,p.direction));const mo=new MutationObserver(update);if(typeof document!==\"undefined\"){mo.observe(document.documentElement,{attributes:true,attributeFilter:[\"dir\",\"lang\"]});}window.addEventListener(\"popstate\",update);window.addEventListener(\"hashchange\",update);update();return()=>{mo.disconnect();window.removeEventListener(\"popstate\",update);window.removeEventListener(\"hashchange\",update);};},[p.locale,p.direction]);const isRTL=ld.dir===\"rtl\";const isArabic=ld.lang===\"ar\";// token logic per your rules\nfunction tokenFor(code){const c=code.toUpperCase();if(!p.useSymbol)return c;if(GCC.has(c)){return isArabic?SYMBOLS_GCC_AR[c]||c:c;}return SYMBOLS_EN[c]||c;}// compute numeric amount\nconst base=p.baseCurrency.toUpperCase();const target=(currency||base).toUpperCase();const rate=target===base?1:MANUAL_RATES[target];let computed=typeof rate===\"number\"?p.baseAmount*rate:NaN;// apply markup ONLY when target != base\nif(target!==base&&isFinite(computed)&&p.markupPercent){computed=computed*(1+p.markupPercent/100);}const numberText=isFinite(computed)?new Intl.NumberFormat(undefined,{minimumFractionDigits:p.decimals,maximumFractionDigits:p.decimals}).format(computed):p.errorText||\"Rate unavailable\";// Layout\nconst flexDirection=isRTL?\"row-reverse\":\"row\";const uiDir=p.direction!==\"auto\"?p.direction:isRTL?\"rtl\":\"ltr\";const justifyContent=p.align===\"center\"?\"center\":p.align===\"end\"?\"flex-end\":\"flex-start\";const iconSize=Math.max(6,p.valueSize*(p.iconScale||.6));const iconTranslateY=p.iconSuperscript?`${-Math.abs(p.iconYOffsetPct)}%`:\"0%\";return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",justifyContent,fontFamily:p.valueFont||\"Zain\",lineHeight:p.valueLineHeight,direction:uiDir},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:p.gapPx,flexDirection,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:p.valueColor,fontSize:iconSize,fontWeight:p.valueWeight,letterSpacing:p.valueLetter,opacity:.95,lineHeight:1,transform:`translateY(${iconTranslateY})`},children:tokenFor(target)}),/*#__PURE__*/_jsx(\"span\",{style:{color:p.valueColor,fontSize:p.valueSize,fontWeight:p.valueWeight,letterSpacing:p.valueLetter},children:numberText})]}),p.strike&&/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true,style:{position:\"absolute\",left:0,right:0,top:`${p.strikeOffsetPct}%`,height:p.strikeThickness,opacity:p.strikeOpacity,borderRadius:p.strikeThickness/2,background:p.strikeDashed?`repeating-linear-gradient(90deg, ${p.valueColor}, ${p.valueColor} ${p.strikeDashLength}px, transparent ${p.strikeDashLength}px, transparent ${p.strikeDashLength+p.strikeDashGap}px)`:p.valueColor,transform:\"translateY(-50%)\",pointerEvents:\"none\"}})]});}/* ----- Controls ----- */addPropertyControls(PriceDisplay,{baseCurrency:{type:ControlType.String,title:\"Base\",defaultValue:\"GBP\"},baseAmount:{type:ControlType.Number,title:\"Amount\",defaultValue:0,min:0,step:.01},decimals:{type:ControlType.Number,title:\"Decimals\",defaultValue:2,min:0,max:6},useSymbol:{type:ControlType.Boolean,title:\"Use token\",defaultValue:true},persistKey:{type:ControlType.String,title:\"Persist key\",defaultValue:\"sf-currency\"},locale:{type:ControlType.Enum,title:\"Locale\",options:[\"auto\",\"en\",\"ar\"],optionTitles:[\"Auto\",\"English\",\"Arabic\"],defaultValue:\"auto\"},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"auto\",\"ltr\",\"rtl\"],optionTitles:[\"Auto\",\"LTR\",\"RTL\"],defaultValue:\"auto\"},align:{type:ControlType.Enum,title:\"Align\",options:[\"start\",\"center\",\"end\"],defaultValue:\"center\"},valueColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ffffff\"},valueSize:{type:ControlType.Number,title:\"Size\",defaultValue:28,min:6,max:200},valueWeight:{type:ControlType.Number,title:\"Weight\",defaultValue:600,min:100,max:900,step:50},valueLetter:{type:ControlType.Number,title:\"Letter\",defaultValue:0,min:-2,max:4,step:.1},valueFont:{type:ControlType.String,title:\"Font\",defaultValue:\"Zain\"},valueLineHeight:{type:ControlType.Number,title:\"Line\",defaultValue:1.2,min:.8,max:2,step:.05},iconScale:{type:ControlType.Number,title:\"Icon scale\",defaultValue:.6,min:.3,max:1,step:.01},iconSuperscript:{type:ControlType.Boolean,title:\"Icon superscript\",defaultValue:true},iconYOffsetPct:{type:ControlType.Number,title:\"Icon Y offset %\",defaultValue:18,min:-60,max:60,step:1},strike:{type:ControlType.Boolean,title:\"Strike\",defaultValue:false},strikeThickness:{type:ControlType.Number,title:\"Strike px\",defaultValue:6,min:1,max:24},strikeOffsetPct:{type:ControlType.Number,title:\"Strike offset %\",defaultValue:50,min:0,max:100},strikeOpacity:{type:ControlType.Number,title:\"Strike opacity\",defaultValue:1,min:0,max:1,step:.05},strikeDashed:{type:ControlType.Boolean,title:\"Dashed\",defaultValue:false},strikeDashLength:{type:ControlType.Number,title:\"Dash length\",defaultValue:10,min:2,max:40},strikeDashGap:{type:ControlType.Number,title:\"Dash gap\",defaultValue:8,min:2,max:40},// NEW: spacing + markup\ngapPx:{type:ControlType.Number,title:\"Gap px\",defaultValue:1,min:0,max:20,step:1},markupPercent:{type:ControlType.Number,title:\"Markup % (non-GBP)\",defaultValue:3.25,min:0,max:100,step:.01},errorText:{type:ControlType.String,title:\"Error text\",defaultValue:\"Rate unavailable\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PriceDisplay\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PriceDisplay.map"],"mappings":"sMAC2I,SAAS,GAAc,CAAC,GAAG,CAAC,IAAM,EAAE,EAAO,SAAS,KAAK,aAAa,CAAC,GAAG,EAAE,SAAS,UAAU,EAAE,aAAa,KAAK,EAAE,CAAC,MAAM,KAAK,GAAG,EAAE,SAAS,UAAU,EAAE,aAAa,KAAK,EAAE,CAAC,MAAM,UAAW,EAAE,OAAO,KAAM,SAAS,GAAiB,CAAC,GAAG,OAAO,SAAW,IAAY,MAAM,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC,IAAM,EAAG,SAAS,gBAAsB,GAAS,EAAG,aAAa,MAAM,EAAE,IAAI,aAAa,CAAkE,GAAjD,EAAG,aAAa,OAAO,EAAE,IAAI,aAAa,CAAqB,WAAW,KAAK,CAAC,KAAK,KAAwD,MAAM,CAAC,IAAhD,IAAU,OAAO,IAAO,KAAK,MAAM,MAAiB,OAAK,CAAE,SAAS,EAAoB,EAAW,EAAQ,CAAC,GAAG,IAAa,KAAK,MAAM,CAAC,KAAK,KAAK,IAAI,IAAU,MAAM,MAAM,MAAM,CAAC,GAAG,IAAa,KAAK,MAAM,CAAC,KAAK,KAAK,IAAI,IAAU,MAAM,MAAM,MAAM,CAAC,IAAM,EAAO,GAAc,CAAC,GAAG,EAAO,MAAM,CAAC,KAAK,EAAO,IAAI,IAAS,KAAK,MAAM,MAAM,CAAC,GAAK,CAAC,MAAI,QAAM,GAAiB,CAAqF,OAAjF,IAAU,MAAY,CAAC,OAAK,IAAI,MAAM,CAAI,IAAU,MAAY,CAAC,OAAK,IAAI,MAAM,CAAO,CAAC,OAAK,MAAI,CAAqC,SAAwB,EAAa,EAAE,CACtqC,GAAK,CAAC,EAAS,GAAaA,MAA8B,IAAS,OAAmBC,EAAE,aAAoB,aAAa,QAAQ,YAAYA,EAAE,aAAa,EAAEA,EAAE,aAAe,CAAC,MAAoB,CAAC,IAAM,EAAE,GAAG,CAAI,GAAG,QAAQ,MAAMA,EAAE,YAAW,EAAY,EAAE,OAAO,MAAMA,EAAE,aAAa,EAAgD,OAA7C,EAAO,iBAAiB,kBAAkB,EAAE,KAAW,EAAO,oBAAoB,kBAAkB,EAAE,EAAG,CAACA,EAAE,WAAWA,EAAE,aAAa,CAAC,CACta,GAAK,CAAC,EAAG,GAAOD,MAAmB,EAAoBC,EAAE,OAAOA,EAAE,UAAU,CAAC,CAAC,MAAoB,CAAC,IAAM,MAAW,EAAM,EAAoBA,EAAE,OAAOA,EAAE,UAAU,CAAC,CAAO,EAAG,IAAI,iBAAiB,EAAO,CAA2N,OAAvN,OAAO,SAAW,KAAa,EAAG,QAAQ,SAAS,gBAAgB,CAAC,WAAW,GAAK,gBAAgB,CAAC,MAAM,OAAO,CAAC,CAAC,CAAE,EAAO,iBAAiB,WAAW,EAAO,CAAC,EAAO,iBAAiB,aAAa,EAAO,CAAC,GAAQ,KAAW,CAAC,EAAG,YAAY,CAAC,EAAO,oBAAoB,WAAW,EAAO,CAAC,EAAO,oBAAoB,aAAa,EAAO,GAAK,CAACA,EAAE,OAAOA,EAAE,UAAU,CAAC,CAAC,IAAM,EAAM,EAAG,MAAM,MAAY,EAAS,EAAG,OAAO,KAC9mB,SAAS,EAAS,EAAK,CAAC,IAAM,EAAE,EAAK,aAAa,CAAiF,OAA5EA,EAAE,UAAsB,EAAI,IAAI,EAAE,CAAS,GAAS,EAAe,IAAM,EAAU,EAAW,IAAI,EAA/E,EAC1E,IAAM,EAAKA,EAAE,aAAa,aAAa,CAAO,GAAQ,GAAU,GAAM,aAAa,CAAO,EAAK,IAAS,EAAK,EAAE,EAAa,GAAY,EAAS,OAAO,GAAO,SAASA,EAAE,WAAW,EAAK,IACvL,IAAS,GAAM,SAAS,EAAS,EAAEA,EAAE,gBAAe,GAAmB,EAAEA,EAAE,cAAc,KAAM,IAAM,EAAW,SAAS,EAAS,CAAC,IAAI,KAAK,aAAa,IAAA,GAAU,CAAC,sBAAsBA,EAAE,SAAS,sBAAsBA,EAAE,SAAS,CAAC,CAAC,OAAO,EAAS,CAACA,EAAE,WAAW,mBACnQ,EAAc,EAAM,cAAc,MAAY,EAAMA,EAAE,YAAY,OAAmB,EAAM,MAAM,MAAxBA,EAAE,UAAkC,EAAeA,EAAE,QAAQ,SAAS,SAASA,EAAE,QAAQ,MAAM,WAAW,aAAmB,EAAS,KAAK,IAAI,EAAEA,EAAE,WAAWA,EAAE,WAAW,IAAI,CAAO,EAAeA,EAAE,gBAAgB,GAAG,CAAC,KAAK,IAAIA,EAAE,eAAe,CAAC,GAAG,KAAK,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,QAAQ,OAAO,iBAAe,WAAWA,EAAE,WAAW,OAAO,WAAWA,EAAE,gBAAgB,UAAU,EAAM,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,WAAW,IAAIA,EAAE,MAAM,gBAAc,WAAW,SAAS,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,MAAMA,EAAE,WAAW,SAAS,EAAS,WAAWA,EAAE,YAAY,cAAcA,EAAE,YAAY,QAAQ,IAAI,WAAW,EAAE,UAAU,cAAc,EAAe,GAAG,CAAC,SAAS,EAAS,EAAO,CAAC,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,MAAMA,EAAE,WAAW,SAASA,EAAE,UAAU,WAAWA,EAAE,YAAY,cAAcA,EAAE,YAAY,CAAC,SAAS,EAAW,CAAC,CAAC,CAAC,CAAC,CAACA,EAAE,QAAqB,EAAK,IAAI,CAAC,cAAc,GAAK,MAAM,CAAC,SAAS,WAAW,KAAK,EAAE,MAAM,EAAE,IAAI,GAAGA,EAAE,gBAAgB,GAAG,OAAOA,EAAE,gBAAgB,QAAQA,EAAE,cAAc,aAAaA,EAAE,gBAAgB,EAAE,WAAWA,EAAE,aAAa,oCAAoCA,EAAE,WAAW,IAAIA,EAAE,WAAW,GAAGA,EAAE,iBAAiB,kBAAkBA,EAAE,iBAAiB,kBAAkBA,EAAE,iBAAiBA,EAAE,cAAc,KAAKA,EAAE,WAAW,UAAU,mBAAmB,cAAc,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,8BAPx5C,IAA4B,IAAoD,CAA8B,EAAI,IAAI,IAAI,CAAC,MAAM,MAAM,MAAM,MAAM,CAAC,CAAO,EAAW,CAAC,IAAI,IAAO,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAO,EAAe,CAAC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAC7T,EAAa,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAMq5C,EAAoB,EAAa,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,MAAM,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,cAAc,CAAC,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,aAAa,CAAC,OAAO,UAAU,SAAS,CAAC,aAAa,OAAO,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,MAAM,MAAM,CAAC,aAAa,OAAO,CAAC,MAAM,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,QAAQ,SAAS,MAAM,CAAC,aAAa,SAAS,CAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAY,QAAQ,MAAM,mBAAmB,aAAa,GAAK,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAM,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAM,CAAC,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,CACzmH,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,qBAAqB,aAAa,KAAK,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,mBAAmB,CAAC,CAAC"}