{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/N07JJZfuMtyHijtiRRgH/m11OEQLc5FyR4nJY3dem/FC_ProductPrice.js", "ssg:https://framerusercontent.com/modules/ZipJAXrtSkBsdbTSry5q/PARA1c1WFTt0vSIahXBg/FC_ProductPriceCompare.js"],
  "sourcesContent": ["/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n * Unauthorized use, reproduction, distribution, or disclosure of this\n * source code or any related information is strictly prohibited.\n *\n * This software is the exclusive property of Framer Commerce (\"Company\").\n * It is considered highly confidential and proprietary information.\n *\n * Any use, copying, modification, distribution, or sharing of this software,\n * in whole or in part, without the express written permission of the Company\n * is strictly prohibited and may result in legal action.\n *\n * DISCLAIMER: This software does not provide any express or\n * implied warranties, including, but not limited to, the implied warranties\n * of merchantability and fitness for a particular purpose. In no event shall\n * Framer Commerce be liable for any direct, indirect, incidental, special,\n * exemplary, or consequential damages (including, but not limited to, procurement\n * of substitute goods or services; loss of use, data, or profits; or business\n * interruption) however caused and on any theory of liability, whether in\n * contract, strict liability, or tort (including negligence or otherwise)\n * arising in any way out of the use of this software, even if advised of\n * the possibility of such damage.\n *\n * Any unauthorized possession, use, copying, distribution, or dissemination\n * of this software will be considered a breach of confidentiality and may\n * result in legal action.\n *\n * For inquiries, contact:\n * Framer Commerce\n * Email: hello@framercommerce.com\n *\n * \u00A9 2025 Butter Supply Inc. All Rights Reserved.\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useMemo,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{get}from\"lodash-es\";import{useIsBrowser}from\"https://framerusercontent.com/modules/ncBs5KPMI9I5GEta13fn/zGXDjuZapa1SGy6D8P5e/IsBrowser.js\";import{knownCurrenciesWithCodeAsSymbol}from\"https://framerusercontent.com/modules/k9s4cejdkBGDjmzudhzM/18cq93eooqM4YmdbL7E2/currencyMaps.js\";import{getLocaleFromCountry}from\"https://framerusercontent.com/modules/vC6fzbfO83MgBPIhn5zl/N2GIWD1ik8HES3ASBGeD/locales.js\";// Helper function to check if a currency's symbol is the same as its code\nconst isCurrencySymbolSameAsCode=currencyCode=>{// For some currencies like CHF, the browser might use the code as the symbol\nif(!currencyCode)return false;if(knownCurrenciesWithCodeAsSymbol.includes(currencyCode)){return true;}try{const formatted=new Intl.NumberFormat(undefined,{style:\"currency\",currency:currencyCode,currencyDisplay:\"narrowSymbol\"}).format(0);// Remove digits, decimal points, and common formatting characters\nconst cleanFormatted=formatted.replace(/[0-9.,\\s]/g,\"\");// Check if what remains is the currency code\nreturn cleanFormatted===currencyCode;}catch(e){return false;}};/**\n * @framerDisableUnlink\n */export default function FC_ProductPrice(props){const{shopifyProductID,canvasPrice,format:{showCurrency,showSymbol,showDecimals,currencyCode}={}}=props;const isBrowser=useIsBrowser();const[product,setProduct]=useState();const[activeVariant,setActiveVariant]=useState();const[subscriptionPrice,setSubscriptionPrice]=useState(null);const[selectedCurrency,setSelectedCurrency]=useState(\"\");const[selectedCountryCode,setSelectedCountryCode]=useState(\"\");const[selectedCountry,setSelectedCountry]=useState(\"\");const[isLoadingPrice,setIsLoadingPrice]=useState(false);// Initialize currency and country code on page load\nuseEffect(()=>{if(!isBrowser)return;const storedCurrency=localStorage.getItem(\"selectedCurrency\");const storedCountryCode=localStorage.getItem(\"selectedCountryCode\");const storedCountry=localStorage.getItem(\"selectedCountry\");setSelectedCurrency(storedCurrency||\"USD\");setSelectedCountryCode(storedCountryCode||\"US\");setSelectedCountry(storedCountry||\"United States\");},[isBrowser]);// Handle variant changes\nconst handleVariantChange=async e=>{if(!e.detail){return;}setIsLoadingPrice(true);try{// Get products from shopXtools storage\nconst products=window.shopXtools?.products||[];const _matchingProduct=products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct){setProduct(_matchingProduct.node);// Find the matching variant in the current product data\nconst matchingVariant=_matchingProduct.node?.variants?.edges?.find(({node})=>node.selectedOptions.every(option=>e.detail.selectedOptions.find(detailOption=>detailOption.name===option.name&&detailOption.value===option.value)));if(matchingVariant){setActiveVariant(matchingVariant.node);}}}catch(error){// Fallback to using the event detail directly\nsetActiveVariant(e.detail);}finally{setIsLoadingPrice(false);}};// Listen for currency changes\nuseEffect(()=>{if(!isBrowser)return;const handleCurrencyChange=event=>{setIsLoadingPrice(true);const{currency,countryCode,country}=event.detail;setSelectedCurrency(currency);setSelectedCountryCode(countryCode);setSelectedCountry(country);try{// Get products from shopXtools storage\nconst products=window.shopXtools?.products||[];const _matchingProduct=products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct){setProduct(_matchingProduct.node);// Preserve active variant selection if possible\nif(activeVariant){const matchingVariant=_matchingProduct.node.variants?.edges.find(({node})=>node.selectedOptions.every(option=>activeVariant.selectedOptions.find(activeOption=>activeOption.name===option.name&&activeOption.value===option.value)));if(matchingVariant){setActiveVariant(matchingVariant.node);}}}}catch(error){// Error handling\n}finally{setIsLoadingPrice(false);}};window.addEventListener(\"currency_changed\",handleCurrencyChange);return()=>{window.removeEventListener(\"currency_changed\",handleCurrencyChange);};},[isBrowser,shopifyProductID,activeVariant,selectedCurrency,selectedCountryCode]);// Initial product load\nuseEffect(()=>{if(!isBrowser)return;const handleProductsReady=async e=>{if(Array.isArray(e.detail.products)){const _matchingProduct=e.detail.products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct){setProduct(_matchingProduct.node);if(_matchingProduct.node?.variants?.edges?.length===1){setActiveVariant(_matchingProduct.node.variants.edges[0].node);}setActiveVariant(_matchingProduct.node?.variants?.edges[0].node);}}};const loadProduct=async()=>{try{// Get products from shopXtools storage\nconst products=window.shopXtools?.products||[];const _matchingProduct=products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct){setProduct(_matchingProduct.node);if(_matchingProduct.node?.variants?.edges?.length===1){setActiveVariant(_matchingProduct.node.variants.edges[0].node);}setActiveVariant(_matchingProduct.node?.variants?.edges[0].node);}}catch(error){// Error handling\n}finally{setIsLoadingPrice(false);}};loadProduct();// Add event listeners\ndocument.addEventListener(\"product__active-variant__changed\",handleVariantChange);document.addEventListener(\"data__products-ready\",handleProductsReady);// Cleanup\nreturn()=>{document.removeEventListener(\"product__active-variant__changed\",handleVariantChange);document.removeEventListener(\"data__products-ready\",handleProductsReady);};},[isBrowser,shopifyProductID,selectedCurrency,selectedCountryCode]);// Add subscription price listener\nuseEffect(()=>{if(!isBrowser)return;const handleSubscriptionPriceUpdate=e=>{if(e.detail?.productId===shopifyProductID&&e.detail?.price){//console.log(\"selling plan event\", e.detail)\nsetSubscriptionPrice(e.detail.price);}else{setSubscriptionPrice(null);}};document.addEventListener(\"subscription__price-update\",handleSubscriptionPriceUpdate);return()=>{document.removeEventListener(\"subscription__price-update\",handleSubscriptionPriceUpdate);};},[isBrowser]);// Get currency formatting options at component level\nconst _currencyCode=useMemo(()=>{const variantCurrency=get(activeVariant,\"price.currencyCode\");const productCurrency=get(product,\"priceRange.minVariantPrice.currencyCode\");return variantCurrency||productCurrency||\"USD\";},[activeVariant,product]);const showMockValues=useMemo(()=>RenderTarget.current()===RenderTarget.canvas||isBrowser&&window.location.origin.endsWith(\"framercanvas.com\"),[isBrowser]);// Common function to format price based on options\nconst formatPriceWithOptions=(numericPrice,currCode)=>{const symbolSameAsCode=isCurrencySymbolSameAsCode(currCode);// Get locale from selected country code\nconst locale=getLocaleFromCountry(selectedCountryCode);// Log browser user agent for debugging iOS-specific issues\n// if (isBrowser) {\n//     console.log(\"[FC_ProductPrice] Format debug:\", {\n//         userAgent: navigator.userAgent,\n//         isCurrencySymbolSameAsCode: symbolSameAsCode,\n//         currencyCode: currCode,\n//         selectedCountryCode,\n//         locale,\n//         showSymbol,\n//         showCurrency,\n//         showDecimals,\n//     })\n// }\n// Determine if we should show decimals based on the setting\nconst shouldShowDecimals=()=>{if(showDecimals===\"Always show\")return true;if(showDecimals===\"Never show\")return false;if(showDecimals===\"Hide when .00\"){// Check if the decimal part is zero\nreturn numericPrice%1!==0;}return true// Default fallback\n;};const decimalDigits=shouldShowDecimals()?2:0;// If showing neither symbol nor code, just format the number\nif(!showSymbol&&!showCurrency){const formattedNumber=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);return formattedNumber;}// Special case for USD to prevent \"US$\" display in Safari iOS\nif(currCode===\"USD\"&&showSymbol){// Check if running on iOS device\nconst isIOS=isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;// Format USD manually to avoid the iOS \"US$\" prefix\nif(isIOS){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);if(!showCurrency){return`$${number}`// Just \"$50\" format\n;}else{return`$${number} USD`// \"$50 USD\" format\n;}}else{// For non-iOS devices, continue with normal formatting but use\n// a more controlled approach to ensure consistency\nif(!showCurrency){return new Intl.NumberFormat(locale,{style:\"currency\",currency:\"USD\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits,currencyDisplay:\"narrowSymbol\"}).format(numericPrice);}else{const withSymbol=new Intl.NumberFormat(locale,{style:\"currency\",currency:\"USD\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits,currencyDisplay:\"narrowSymbol\"}).format(numericPrice);return`${withSymbol} USD`;}}}// For currencies where symbol is same as code (like CHF)\nif(symbolSameAsCode){// If showing currency code, always use code-first format and ignore symbol\nif(showCurrency&&!showSymbol){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);const output=`${currCode} ${number}`;return output;}if(showSymbol&&!showCurrency){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);const output=`${currCode} ${number}`;return output;}if(showCurrency&&showSymbol){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);return`${currCode} ${number}`;}}// For currencies with distinct symbols (like USD with $)\n// If showing only the code (no symbol)\nif(!showSymbol&&showCurrency){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);// For normal currencies, show code after the number\nreturn`${number} ${currCode}`;}// If showing only the symbol (no code)\nif(showSymbol&&!showCurrency){return new Intl.NumberFormat(locale,{style:\"currency\",currency:currCode,minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits,currencyDisplay:\"narrowSymbol\"}).format(numericPrice);}// If showing both symbol and code\nconst withSymbol=new Intl.NumberFormat(locale,{style:\"currency\",currency:currCode,minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits,currencyDisplay:\"narrowSymbol\"}).format(numericPrice);return`${withSymbol} ${currCode}`;};const text=useMemo(()=>{if(!isBrowser)return\"\";// For canvas view, handle the display options directly\nif(typeof RenderTarget!==\"undefined\"&&(RenderTarget.current()===RenderTarget.canvas||showMockValues)){const price=canvasPrice||\"50.00\";const numericPrice=parseFloat(price);const currentCurrencyCode=currencyCode||\"USD\";return formatPriceWithOptions(numericPrice,currentCurrencyCode);}// For live view, use the selected currency or preview currency\nconst amount=subscriptionPrice||(activeVariant?get(activeVariant,\"price.amount\"):get(product,\"priceRange.minVariantPrice.amount\"));// console.log(\"subscriptionPrice\", subscriptionPrice)\n//console.log(\"amount\", amount)\nif(!amount)return\"\";const numericPrice=parseFloat(amount);if(isNaN(numericPrice))return\"\";const currentCurrencyCode=selectedCurrency||currencyCode||\"USD\";return formatPriceWithOptions(numericPrice,currentCurrencyCode);},[isBrowser,showMockValues,activeVariant,product,canvasPrice,showCurrency,showSymbol,currencyCode,showDecimals,selectedCurrency,subscriptionPrice,props.format]);const compareAtPrice=useMemo(()=>{const amount=activeVariant?get(activeVariant,\"compareAtPrice.amount\"):get(product,\"compareAtPriceRange.minVariantPrice.amount\");if(!amount)return\"\";const numericPrice=parseFloat(amount);if(isNaN(numericPrice))return\"\";const currentCurrencyCode=selectedCurrency||currencyCode||\"USD\";// Use the same formatting function as the main price\nreturn formatPriceWithOptions(numericPrice,currentCurrencyCode);},[activeVariant,product,currencyCode,showCurrency,showSymbol,showDecimals,selectedCurrency,showMockValues,props.format]);const numericValue=useMemo(()=>parseFloat(compareAtPrice.replace(/[^\\d.-]/g,\"\")),[compareAtPrice]);const hasValidCompareAtPrice=!isNaN(numericValue)&&numericValue>0;const shouldDisplay=useMemo(()=>{if(showMockValues)return true;if(!text)return false;const value=parseFloat(text.replace(/[^\\d.-]/g,\"\"));return!isNaN(value)&&value>0;},[text,showMockValues]);const computedStyles=useMemo(()=>{const baseStyles={margin:0,padding:0,lineHeight:1,whiteSpace:\"nowrap\",display:\"inline-block\",width:\"auto\"};const priceStyles=hasValidCompareAtPrice?props.saleFont:props.regularFont;const priceColor=hasValidCompareAtPrice?props.saleColor:props.regularColor;return{...baseStyles,...priceStyles,color:priceColor};},[hasValidCompareAtPrice,props.saleFont,props.regularFont,props.saleColor,props.regularColor]);//console.log(\"Text\", text)\n// Price calculation logging\n// useEffect(() => {\n//     console.log(\"[FC_ProductPrice] Price State Update:\", {\n//         activeVariant,\n//         product,\n//         selectedCurrency,\n//         subscriptionPrice,\n//     })\n// }, [activeVariant, product, selectedCurrency, subscriptionPrice])\n// useEffect(() => {\n//     console.log(\"Active variant updated:\", activeVariant);\n// }, [activeVariant]);\n// Return placeholder during SSR\nif(!isBrowser){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"none\"}});}return /*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-block\",maxWidth:\"100%\",width:\"auto\",whiteSpace:\"nowrap\",overflow:\"visible\",transform:\"none\",transition:\"none\",animation:\"none\",willChange:\"auto\"},children:/*#__PURE__*/_jsx(\"p\",{style:{...computedStyles,transform:\"none\",transition:\"none\",animation:\"none\",willChange:\"auto\"},children:text})});}// Property controls remain the same\nFC_ProductPrice.defaultProps={shopifyProductID:\"\",canvasPrice:\"50.00\",format:{showCurrency:true,showSymbol:true,currencyCode:\"USD\",showDecimals:\"Always show\"}};addPropertyControls(FC_ProductPrice,{shopifyProductID:{type:ControlType.String,title:\"Product ID\",description:\"Connect to CMS\"},canvasPrice:{type:ControlType.String,title:\"Price\",description:\"Connect to CMS for canvas preview.\",defaultValue:\"50.00\"},format:{type:ControlType.Object,title:\"Format\",controls:{showSymbol:{type:ControlType.Boolean,title:\"Symbol\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"$, \\xa3, \u20AC, etc.\"},showCurrency:{type:ControlType.Boolean,title:\"Code\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"USD, EUR, CHF, etc.\"},showDecimals:{type:ControlType.Enum,title:\"Decimals\",defaultValue:\"Always show\",options:[\"Always show\",\"Never show\",\"Hide when .00\"],optionTitles:[\"Always show\",\"Never show\",\"Hide when .00\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},currencyCode:{type:ControlType.Enum,title:\"Preview\",defaultValue:\"USD\",options:[\"USD\",\"EUR\",\"GBP\",\"CHF\",\"JPY\",\"CAD\",\"AUD\",\"CNY\",\"HKD\",\"NZD\",\"SEK\",\"KRW\",\"SGD\",\"NOK\",\"MXN\",\"INR\",\"RUB\",\"ZAR\",\"TRY\",\"BRL\",\"TWD\",\"DKK\",\"PLN\",\"THB\",\"IDR\",\"HUF\",\"CZK\",\"ILS\",\"CLP\",\"PHP\",\"AED\",\"COP\",\"SAR\",\"MYR\",\"RON\"],description:\"Currency is for canvas preview only.\"}}},/** Font and Color Controls */regularFont:{type:ControlType.Font,title:\"Regular\",controls:\"extended\"},regularColor:{type:ControlType.Color,title:\"Regular\",defaultValue:\"#000\"},saleFont:{type:ControlType.Font,title:\"Sale\",controls:\"extended\"},saleColor:{type:ControlType.Color,title:\"Sale\",defaultValue:\"#FF0000\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FC_ProductPrice\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductPrice.map", "/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n * Unauthorized use, reproduction, distribution, or disclosure of this\n * source code or any related information is strictly prohibited.\n *\n * This software is the exclusive property of Framer Commerce (\"Company\").\n * It is considered highly confidential and proprietary information.\n *\n * Any use, copying, modification, distribution, or sharing of this software,\n * in whole or in part, without the express written permission of the Company\n * is strictly prohibited and may result in legal action.\n *\n * DISCLAIMER: This software does not provide any express or\n * implied warranties, including, but not limited to, the implied warranties\n * of merchantability and fitness for a particular purpose. In no event shall\n * Framer Commerce be liable for any direct, indirect, incidental, special,\n * exemplary, or consequential damages (including, but not limited to, procurement\n * of substitute goods or services; loss of use, data, or profits; or business\n * interruption) however caused and on any theory of liability, whether in\n * contract, strict liability, or tort (including negligence or otherwise)\n * arising in any way out of the use of this software, even if advised of\n * the possibility of such damage.\n *\n * Any unauthorized possession, use, copying, distribution, or dissemination\n * of this software will be considered a breach of confidentiality and may\n * result in legal action.\n *\n * For inquiries, contact:\n * Framer Commerce\n * Email: hello@framercommerce.com\n *\n * \u00A9 2025 Butter Supply Inc. All Rights Reserved.\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useMemo,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{get}from\"lodash-es\";import{useIsBrowser}from\"https://framerusercontent.com/modules/ncBs5KPMI9I5GEta13fn/zGXDjuZapa1SGy6D8P5e/IsBrowser.js\";import{knownCurrenciesWithCodeAsSymbol}from\"https://framerusercontent.com/modules/k9s4cejdkBGDjmzudhzM/18cq93eooqM4YmdbL7E2/currencyMaps.js\";// Helper function to map country code to appropriate locale\nconst getLocaleFromCountry=countryCode=>{// Default fallback locale\nif(!countryCode)return undefined;// Common country code to locale mappings\nconst countryToLocale={// North America\nUS:\"en-US\",CA:\"en-CA\",QC:\"fr-CA\",// Europe\nGB:\"en-GB\",FR:\"fr-FR\",DE:\"de-DE\",IT:\"it-IT\",ES:\"es-ES\",PT:\"pt-PT\",NL:\"nl-NL\",BE:\"fr-BE\",LU:\"fr-LU\",CH:\"de-CH\",AT:\"de-AT\",SE:\"sv-SE\",NO:\"nb-NO\",DK:\"da-DK\",FI:\"fi-FI\",PL:\"pl-PL\",CZ:\"cs-CZ\",HU:\"hu-HU\",RU:\"ru-RU\",// Asia Pacific\nCN:\"zh-CN\",JP:\"ja-JP\",KR:\"ko-KR\",IN:\"en-IN\",AU:\"en-AU\",NZ:\"en-NZ\",// Latin America\nMX:\"es-MX\",BR:\"pt-BR\",AR:\"es-AR\",CL:\"es-CL\",CO:\"es-CO\",PE:\"es-PE\",// Middle East & Africa\nAE:\"ar-AE\",SA:\"ar-SA\",ZA:\"en-ZA\",IL:\"he-IL\"};return countryToLocale[countryCode]||undefined;};// Helper function to check if a currency's symbol is the same as its code\nconst isCurrencySymbolSameAsCode=currencyCode=>{// For some currencies like CHF, the browser might use the code as the symbol\nif(!currencyCode)return false;if(knownCurrenciesWithCodeAsSymbol.includes(currencyCode)){return true;}try{const formatted=new Intl.NumberFormat(undefined,{style:\"currency\",currency:currencyCode,currencyDisplay:\"narrowSymbol\"}).format(0);// Remove digits, decimal points, and common formatting characters\nconst cleanFormatted=formatted.replace(/[0-9.,\\s]/g,\"\");// Check if what remains is the currency code\nreturn cleanFormatted===currencyCode;}catch(e){return false;}};/**\n * @framerDisableUnlink\n */export default function FC_ProductPriceCompare(props){const{shopifyProductID,canvasPrice,format:{showCurrency,showSymbol,showDecimals,currencyCode}={},strikethrough,strikethroughColor,strikethroughSize,font,color}=props;const[product,setProduct]=useState();const[activeVariant,setActiveVariant]=useState();const[selectedCurrency,setSelectedCurrency]=useState(\"\");const[selectedCountryCode,setSelectedCountryCode]=useState(\"\");const[selectedCountry,setSelectedCountry]=useState(\"\");const isBrowser=useIsBrowser();// Initialize currency from localStorage on page load\nuseEffect(()=>{if(!isBrowser)return;const storedCurrency=localStorage.getItem(\"selectedCurrency\");const storedCountryCode=localStorage.getItem(\"selectedCountryCode\");const storedCountry=localStorage.getItem(\"selectedCountry\");setSelectedCurrency(storedCurrency||\"USD\");setSelectedCountryCode(storedCountryCode);setSelectedCountry(storedCountry);},[isBrowser]);const _currencyCode=useMemo(()=>{const variantCurrency=get(activeVariant,\"price.currencyCode\");const productCurrency=get(product,\"priceRange.minVariantPrice.currencyCode\");return variantCurrency||productCurrency||\"USD\";},[activeVariant,product]);const showMockValues=useMemo(()=>typeof RenderTarget!==\"undefined\"&&(RenderTarget.current()===RenderTarget.canvas||isBrowser&&window.location.origin.endsWith(\"framercanvas.com\")),[isBrowser]);// Common function to format price based on options\nconst formatPriceWithOptions=(numericPrice,currCode)=>{const symbolSameAsCode=isCurrencySymbolSameAsCode(currCode);// Get locale from selected country code\nconst locale=getLocaleFromCountry(selectedCountryCode);// Determine if we should show decimals based on the setting\nconst shouldShowDecimals=()=>{if(showDecimals===\"Always show\")return true;if(showDecimals===\"Never show\")return false;if(showDecimals===\"Hide when .00\"){// Check if the decimal part is zero\nreturn numericPrice%1!==0;}return true// Default fallback for boolean value\n;};const decimalDigits=shouldShowDecimals()?2:0;// If showing neither symbol nor code, just format the number\nif(!showSymbol&&!showCurrency){return new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);}// Special case for USD to prevent \"US$\" display in Safari iOS\nif(currCode===\"USD\"&&showSymbol){// Check if running on iOS device\nconst isIOS=isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!(\"MSStream\"in window);// Format USD manually to avoid the iOS \"US$\" prefix\nif(isIOS){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);if(!showCurrency){return`$${number}`// Just \"$50\" format\n;}else{return`$${number} USD`// \"$50 USD\" format\n;}}else{// For non-iOS devices, continue with normal formatting but use\n// a more controlled approach to ensure consistency\nif(!showCurrency){return new Intl.NumberFormat(locale,{style:\"currency\",currency:\"USD\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits,currencyDisplay:\"narrowSymbol\"}).format(numericPrice);}else{const withSymbol=new Intl.NumberFormat(locale,{style:\"currency\",currency:\"USD\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits,currencyDisplay:\"narrowSymbol\"}).format(numericPrice);return`${withSymbol} USD`;}}}// For currencies where symbol is same as code (like CHF)\nif(symbolSameAsCode){// If showing currency code, always use code-first format and ignore symbol\nif(showCurrency&&!showSymbol){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);const output=`${currCode} ${number}`;return output;}if(showSymbol&&!showCurrency){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);const output=`${currCode} ${number}`;return output;}if(showCurrency&&showSymbol){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);return`${currCode} ${number}`;}}// For currencies with distinct symbols (like USD with $)\n// If showing only the code (no symbol)\nif(!showSymbol&&showCurrency){const number=new Intl.NumberFormat(locale,{style:\"decimal\",minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits}).format(numericPrice);// For normal currencies, show code after the number\nreturn`${number} ${currCode}`;}// If showing only the symbol (no code)\nif(showSymbol&&!showCurrency){return new Intl.NumberFormat(locale,{style:\"currency\",currency:currCode,minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits,currencyDisplay:\"narrowSymbol\"}).format(numericPrice);}// If showing both symbol and code\nconst withSymbol=new Intl.NumberFormat(locale,{style:\"currency\",currency:currCode,minimumFractionDigits:decimalDigits,maximumFractionDigits:decimalDigits,currencyDisplay:\"narrowSymbol\"}).format(numericPrice);return`${withSymbol} ${currCode}`;};const text=useMemo(()=>{if(!isBrowser)return\"\";// console.log('[ComparePrice] Debug:', {\n//     activeVariant,\n//     compareAtPrice: activeVariant ? get(activeVariant, 'compareAtPrice.amount') : null,\n//     productComparePrice: get(product, 'compareAtPriceRange.minVariantPrice.amount'),\n//     showMockValues,\n//     selectedCurrency\n// })\n// For canvas view, handle the display options directly\nif(typeof RenderTarget!==\"undefined\"&&(RenderTarget.current()===RenderTarget.canvas||showMockValues)){const price=canvasPrice||\"75.00\";const numericPrice=parseFloat(price);const currentCurrencyCode=currencyCode||\"USD\";return formatPriceWithOptions(numericPrice,currentCurrencyCode);}// For live view, get the compare at price\nconst amount=activeVariant?get(activeVariant,\"compareAtPrice.amount\"):get(product,\"compareAtPriceRange.minVariantPrice.amount\");if(!amount)return\"\";const numericPrice=parseFloat(amount);if(isNaN(numericPrice))return\"\";const currentCurrencyCode=selectedCurrency||currencyCode||\"USD\";return formatPriceWithOptions(numericPrice,currentCurrencyCode);},[isBrowser,showMockValues,activeVariant,product,canvasPrice,showCurrency,showSymbol,currencyCode,showDecimals,selectedCurrency,props.format]);const numericValue=useMemo(()=>{if(!text)return 0;const value=parseFloat(text.replace(/[^\\d.-]/g,\"\"));return isNaN(value)?0:value;},[text]);const showComparePrice=useMemo(()=>{if(showMockValues){return canvasPrice&&canvasPrice.trim()!==\"\";}return numericValue>0;},[showMockValues,canvasPrice,numericValue]);// Listen for currency changes\nuseEffect(()=>{if(!isBrowser)return;const handleCurrencyChange=event=>{// console.log('[ComparePrice] Currency changed:', {\n//     newCurrency: event.detail.currency,\n//     newCountryCode: event.detail.countryCode\n// })\nconst{currency,countryCode,country}=event.detail;setSelectedCurrency(currency);setSelectedCountryCode(countryCode);setSelectedCountry(country);try{// Get products from shopXtools storage\nconst products=window.shopXtools?.products||[];const _matchingProduct=products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct){setProduct(_matchingProduct.node);// Preserve active variant selection if possible\nif(activeVariant){const matchingVariant=_matchingProduct.node.variants?.edges.find(({node})=>node.selectedOptions.every(option=>activeVariant.selectedOptions.find(activeOption=>activeOption.name===option.name&&activeOption.value===option.value)));if(matchingVariant){setActiveVariant(matchingVariant.node);}}}}catch(error){// Error handling\n}};window.addEventListener(\"currency_changed\",handleCurrencyChange);return()=>{window.removeEventListener(\"currency_changed\",handleCurrencyChange);};},[isBrowser,shopifyProductID,activeVariant,selectedCurrency,selectedCountryCode]);useEffect(()=>{if(!isBrowser)return;const handleVariantChange=e=>{// console.log('[ComparePrice] Variant changed:', {\n//     detail: e.detail,\n//     expectedProductId: `gid://shopify/Product/${shopifyProductID}`\n// })\ntry{if(e.detail){const expectedProductId=`gid://shopify/Product/${shopifyProductID}`;if(!e.detail.productId||e.detail.productId!==expectedProductId){return;}}// Get products from shopXtools storage\nconst products=window.shopXtools?.products||[];const _matchingProduct=products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct){setProduct(_matchingProduct.node);// Find the matching variant in the current product data\nconst matchingVariant=_matchingProduct.node?.variants?.edges?.find(({node})=>node.selectedOptions.every(option=>e.detail.selectedOptions.find(detailOption=>detailOption.name===option.name&&detailOption.value===option.value)));if(matchingVariant){setActiveVariant(matchingVariant.node);}else{setActiveVariant(e.detail);}}}catch(error){// Error handling without console.error\nsetActiveVariant(e.detail);}};const handleProductsReady=e=>{if(Array.isArray(e.detail.products)){const _matchingProduct=e.detail.products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);setProduct(_matchingProduct?_matchingProduct.node:\"404\");// If there's only one variant, set it as active\nif(_matchingProduct?.node?.variants?.edges?.length===1){setActiveVariant(_matchingProduct.node.variants.edges[0].node);}}// Invalid products data structure - silently handle\n};// Initial product load function\nconst loadProduct=async()=>{try{// Get products from shopXtools storage\nconst products=window.shopXtools?.products||[];const _matchingProduct=products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct){setProduct(_matchingProduct.node);if(_matchingProduct.node?.variants?.edges?.length===1){setActiveVariant(_matchingProduct.node.variants.edges[0].node);}}}catch(error){// Error handling without console.error\n}};// Call loadProduct on mount\nloadProduct();// Initial check for existing products\nif(window[\"shopXtools\"]?.products){const products=window[\"shopXtools\"].products;if(Array.isArray(products)&&products.length>0){const _matchingProduct=products.find(({node:_product})=>_product?.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct?.node){setProduct(_matchingProduct.node);if(_matchingProduct.node?.variants?.edges?.length===1){setActiveVariant(_matchingProduct.node.variants.edges[0].node);}}else{setProduct(\"404\");}}}// Add event listeners\ndocument.addEventListener(\"data__products-ready\",handleProductsReady);document.addEventListener(\"product__active-variant__changed\",handleVariantChange);// Cleanup\nreturn()=>{document.removeEventListener(\"data__products-ready\",handleProductsReady);document.removeEventListener(\"product__active-variant__changed\",handleVariantChange);};},[isBrowser,shopifyProductID,selectedCurrency]);// Return empty div during SSR\nif(!isBrowser){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"none\"}});}// console.log('[ComparePrice] Final render state:', {\n//     showComparePrice,\n//     numericValue,\n//     text,\n//     showMockValues\n// })\n// Always show in canvas view, otherwise only show if there's a compare price\nif(!showComparePrice){return null;}return /*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-block\",maxWidth:\"100%\",width:\"auto\",whiteSpace:\"nowrap\",overflow:\"visible\",transform:\"none\",transition:\"none\",animation:\"none\",willChange:\"auto\"},children:/*#__PURE__*/_jsx(\"p\",{style:{...font,color:color,margin:0,padding:0,lineHeight:1,textDecoration:strikethrough?\"line-through\":\"none\",textDecorationColor:strikethroughColor,textDecorationThickness:strikethrough?`${strikethroughSize}px`:undefined,whiteSpace:\"nowrap\",display:\"inline-block\",width:\"auto\",transform:\"none\",transition:\"none\",animation:\"none\",willChange:\"auto\"},children:text})});}FC_ProductPriceCompare.defaultProps={shopifyProductID:\"\",strikethrough:true,strikethroughColor:\"#000000\",strikethroughSize:1,canvasPrice:\"75.00\",format:{showCurrency:true,showSymbol:true,currencyCode:\"USD\",showDecimals:\"Always show\"}};addPropertyControls(FC_ProductPriceCompare,{shopifyProductID:{type:ControlType.String,title:\"Product ID\",description:\"Connect to CMS (required).\"},canvasPrice:{type:ControlType.String,title:\"Compare Price\",description:\"Connect to CMS (for canvas preview only).\",defaultValue:\"75.00\"},format:{type:ControlType.Object,title:\"Format\",controls:{showSymbol:{type:ControlType.Boolean,title:\"Symbol\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"$, \\xa3, \u20AC, etc.\"},showCurrency:{type:ControlType.Boolean,title:\"Code\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"USD, EUR, CHF, etc.\"},showDecimals:{type:ControlType.Enum,title:\"Decimals\",defaultValue:\"Always show\",options:[\"Always show\",\"Never show\",\"Hide when .00\"],optionTitles:[\"Always show\",\"Never show\",\"Hide when .00\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},currencyCode:{type:ControlType.Enum,title:\"Preview\",defaultValue:\"USD\",options:[\"USD\",\"EUR\",\"GBP\",\"CHF\",\"JPY\",\"CAD\",\"AUD\",\"CNY\",\"HKD\",\"NZD\",\"SEK\",\"KRW\",\"SGD\",\"NOK\",\"MXN\",\"INR\",\"RUB\",\"ZAR\",\"TRY\",\"BRL\",\"TWD\",\"DKK\",\"PLN\",\"THB\",\"IDR\",\"HUF\",\"CZK\",\"ILS\",\"CLP\",\"PHP\",\"AED\",\"COP\",\"SAR\",\"MYR\",\"RON\"],description:\"Currency on your site is automatic, this is only shown in canvas preview.\"}}},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000\"},strikethrough:{type:ControlType.Boolean,title:\"Strike\",defaultValue:true},strikethroughSize:{type:ControlType.Number,title:\"Size\",defaultValue:1,min:0,max:8,step:.1,hidden:props=>!props.strikethrough},strikethroughColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\",hidden:props=>!props.strikethrough}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FC_ProductPriceCompare\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductPriceCompare.map"],
  "mappings": "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",
  "names": ["isCurrencySymbolSameAsCode", "currencyCode", "knownCurrenciesWithCodeAsSymbol", "FC_ProductPrice", "props", "shopifyProductID", "canvasPrice", "showCurrency", "showSymbol", "showDecimals", "isBrowser", "useIsBrowser", "product", "setProduct", "ye", "activeVariant", "setActiveVariant", "subscriptionPrice", "setSubscriptionPrice", "selectedCurrency", "setSelectedCurrency", "selectedCountryCode", "setSelectedCountryCode", "selectedCountry", "setSelectedCountry", "isLoadingPrice", "setIsLoadingPrice", "ue", "storedCurrency", "storedCountryCode", "storedCountry", "handleVariantChange", "_matchingProduct", "window", "_product", "matchingVariant", "node", "option", "detailOption", "handleCurrencyChange", "event", "currency", "countryCode", "country", "activeOption", "handleProductsReady", "e", "handleSubscriptionPriceUpdate", "_currencyCode", "se", "variantCurrency", "get_default", "productCurrency", "showMockValues", "RenderTarget", "formatPriceWithOptions", "numericPrice", "currCode", "symbolSameAsCode", "locale", "getLocaleFromCountry", "decimalDigits", "navigator", "number", "text", "amount", "compareAtPrice", "numericValue", "hasValidCompareAtPrice", "shouldDisplay", "value", "computedStyles", "baseStyles", "priceStyles", "priceColor", "p", "addPropertyControls", "ControlType", "getLocaleFromCountry", "countryCode", "isCurrencySymbolSameAsCode", "currencyCode", "knownCurrenciesWithCodeAsSymbol", "FC_ProductPriceCompare", "props", "shopifyProductID", "canvasPrice", "showCurrency", "showSymbol", "showDecimals", "strikethrough", "strikethroughColor", "strikethroughSize", "font", "color", "product", "setProduct", "ye", "activeVariant", "setActiveVariant", "selectedCurrency", "setSelectedCurrency", "selectedCountryCode", "setSelectedCountryCode", "selectedCountry", "setSelectedCountry", "isBrowser", "useIsBrowser", "ue", "storedCurrency", "storedCountryCode", "storedCountry", "_currencyCode", "se", "variantCurrency", "get_default", "productCurrency", "showMockValues", "RenderTarget", "window", "formatPriceWithOptions", "numericPrice", "currCode", "symbolSameAsCode", "locale", "decimalDigits", "navigator", "number", "text", "amount", "numericValue", "value", "showComparePrice", "handleCurrencyChange", "event", "currency", "country", "_matchingProduct", "_product", "matchingVariant", "node", "option", "activeOption", "handleVariantChange", "expectedProductId", "detailOption", "handleProductsReady", "products", "p", "addPropertyControls", "ControlType"]
}
