{"version":3,"file":"Subscriptions_utils.BSSa6nex.mjs","names":[],"sources":["https:/framerusercontent.com/modules/gNrx5shePoNxbUKTvliC/HLQJlFFZMsPSLpGIiDtr/Currency_symbols.js","https:/framerusercontent.com/modules/mHaK3bedwyJwyNxfaowX/hWKLWGrPdtcuWvTxZqnK/Shared_currency_props.js","https:/framerusercontent.com/modules/3QrZAq5uElJQ8m88NKWY/5xJkuuHwMm3iKqkoNzBk/Subscriptions_utils.js"],"sourcesContent":["export const CURRENCY_SYMBOLS={AED:\"د.إ\",AFN:\"؋\",ALL:\"L\",AMD:\"֏\",ANG:\"ƒ\",AOA:\"Kz\",ARS:\"$\",AUD:\"$\",AWG:\"ƒ\",AZN:\"₼\",BAM:\"KM\",BBD:\"$\",BDT:\"৳\",BGN:\"лв\",BHD:\".د.ب\",BIF:\"FBu\",BMD:\"$\",BND:\"$\",BOB:\"$b\",BOV:\"BOV\",BRL:\"R$\",BSD:\"$\",BTC:\"₿\",BTN:\"Nu.\",BWP:\"P\",BYN:\"Br\",BYR:\"Br\",BZD:\"BZ$\",CAD:\"$\",CDF:\"FC\",CHE:\"CHE\",CHF:\"CHF\",CHW:\"CHW\",CLF:\"CLF\",CLP:\"$\",CNH:\"\\xa5\",CNY:\"\\xa5\",COP:\"$\",COU:\"COU\",CRC:\"₡\",CUC:\"$\",CUP:\"₱\",CVE:\"$\",CZK:\"Kč\",DJF:\"Fdj\",DKK:\"kr\",DOP:\"RD$\",DZD:\"دج\",EEK:\"kr\",EGP:\"\\xa3\",ERN:\"Nfk\",ETB:\"Br\",ETH:\"Ξ\",EUR:\"€\",FJD:\"$\",FKP:\"\\xa3\",GBP:\"\\xa3\",GEL:\"₾\",GGP:\"\\xa3\",GHC:\"₵\",GHS:\"GH₵\",GIP:\"\\xa3\",GMD:\"D\",GNF:\"FG\",GTQ:\"Q\",GYD:\"$\",HKD:\"$\",HNL:\"L\",HRK:\"kn\",HTG:\"G\",HUF:\"Ft\",IDR:\"Rp\",ILS:\"₪\",IMP:\"\\xa3\",INR:\"₹\",IQD:\"ع.د\",IRR:\"﷼\",ISK:\"kr\",JEP:\"\\xa3\",JMD:\"J$\",JOD:\"JD\",JPY:\"\\xa5\",KES:\"KSh\",KGS:\"лв\",KHR:\"៛\",KMF:\"CF\",KPW:\"₩\",KRW:\"₩\",KWD:\"KD\",KYD:\"$\",KZT:\"₸\",LAK:\"₭\",LBP:\"\\xa3\",LKR:\"₨\",LRD:\"$\",LSL:\"M\",LTC:\"Ł\",LTL:\"Lt\",LVL:\"Ls\",LYD:\"LD\",MAD:\"MAD\",MDL:\"lei\",MGA:\"Ar\",MKD:\"ден\",MMK:\"K\",MNT:\"₮\",MOP:\"MOP$\",MRO:\"UM\",MRU:\"UM\",MUR:\"₨\",MVR:\"Rf\",MWK:\"MK\",MXN:\"$\",MXV:\"MXV\",MYR:\"RM\",MZN:\"MT\",NAD:\"$\",NGN:\"₦\",NIO:\"C$\",NOK:\"kr\",NPR:\"₨\",NZD:\"$\",OMR:\"﷼\",PAB:\"B/.\",PEN:\"S/.\",PGK:\"K\",PHP:\"₱\",PKR:\"₨\",PLN:\"zł\",PYG:\"Gs\",QAR:\"﷼\",RMB:\"￥\",RON:\"lei\",RSD:\"Дин.\",RUB:\"₽\",RWF:\"R₣\",SAR:\"﷼\",SBD:\"$\",SCR:\"₨\",SDG:\"ج.س.\",SEK:\"kr\",SGD:\"S$\",SHP:\"\\xa3\",SLL:\"Le\",SOS:\"S\",SRD:\"$\",SSP:\"\\xa3\",STD:\"Db\",STN:\"Db\",SVC:\"$\",SYP:\"\\xa3\",SZL:\"E\",THB:\"฿\",TJS:\"SM\",TMT:\"T\",TND:\"د.ت\",TOP:\"T$\",TRL:\"₤\",TRY:\"₺\",TTD:\"TT$\",TVD:\"$\",TWD:\"NT$\",TZS:\"TSh\",UAH:\"₴\",UGX:\"USh\",USD:\"$\",UYI:\"UYI\",UYU:\"$U\",UYW:\"UYW\",UZS:\"лв\",VEF:\"Bs\",VES:\"Bs.S\",VND:\"₫\",VUV:\"VT\",WST:\"WS$\",XAF:\"FCFA\",XBT:\"Ƀ\",XCD:\"$\",XOF:\"CFA\",XPF:\"₣\",XSU:\"Sucre\",XUA:\"XUA\",YER:\"﷼\",ZAR:\"R\",ZMW:\"ZK\",ZWD:\"Z$\",ZWL:\"$\"};/**\n * Get currency symbol by currency code\n * @param currencyCode - ISO 4217 currency code (e.g., \"USD\", \"EUR\", \"GBP\")\n * @returns Currency symbol or the currency code if not found\n */export const getCurrencySymbol=currencyCode=>{return CURRENCY_SYMBOLS[currencyCode]||currencyCode;};\nexport const __FramerMetadata__ = {\"exports\":{\"getCurrencySymbol\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CURRENCY_SYMBOLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Currency_symbols.map","import{ControlType}from\"framer\";import{CURRENCY_SYMBOLS}from\"https://framerusercontent.com/modules/gNrx5shePoNxbUKTvliC/HLQJlFFZMsPSLpGIiDtr/Currency_symbols.js\";export function formatCurrency({amount,currencyCode,options}){amount=amount||0;const showDecimals=options.decimals==\"auto\"?amount%1!==0:options.decimals==\"always\";const decimals=showDecimals?2:0;let formattedAmount=\"\";if(options.formatted&&typeof Intl!==\"undefined\"){const locale=options.locale||(typeof navigator!==\"undefined\"?navigator.language:\"en-us\");const formatter=new Intl.NumberFormat(locale,{minimumFractionDigits:decimals,maximumFractionDigits:decimals});formattedAmount=formatter.format(amount);}else{formattedAmount=amount.toFixed(decimals);}if(!currencyCode||currencyCode===\"XXX\"){return formattedAmount;}const symbol=CURRENCY_SYMBOLS[currencyCode];if(options.style===\"code\"){return options.location===\"before\"?`${currencyCode} ${formattedAmount}`:`${formattedAmount} ${currencyCode}`;}else{return options.location===\"before\"?`${symbol}${formattedAmount}`:`${formattedAmount}${symbol}`;}}export const CurrencyFormatControls={currencyFormat:{type:ControlType.Object,title:\"Format\",controls:{style:{type:ControlType.Enum,defaultValue:\"symbol\",options:[\"symbol\",\"code\"],optionTitles:[\"Symbol ($)\",\"Code (USD)\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},location:{type:ControlType.Enum,defaultValue:\"before\",options:[\"before\",\"after\"],optionTitles:[\"Before\",\"After\"],displaySegmentedControl:true},decimals:{type:ControlType.Enum,defaultValue:\"auto\",options:[\"auto\",\"always\",\"never\"],optionTitles:[\"Auto\",\"Show (10.00)\",\"Hide (10)\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},formatted:{type:ControlType.Boolean,defaultValue:true},locale:{type:ControlType.String,defaultValue:\"\",placeholder:`Auto (${typeof navigator!==\"undefined\"?navigator.language:\"\"})`,description:\"Formatting examples:\\n*1,000* | *1.000* | *1 000*\",hidden:props=>!props.formatted}},hidden:props=>props.type!==\"subtotal\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"formatCurrency\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CurrencyFormatControlsProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CurrencyFormatControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Shared_currency_props.map","/**\n * Calculates the adjusted price for a variant based on selling plan price adjustments\n * @param basePrice - The base price of the variant\n * @param sellingPlan - The selling plan with price adjustments\n * @returns The adjusted price data, or null if no adjustments apply\n */export function calculateSellingPlanPrice(basePrice,sellingPlan){if(!sellingPlan?.priceAdjustments?.length){return null;}const adjustment=sellingPlan.priceAdjustments[0]?.adjustmentValue;if(!adjustment){return null;}const baseAmount=Number(basePrice.amount);// Case 1: Fixed price override\nif(\"price\"in adjustment){return{amount:adjustment.price.amount,currencyCode:adjustment.price.currencyCode||basePrice.currencyCode};}// Case 2: Percentage adjustment (e.g., -10 means 10% discount)\nif(\"adjustmentPercentage\"in adjustment){const percentage=adjustment.adjustmentPercentage;const adjustedAmount=baseAmount*(1-percentage/100);return{amount:adjustedAmount.toFixed(2),currencyCode:basePrice.currencyCode};}// Case 3: Fixed amount adjustment\nif(\"adjustmentAmount\"in adjustment){const adjustmentAmount=Number(adjustment.adjustmentAmount.amount);const adjustedAmount=baseAmount-adjustmentAmount;return{amount:adjustedAmount.toFixed(2),currencyCode:adjustment.adjustmentAmount.currencyCode||basePrice.currencyCode};}return null;}/**\n * Converts delivery frequency string to shorthand format\n * Examples:\n * - \"monthly\" → \"m\"\n * - \"month\" → \"m\"\n * - \"2 months\" → \"2m\"\n * - \"weekly\" → \"w\"\n * - \"3 weeks\" → \"3w\"\n * - \"daily\" → \"d\"\n * - \"yearly\" → \"y\"\n * - \"1 year\" → \"1y\"\n */export function formatDeliveryFrequencyShorthand(frequency){const normalized=frequency.toLowerCase().trim();// Extract number if present (e.g., \"2 months\" → \"2\")\nconst numberMatch=normalized.match(/^(\\d+)\\s*/);const number=numberMatch?numberMatch[1]:\"\";// Remove number and normalize the remaining text\nconst text=normalized.replace(/^\\d+\\s*/,\"\").trim();// Map time units to shorthand\nconst unitMap={day:\"d\",days:\"d\",daily:\"d\",week:\"w\",weeks:\"w\",weekly:\"w\",month:\"m\",months:\"m\",monthly:\"m\",year:\"y\",years:\"y\",yearly:\"y\"};const shorthand=unitMap[text]||text;// Return formatted: number + shorthand (e.g., \"2m\" or just \"m\")\nreturn number?`${number}${shorthand}`:shorthand;}\nexport const __FramerMetadata__ = {\"exports\":{\"formatDeliveryFrequencyShorthand\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"calculateSellingPlanPrice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Subscriptions_utils.map"],"mappings":"sKAAa,EAAiB,CAAC,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,OAAO,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,IAAO,IAAI,IAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,IAAI,IAAO,IAAI,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAO,IAAI,IAAO,IAAI,IAAI,IAAI,IAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,IAAO,IAAI,KAAK,IAAI,KAAK,IAAI,IAAO,IAAI,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAA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"}