{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/DfiHm7rgZZvl0dxRShLF/YFXw8Lhzym1IpplB8f8b/FC_ProductPriceDiscount.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{useCallback,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{currencyMaps}from\"https://framerusercontent.com/modules/k9s4cejdkBGDjmzudhzM/18cq93eooqM4YmdbL7E2/currencyMaps.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_ProductPriceDiscount(props){const{shopifyProductID,discountType,format:{showCurrency,showSymbol,showDecimals,currencyCode}={},textFormat}=props;const[product,setProduct]=useState();const[activeVariant,setActiveVariant]=useState();const[selectedCurrency,setSelectedCurrency]=useState(()=>{// Initialize with the currency code from the product or default to \"USD\"\nreturn get(product,\"priceRange.minVariantPrice.currencyCode\")||\"USD\";});const[selectedCountryCode,setSelectedCountryCode]=useState(\"\");const[selectedCountry,setSelectedCountry]=useState(\"\");const isBrowser=useIsBrowser();useEffect(()=>{if(product){setSelectedCurrency(get(product,\"priceRange.minVariantPrice.currencyCode\")||\"USD\");}},[product]);// 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||\"US\");setSelectedCountry(storedCountry||\"United States\");},[isBrowser]);useEffect(()=>{if(!isBrowser)return;const handleVariantChange=e=>{try{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){// Fallback to using the event detail directly\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){const variant=_matchingProduct.node.variants.edges[0].node;setActiveVariant(variant);}}};// 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\n}};// Call loadProduct on mount\nloadProduct();// Initial check for existing products\nif(window[\"shopXtools\"]?.products){if(Array.isArray(window[\"shopXtools\"].products)){const _matchingProduct=window[\"shopXtools\"].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);}}}// 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]);useEffect(()=>{if(!isBrowser)return;const handleCurrencyChange=event=>{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}};window.addEventListener(\"currency_changed\",handleCurrencyChange);return()=>{window.removeEventListener(\"currency_changed\",handleCurrencyChange);};},[isBrowser,shopifyProductID,activeVariant,product]);const price=useMemo(()=>activeVariant?get(activeVariant,\"price.amount\"):get(product,\"priceRange.minVariantPrice.amount\"),[activeVariant,product]);const compareAtPrice=useMemo(()=>activeVariant?get(activeVariant,\"compareAtPrice.amount\"):get(product,\"compareAtPriceRange.minVariantPrice.amount\"),[activeVariant,product]);const currencyConfig=useMemo(()=>{const config=typeof window!==\"undefined\"?{position:window?.__FcCurrencyConfigs?.currencyPosition||\"Before\",showCode:window?.__FcCurrencyConfigs?.currencyPosition!==\"Hide\",symbol:currencyMaps[selectedCurrency]||\"$\"}:{position:\"Before\",showCode:false,symbol:\"$\"};return config;},[selectedCurrency]);// 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_ProductPriceDiscount] 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 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)&&!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 calculateDiscount=useCallback(()=>{const compareAtPriceNum=parseFloat(compareAtPrice);const priceNum=parseFloat(price);if(!compareAtPriceNum||!priceNum||compareAtPriceNum<=priceNum)return null;if(discountType===\"Percentage\"){const discount=(compareAtPriceNum-priceNum)/compareAtPriceNum*100;return`${Math.round(discount)}%`;}else{const amount=compareAtPriceNum-priceNum;const currentCurrencyCode=selectedCurrency||currencyCode||\"USD\";return formatPriceWithOptions(amount,currentCurrencyCode);}},[price,compareAtPrice,discountType,showDecimals,selectedCurrency,currencyCode,showCurrency,showSymbol]);const discount=calculateDiscount();const formattedDiscount=discount?discount:\"\";const showMockValues=useMemo(()=>typeof RenderTarget!==\"undefined\"&&(RenderTarget.current()===RenderTarget.canvas||isBrowser&&window.location.origin.endsWith(\"framercanvas.com\")),[isBrowser]);const text=useMemo(()=>{if(!isBrowser)return\"\";if(showMockValues){if(discountType===\"Percentage\"){return textFormat.replace(\"{{discount}}\",\"20%\");}else{// For canvas view, handle the display options directly\nconst mockAmount=10;const currentCurrencyCode=currencyCode||\"USD\";const formattedAmount=formatPriceWithOptions(mockAmount,currentCurrencyCode);return textFormat.replace(\"{{discount}}\",formattedAmount);}}if(!formattedDiscount)return\"\";return textFormat.replace(\"{{discount}}\",formattedDiscount);},[discount,showMockValues,isBrowser,textFormat,discountType,showDecimals,showCurrency,showSymbol,currencyCode,props.format]);// Return empty div during SSR\nif(!isBrowser){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"none\"}});}if(!text)return null;return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",width:\"100%\",height:\"100%\",backgroundColor:props.backgroundColor,padding:props.paddingPerSide?`${props.paddingTop}px ${props.paddingRight}px ${props.paddingBottom}px ${props.paddingLeft}px`:props.padding,borderRadius:props.radiusPerCorner?`${props.radiusTopLeft}px ${props.radiusTopRight}px ${props.radiusBottomRight}px ${props.radiusBottomLeft}px`:props.borderRadius,boxSizing:\"border-box\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"p\",{style:{...props.font,color:props.textColor,margin:0,padding:0,whiteSpace:\"nowrap\"},children:text})});}FC_ProductPriceDiscount.defaultProps={shopifyProductID:\"\",backgroundColor:\"transparent\",padding:8,borderRadius:0,font:undefined,textColor:\"#000\",textFormat:\"{{discount}} OFF\",discountType:\"Percentage\",format:{showCurrency:true,showSymbol:true,currencyCode:\"USD\",showDecimals:\"Always show\"}};addPropertyControls(FC_ProductPriceDiscount,{shopifyProductID:{type:ControlType.String,title:\"Product ID\",description:\"Connect to CMS\"},discountType:{type:ControlType.Enum,title:\"Type\",options:[\"Percentage\",\"Amount\"],optionTitles:[\"%\",\"Amount\"],defaultValue:\"Percentage\",displaySegmentedControl:true},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.\"}},hidden:props=>props.discountType!==\"Amount\"},textFormat:{type:ControlType.String,title:\"Text Format\",defaultValue:\"{{discount}} OFF\",description:\"Use {{discount}} to display the discount value\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},textColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000\"},backgroundColor:{type:ControlType.Color,title:\"BG\"},padding:{type:ControlType.FusedNumber,title:\"Padding\",defaultValue:8,toggleKey:\"paddingPerSide\",toggleTitles:[\"All\",\"Sides\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},borderRadius:{type:ControlType.FusedNumber,title:\"Radius\",defaultValue:0,toggleKey:\"radiusPerCorner\",toggleTitles:[\"All\",\"Corners\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\"],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],min:0,max:100,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FC_ProductPriceDiscount\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductPriceDiscount.map"],
  "mappings": "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",
  "names": ["isCurrencySymbolSameAsCode", "currencyCode", "knownCurrenciesWithCodeAsSymbol", "FC_ProductPriceDiscount", "props", "shopifyProductID", "discountType", "showCurrency", "showSymbol", "showDecimals", "textFormat", "product", "setProduct", "ye", "activeVariant", "setActiveVariant", "selectedCurrency", "setSelectedCurrency", "get_default", "selectedCountryCode", "setSelectedCountryCode", "selectedCountry", "setSelectedCountry", "isBrowser", "useIsBrowser", "ue", "storedCurrency", "storedCountryCode", "storedCountry", "handleVariantChange", "expectedProductId", "_matchingProduct", "window", "_product", "matchingVariant", "node", "option", "detailOption", "handleProductsReady", "variant", "handleCurrencyChange", "event", "currency", "countryCode", "country", "activeOption", "price", "se", "compareAtPrice", "currencyConfig", "currencyMaps", "formatPriceWithOptions", "numericPrice", "currCode", "symbolSameAsCode", "locale", "getLocaleFromCountry", "decimalDigits", "navigator", "number", "discount", "te", "compareAtPriceNum", "priceNum", "amount", "formattedDiscount", "showMockValues", "RenderTarget", "text", "formattedAmount", "p", "addPropertyControls", "ControlType"]
}
