{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/N07JJZfuMtyHijtiRRgH/7dmpbpQzQUqypxj0Rx21/FC_ProductPrice.js", "ssg:https://framerusercontent.com/modules/FXrY3V9ZYVL8aziafDQn/Tma2gqWqWmkibhcQtVN5/initialize.js", "ssg:https://framerusercontent.com/modules/DfixsupJND2Hhr1xcPbk/qTWXOdw5E0xVgZZsufyY/FC_ProductPurchaseButton.js", "ssg:https://framerusercontent.com/modules/B12xzzGu5tV27jDrWyaW/dyGmYzzIUDiXU0ubHYzE/FC_ProductVariantState.js", "ssg:https://framerusercontent.com/modules/N07JJZfuMtyHijtiRRgH/vuWsYB4j3wQ8nbJ1MmZM/FC_ProductPrice.js", "ssg:https://framerusercontent.com/modules/NQ9LlTfXzHTRhTTi6qMI/5u9VoSaQM7qxLI2scUcH/Loading.js", "ssg:https://framerusercontent.com/modules/1PdpgUiM6vjJqBr6zrYk/BojYz7IGF7nSzPVDEFxX/u9bJH5KE7.js", "ssg:https://framerusercontent.com/modules/23Il6xyHh6L2znsT1LJ9/R5dC3djCLeeSoSwzkWJv/tmZW16Ab4.js", "ssg:https://framerusercontent.com/modules/84qA8brGOmrmQVcRxp2t/YlJ8EABDy2DTvVdSxZoz/UnsogWI8Z.js", "ssg:https://framerusercontent.com/modules/gsF1PcoB6DIjO9DCxQ8u/ZF2YKjKEXWtLeQihDKoU/FC_ProductStockStatus.js", "ssg:https://framerusercontent.com/modules/ZipJAXrtSkBsdbTSry5q/9GU2eDL3W53ayKQzkMf1/FC_ProductPriceCompare.js", "ssg:https://framerusercontent.com/modules/d2ySvxVLx0yExXmFhLz4/VNuG6bpxyiSzBggeiPUF/Fi2GkT9k9.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\"},children:/*#__PURE__*/_jsx(\"p\",{style:{...computedStyles,transform:\"none\"},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 * Initialization utilities for Framer Commerce\n * This file contains functions that should run when the application first loads\n */import{getUTMParameters}from\"https://framerusercontent.com/modules/w24ELWa2giT3SFaWpV77/FEvjwd8hgxLsRZOnQKKH/utmParams.js\";/**\n * Initialize global functionality for the store\n * This includes capturing UTM parameters, setting up event listeners, etc.\n */export function initializeStore(){// Capture UTM parameters when the page loads\nif(typeof window!==\"undefined\"){// Initialize UTM parameter tracking\ngetUTMParameters();// Add a listener for history changes to capture UTM parameters\n// when users navigate between pages\ntry{const originalPushState=history.pushState;const originalReplaceState=history.replaceState;history.pushState=function(){originalPushState.apply(this,arguments);getUTMParameters()// Capture UTM parameters after navigation\n;};history.replaceState=function(){originalReplaceState.apply(this,arguments);getUTMParameters()// Capture UTM parameters after navigation\n;};// Also listen for popstate events (back/forward navigation)\nwindow.addEventListener(\"popstate\",()=>{getUTMParameters();});}catch(error){console.error(\"Error setting up history listeners:\",error);}}}// Auto-initialize if this module is loaded\ninitializeStore();export default initializeStore;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"initializeStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "/*\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,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,useRef,useCallback,cloneElement}from\"react\";import{createCartMutation,addToCartMutation,cartQuery,updateCartAttributes,updateCartCurrency}from\"https://framerusercontent.com/modules/yiRfl1JCGhIBUL31WVDk/wupS2XmBAHu1kBQNv9pi/mutations_v2.js\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{get}from\"lodash-es\";import{appendUTMParamsToUrl}from\"https://framerusercontent.com/modules/w24ELWa2giT3SFaWpV77/FEvjwd8hgxLsRZOnQKKH/utmParams.js\";import{appendLanguageToUrl}from\"https://framerusercontent.com/modules/vC6fzbfO83MgBPIhn5zl/N2GIWD1ik8HES3ASBGeD/locales.js\";import{useIsBrowser}from\"https://framerusercontent.com/modules/ncBs5KPMI9I5GEta13fn/zGXDjuZapa1SGy6D8P5e/IsBrowser.js\";// Import initialization utility to ensure UTM tracking is set up\nimport\"https://framerusercontent.com/modules/FXrY3V9ZYVL8aziafDQn/Tma2gqWqWmkibhcQtVN5/initialize.js\";/**\n * @framerDisableUnlink\n */export default function FC_ProductPurchaseButton(props){const{shopifyProductID,available,OutOfStock,SelectVariant,LoadingState,shopifyProductVariantId,BuyNowATC,title=\"Add to Cart\",required=false,openCart=true}=props;// State from original component\nconst[product,setProduct]=useState();const[activeVariant,setActiveVariant]=useState();const[isInStock,setIsInStock]=useState(true);const[needsVariantSelection,setNeedsVariantSelection]=useState(false);const[isLoading,setIsLoading]=useState(true);const[shouldShowLoading,setShouldShowLoading]=useState(false);const[hasInitialized,setHasInitialized]=useState(false);const[countryCode,setCountryCode]=useState();const isBrowser=useIsBrowser();// Additional state for cart functionality\nconst[planSelected,setPlanSelected]=useState(\"one-time\");const[cartExistingData,setCartExistingData]=useState();const[errorMessage,setErrorMessage]=useState();const[productQuantity,setProductQuantity]=useState(1);const viewContentFired=useRef(false);const[autoSelectFirst,setAutoSelectFirst]=useState(false);const[autoSelectReceived,setAutoSelectReceived]=useState(false);const[isVariantManuallySelected,setIsVariantManuallySelected]=useState(false);// Check if variant is autoselected by default\nuseEffect(()=>{if(!isBrowser)return;//console.log(\"FC_ProductPurchaseButton mounted\")\nconst handleAutoSelectFlag=event=>{// console.log(\n//     \"Auto Select event received as:\",\n//     event.detail.autoSelectFirst\n// )\nsetAutoSelectFirst(event.detail.autoSelectFirst);// console.log(\"Auto Select First Flag:\", event.detail.autoSelectFirst)\nsetAutoSelectReceived(true);// console.log(\"Auto Select First Flag Received\")\n};document.addEventListener(\"auto_select_first_flag\",handleAutoSelectFlag);return()=>{document.removeEventListener(\"auto_select_first_flag\",handleAutoSelectFlag);};},[isBrowser]);// Calculate total inventory helper function\nconst calculateTotalInventory=useCallback(productData=>{if(!productData||productData===\"404\")return 0;// If totalInventory is available, use it\nif(typeof productData.totalInventory===\"number\"){return productData.totalInventory;}// Otherwise sum up variant quantities\nreturn get(productData,\"variants.edges\",[]).reduce((total,{node})=>{return total+(node.quantityAvailable||0);},0);},[]);// Helper function to check if variant is available for sale\nconst isVariantAvailable=useCallback(variant=>{if(!variant)return false;// If availableForSale is true, the variant can be sold regardless of quantity\nif(variant.availableForSale)return true;// If availableForSale is false, check quantity\nreturn variant.quantityAvailable>0;},[]);// Error handling\nuseEffect(()=>{if(errorMessage&&isBrowser){const event=new CustomEvent(\"errorChanged\",{detail:errorMessage});window.dispatchEvent(event);}},[errorMessage]);// Load cart from localStorage\nuseEffect(()=>{if(!isBrowser||!window[\"shopXtools\"])return;// Try to load cart ID first\nconst savedCartId=localStorage.getItem(\"shopX_cart_id\");if(savedCartId){// If we have a cart ID, fetch the cart data\nwindow.shopXtools.handleCartMutation(cartQuery,{cartId:savedCartId}).then(data=>{if(data?.cart){setCartExistingData(data.cart);window.shopXtools.cart=data.cart;localStorage.setItem(\"shopXtools.cart\",JSON.stringify(data.cart));}}).catch(error=>{// Clear invalid cart data\nlocalStorage.removeItem(\"shopX_cart_id\");localStorage.removeItem(\"shopXtools.cart\");});}const handleSubscriptionChange=event=>{setPlanSelected(event.detail.subscriptionId);};document.addEventListener(\"subscription__selection-sync\",handleSubscriptionChange);return()=>document.removeEventListener(\"subscription__selection-sync\",handleSubscriptionChange);},[isBrowser]);// Add this at the top level with other event handlers\nconst handleQuantityChange=event=>{setProductQuantity(event.detail);};useEffect(()=>{if(isBrowser){window.addEventListener(\"FcQuantitySelectorchanges\",handleQuantityChange);// Track view content\nif(typeof fbq!==\"undefined\"&&!viewContentFired.current){fbq(\"track\",\"ViewContent\");viewContentFired.current=true;}// Cleanup\nreturn()=>{window.removeEventListener(\"FcQuantitySelectorchanges\",handleQuantityChange);};}},[isBrowser]);useEffect(()=>{if(!isBrowser)return;const handleCurrencyChange=async event=>{const{countryCode}=event.detail;setCountryCode(countryCode);const existingCartId=localStorage.getItem(\"shopX_cart_id\");if(existingCartId){try{const updateData=await window.shopXtools.handleCartMutation(updateCartCurrency,{cartId:existingCartId,countryCode:countryCode});if(updateData?.cartBuyerIdentityUpdate?.cart){window.shopXtools.cart=updateData.cartBuyerIdentityUpdate.cart;window.dispatchEvent(new Event(\"shopXtools-cart-update\"));}else{window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:\"Failed to update cart with new country code\"}));}}catch(error){window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:error.message||\"Failed to update cart currency\"}));}}};window.addEventListener(\"currency_changed\",handleCurrencyChange);return()=>{window.removeEventListener(\"currency_changed\",handleCurrencyChange);};},[isBrowser]);// Load product data and set up event listeners\nuseEffect(()=>{if(!isBrowser)return;const handleSingleVariantProduct=productNode=>{if(!productNode)return false;const variants=get(productNode,\"variants.edges\",[]);if(variants.length===1){const variant=variants[0].node;setActiveVariant(variant);setIsInStock(isVariantAvailable(variant));setNeedsVariantSelection(false);return true;}return false;};const handleProductData=_matchingProduct=>{if(_matchingProduct){const productNode=_matchingProduct.node;setProduct(productNode||\"404\");// If shopifyProductVariantId is provided, find and set that variant\nif(shopifyProductVariantId&&productNode){const variantId=`gid://shopify/ProductVariant/${shopifyProductVariantId}`;const matchingVariant=get(productNode,\"variants.edges\",[]).find(({node})=>node.id===variantId);if(matchingVariant){setActiveVariant(matchingVariant.node);setIsInStock(isVariantAvailable(matchingVariant.node));setNeedsVariantSelection(false);return;// Exit early as we've found our variant\n}}// Immediately handle single variant products\nif(handleSingleVariantProduct(productNode)){return;// Exit early as we've handled the single variant\n}if(autoSelectFirst&&!isVariantManuallySelected){//console.log(\"Auto-selecting the first variant\");\nconst firstAvailableVariant=productNode.variants.edges.find(edge=>edge.node.availableForSale)?.node;if(firstAvailableVariant){setActiveVariant(firstAvailableVariant);// console.log(\n//     \"Setting first available variant\",\n//     firstAvailableVariant\n// )\nsetIsInStock(isVariantAvailable(firstAvailableVariant));setNeedsVariantSelection(false);//console.log(\"Setting variant with autoSelectFirst\", firstAvailableVariant);\nreturn;// Exit early as we've set the active variant\n}}// For multi-variant products without a selected variant\nconst variants=get(productNode,\"variants.edges\",[]);const hasMultipleVariants=variants.length>1;const optionsCount=get(productNode,\"options\",[]).length||0;// When autoSelectFirst is false, we need to show \"Select Variant\"\n// until all options are manually selected\nif(!autoSelectFirst&&hasMultipleVariants){setNeedsVariantSelection(true);}else{setNeedsVariantSelection(!shopifyProductVariantId&&hasMultipleVariants);}// Check if any variant is available\nconst anyVariantAvailable=variants.some(({node})=>isVariantAvailable(node));setIsInStock(anyVariantAvailable);}else{setProduct(\"404\");setIsInStock(false);}};// Check if we already have product data available\nif(window.shopXtools?.products&&Array.isArray(window.shopXtools.products)){const _matchingProduct=window.shopXtools.products.find(({node})=>node.id===`gid://shopify/Product/${shopifyProductID}`);handleProductData(_matchingProduct);}const productsReadyHandler=()=>{if(window?.shopXtools?.products){const matchingProduct=window.shopXtools.products.find(({node:product})=>product.id===`gid://shopify/Product/${shopifyProductID}`);handleProductData(matchingProduct);}};const variantChangeHandler=e=>{// Only update the variant if no shopifyProductVariantId is provided\n// console.log(\"Variant changed, active variant is\", e.detail)\nif(e.detail){setActiveVariant(e.detail);setIsInStock(e.detail.quantityAvailable>0);// When autoSelectFirst is false, we need to make sure all variants are selected\n// before changing the button state\nif(autoSelectFirst||e.detail.isCompleteVariant){setNeedsVariantSelection(false);}setIsVariantManuallySelected(true);}};document.addEventListener(\"data__products-ready\",productsReadyHandler);document.addEventListener(\"product__active-variant__changed\",variantChangeHandler);// Analytics\nconst currency=activeVariant?.price?.currencyCode||\"USD\";const value=parseFloat((parseFloat(activeVariant?.price?.amount||\"0\")*1).toFixed(2));const item_id=activeVariant?.id;const item_name=activeVariant?.title;const price=parseFloat(activeVariant?.price?.amount||\"0\");// Google Analytics tracking\nif(typeof window.fcTrackGAEvent===\"function\"){// console.log(\"Tracking View Item - google:\", {\n//     currency,\n//     value,\n//     items: [{\n//         item_id,\n//         item_name,\n//         price,\n//         quantity: 1\n//     }]\n// });\nwindow.fcTrackGAEvent(\"view_item\",{currency,value,items:[{item_id,item_name,price,quantity:1}]});}// Meta Pixel tracking\nif(typeof fbq===\"function\"){// console.log(\"Tracking View Item - meta:\", {\n//     content_type: 'product',\n//     content_ids: [item_id],\n//     content_name: item_name,\n//     value,\n//     currency\n// });\nfbq(\"track\",\"ViewContent\",{content_type:\"product\",content_ids:[item_id],content_name:item_name,value,currency});}return()=>{document.removeEventListener(\"data__products-ready\",productsReadyHandler);document.removeEventListener(\"product__active-variant__changed\",variantChangeHandler);};},[shopifyProductID,shopifyProductVariantId,activeVariant,isBrowser,calculateTotalInventory,autoSelectFirst]);// Update variant selection state when activeVariant changes\nuseEffect(()=>{if(!product||product===\"404\")return;const variants=get(product,\"variants.edges\",[]);const hasMultipleVariants=variants.length>1;const noVariantSelected=!activeVariant&&!shopifyProductVariantId;setNeedsVariantSelection(hasMultipleVariants&&noVariantSelected);},[product,activeVariant,shopifyProductVariantId]);// Handle single variant products\nconst handleSingleVariantProducts=product=>{if(!product)return;const variants=get(product,\"variants.edges\",[]);if(variants.length===1){const variant=variants[0].node;setActiveVariant(variant);setIsInStock(variant.quantityAvailable>0);setNeedsVariantSelection(false);}};// Cart functionality\nconst handleSubscription=async(mutation,variables)=>{if(!isBrowser)return null;const handleCartMutation=window[\"shopXtools\"]?.handleCartMutation;if(handleCartMutation){return await handleCartMutation(mutation,variables);}throw new Error(\"handleCartMutation function not available\");};const isValidId=id=>id!==null&&id!==undefined&&id!==\"\";const fullId=`gid://shopify/ProductVariant/${props.shopifyProductVariantId}`;// Add new state for order field validation\nconst[orderFieldError,setOrderFieldError]=useState(false);// Debug logging function\nconst logDebug=(message,data)=>{// Empty function - no logging\n};// Enhanced validation function with logging\nconst validateOrderField=()=>{if(!props.required){logDebug(\"Validation skipped - not required\",{required:props.required});return true;}const productSpecificKey=`fc_cart_attributes_${props.shopifyProductID}`;const storedAttributes=sessionStorage.getItem(productSpecificKey);logDebug(\"Checking stored attributes\",{productSpecificKey,hasStoredAttributes:!!storedAttributes});if(!storedAttributes){return false;}try{const parsedAttrs=JSON.parse(storedAttributes);// Check if any attribute has a non-empty value\nconst hasValidValue=Object.values(parsedAttrs).some(value=>value&&String(value).trim()!==\"\");logDebug(\"Validation result\",{attributes:parsedAttrs,isValid:hasValidValue});return hasValidValue;}catch(error){return false;}};// Effect to initialize validation state\nuseEffect(()=>{if(props.required){const isValid=validateOrderField();logDebug(\"Initial validation\",{isValid,required:props.required});setOrderFieldError(!isValid);}},[props.required,props.shopifyProductID]);// Listen for order field changes with logging\nuseEffect(()=>{if(props.required){const handleOrderFieldChange=event=>{logDebug(\"Order field change event received\",event.detail);const isValid=validateOrderField();setOrderFieldError(!isValid);logDebug(\"Order field validation updated\",{isValid,orderFieldError:!isValid});};window.addEventListener(\"orderFieldChanged\",handleOrderFieldChange);return()=>window.removeEventListener(\"orderFieldChanged\",handleOrderFieldChange);}},[props.required]);const[isInputRequired,setIsInputRequired]=useState(false);// Effect to check if the input field exists and is required\nuseEffect(()=>{const checkInputRequirement=()=>{const configKey=`fc_input_config_${shopifyProductID}`;const config=sessionStorage.getItem(configKey);// Only set as required if the config exists and required is true\nif(config){const{required}=JSON.parse(config);setIsInputRequired(required);}else{// If no config exists, the field isn't on the page\nsetIsInputRequired(false);}};checkInputRequirement();// Listen for config changes\nwindow.addEventListener(\"inputConfigChanged\",checkInputRequirement);return()=>window.removeEventListener(\"inputConfigChanged\",checkInputRequirement);},[shopifyProductID]);const getLineItem=()=>{const merchandiseId=activeVariant?.id||(props.shopifyProductVariantId?`gid://shopify/ProductVariant/${props.shopifyProductVariantId}`:null);if(!merchandiseId){throw new Error(\"No valid product variant selected\");}const lineItem={merchandiseId,quantity:productQuantity};// Add selling plan ID if a subscription is selected\nif(planSelected&&planSelected!==\"one-time\"){lineItem[\"sellingPlanId\"]=planSelected;}try{const productSpecificKey=`fc_cart_attributes_${props.shopifyProductID}`;const stored=sessionStorage.getItem(productSpecificKey);if(!stored)return lineItem;const data=JSON.parse(stored);// Get all attributes instead of just checking for specific ones\nconst attributes=[];// Process all key-value pairs in the stored data\nObject.entries(data).forEach(([key,value])=>{if(value&&String(value).trim()){attributes.push({key,value:String(value).trim()});}});// Only add attributes if we have any\nif(attributes.length>0){lineItem[\"attributes\"]=attributes;}}catch(e){console.error(\"Error adding attributes to cart item:\",e);}return lineItem;};const[maxQuantityReached,setMaxQuantityReached]=useState(false);// Modify the getCurrentCartQuantity function to add more logging\nconst getCurrentCartQuantity=useCallback(variantId=>{if(!cartExistingData?.lines?.edges){return 0;}const quantity=cartExistingData.lines.edges.reduce((total,{node})=>{if(node.merchandise.id===variantId){return total+node.quantity;}return total;},0);return quantity;},[cartExistingData]);const handleAddToCart=async()=>{try{if(!isBrowser)return;const variantId=activeVariant?.id||(props.shopifyProductVariantId?`gid://shopify/ProductVariant/${props.shopifyProductVariantId}`:null);if(props.maxQuantity>0){const currentCartQuantity=getCurrentCartQuantity(variantId);const totalRequestedQuantity=currentCartQuantity+productQuantity;if(currentCartQuantity>=props.maxQuantity){const message=`Maximum quantity of ${props.maxQuantity} already in cart`;window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:message}));setMaxQuantityReached(true);return;}if(totalRequestedQuantity>props.maxQuantity){const adjustedQuantity=props.maxQuantity-currentCartQuantity;setProductQuantity(adjustedQuantity);return;}}if(props.required||isInputRequired){const productSpecificKey=`fc_cart_attributes_${props.shopifyProductID}`;const storedAttributes=sessionStorage.getItem(productSpecificKey);const inputElement=document.querySelector(`[data-product-id=\"${props.shopifyProductID}\"]`);const currentInputValue=inputElement?.value||\"\";// Don't check for unsaved input if there's no input element or value\nif(inputElement&&currentInputValue&&storedAttributes){try{// Parse stored attributes\nconst parsedAttrs=JSON.parse(storedAttributes);// Check if the current input value is different from any of the stored attribute values\nconst valueIsSaved=Object.values(parsedAttrs).some(attrValue=>String(attrValue).trim()===currentInputValue.trim());if(!valueIsSaved){window.dispatchEvent(new CustomEvent(\"inputValidationFailed\",{detail:{productId:props.shopifyProductID,message:\"Please save your input before adding to cart\"}}));return;}}catch(e){// If we can't parse stored attributes, we can't validate\nwindow.dispatchEvent(new CustomEvent(\"inputValidationFailed\",{detail:{productId:props.shopifyProductID,message:\"Please fill in all required fields\"}}));return;}}// Now check if there are any stored attributes at all\nif(!storedAttributes){window.dispatchEvent(new CustomEvent(\"inputValidationFailed\",{detail:{productId:props.shopifyProductID,message:\"Please fill in all required fields\"}}));return;}// Finally check if any of the stored attributes has a valid value\ntry{const parsedAttrs=JSON.parse(storedAttributes);const hasValidValue=Object.values(parsedAttrs).some(value=>value&&String(value).trim()!==\"\");if(!hasValidValue){window.dispatchEvent(new CustomEvent(\"inputValidationFailed\",{detail:{productId:props.shopifyProductID,message:\"Please fill in all required fields\"}}));return;}}catch(e){window.dispatchEvent(new CustomEvent(\"inputValidationFailed\",{detail:{productId:props.shopifyProductID,message:\"Please fill in all required fields\"}}));return;}}const lines=[getLineItem()];// Retrieve the selected country code from localStorage\nconst countryCode=localStorage.getItem(\"selectedCountryCode\");let existingCartId=localStorage.getItem(\"shopX_cart_id\");if(!BuyNowATC){if(existingCartId){try{const cartValidation=await window.shopXtools.handleCartMutation(cartQuery,{cartId:existingCartId});if(!cartValidation?.cart){localStorage.removeItem(\"shopX_cart_id\");localStorage.removeItem(\"shopXtools.cart\");existingCartId=null;}}catch(error){localStorage.removeItem(\"shopX_cart_id\");localStorage.removeItem(\"shopXtools.cart\");existingCartId=null;}}if(!existingCartId){try{const cartData=await window.shopXtools.handleCartMutation(createCartMutation,{lines,countryCode:countryCode});if(cartData?.cartCreate?.cart?.id){localStorage.setItem(\"shopX_cart_id\",cartData.cartCreate.cart.id);localStorage.setItem(\"shopXtools.cart\",JSON.stringify(cartData.cartCreate.cart));window.shopXtools.cart=cartData.cartCreate.cart;// Dispatch event after updating the cart\nwindow.dispatchEvent(new Event(\"shopXtools-cart-update\"));// Analytics\nconst currency=activeVariant?.price?.currencyCode||\"USD\";const value=parseFloat((parseFloat(activeVariant?.price?.amount||\"0\")*productQuantity).toFixed(2));const item_id=activeVariant?.id;const item_name=activeVariant?.title;const price=parseFloat(activeVariant?.price?.amount||\"0\");const activeProduct=product;// Google Analytics tracking\nif(typeof window.fcTrackGAEvent===\"function\"){// console.log(\"Tracking Add to Cart - google:\", {\n//     currency,\n//     value,\n//     items: [{\n//         item_id,\n//         item_name,\n//         price,\n//         quantity: productQuantity\n//     }]\n// });\nwindow.fcTrackGAEvent(\"add_to_cart\",{currency,value,items:[{item_id,item_name,price,quantity:productQuantity}]});}// Meta Pixel tracking\nif(typeof fbq===\"function\"){// console.log(\"Tracking Add ToCart - meta:\", {\n//     ccontent_type: 'product',\n//     content_ids: [item_id],\n//     content_name: activeProduct?.title,\n//     value,\n//     currency,\n//     contents: [{\n//         merchandiseId: item_id,\n//         price: price,\n//         quantity: productQuantity\n//     }]\n// })\nfbq(\"track\",\"AddToCart\",{content_type:\"product\",content_ids:[item_id],content_name:activeProduct?.title,value,currency,contents:[{merchandiseId:item_id,price:price,quantity:productQuantity}]});}window.shopXtools.dispatchEvent(\"checkout__changed\",{__triggerCartModal:openCart});}else{window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:\"Failed to add to cart\"}));}}catch(error){window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:error.message||\"Failed to create new cart\"}));}}else{const cartData=await window.shopXtools.handleCartMutation(addToCartMutation,{cartId:existingCartId,lines});if(cartData?.cartLinesAdd?.cart){localStorage.setItem(\"shopXtools.cart\",JSON.stringify(cartData.cartLinesAdd.cart));window.shopXtools.cart=cartData.cartLinesAdd.cart;// Dispatch event after updating the cart\nwindow.dispatchEvent(new Event(\"shopXtools-cart-update\"));// Google Analytics tracking\nconst currency=activeVariant?.price?.currencyCode||\"USD\";const value=parseFloat((parseFloat(activeVariant?.price?.amount||\"0\")*productQuantity).toFixed(2));const item_id=activeVariant?.id;const item_name=activeVariant?.title;const price=parseFloat(activeVariant?.price?.amount||\"0\");const activeProduct=product;// Google Analytics tracking\nif(typeof window.fcTrackGAEvent===\"function\"){// console.log(\"Tracking Add to Cart - google:\", {\n//     currency,\n//     value,\n//     items: [{\n//         item_id,\n//         item_name,\n//         price,\n//         quantity: productQuantity\n//     }]\n// });\nwindow.fcTrackGAEvent(\"add_to_cart\",{currency,value,items:[{item_id,item_name,price,quantity:productQuantity}]});}// Meta Pixel tracking\nif(typeof fbq===\"function\"){// console.log(\"Tracking Add ToCart - meta:\", {\n//     content_type: 'product',\n//     content_ids: [item_id],\n//     content_name: activeProduct?.title,\n//     value,\n//     currency,\n//     contents: {\n//         merchandiseId: item_id,\n//         price: price,\n//         quantity: productQuantity\n//     }\n// })\nfbq(\"track\",\"AddToCart\",{content_type:\"product\",content_ids:[item_id],content_name:activeProduct?.title,value,currency,contents:[{merchandiseId:item_id,price:price,quantity:productQuantity}]});}window.shopXtools.dispatchEvent(\"checkout__changed\",{__triggerCartModal:openCart});}else{window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:\"Failed to add to cart\"}));}}}// Directly proceed to checkout without opening the cart modal\nif(BuyNowATC){//console.log(\"Directly proceeding to checkout without opening the cart modal\")\n// Create the cart and proceed to checkout\nconst variables={lines,countryCode:countryCode};//console.log(\"Sending mutation with variables:\", variables)\nconst result=await window[\"shopXtools\"]?.handleTemporaryCartMutation(createCartMutation,variables);//console.log(\"result:\", result)\nconst checkoutUrl=result.cartCreate.cart.checkoutUrl;if(checkoutUrl){//console.log(\"checkoutUrl:\", checkoutUrl)\nlet finalCheckoutUrl=checkoutUrl;if(finalCheckoutUrl){// Analytics\nconst currency=activeVariant?.price?.currencyCode||\"USD\";const value=parseFloat((parseFloat(activeVariant?.price?.amount||\"0\")*productQuantity).toFixed(2));const item_id=activeVariant?.id;const item_name=activeVariant?.title;const price=parseFloat(activeVariant?.price?.amount||\"0\");// Google Analytics tracking\nif(typeof window.fcTrackGAEvent===\"function\"){// console.log(\"Tracking Initiate Checkout (Buy now) - google:\", {\n//     currency,\n//     value,\n//     item_id,\n//     item_name,\n//     price,\n//     quantity: productQuantity\n// });\nwindow.fcTrackGAEvent(\"begin_checkout\",{currency,value,items:[{item_id,item_name,price,quantity:productQuantity}]});}// Meta Pixel tracking\nif(typeof fbq===\"function\"){// console.log(\"Tracking Initiate Checkout (Buy now) - meta:\", {\n//     content_type: 'product',\n//     content_ids: [activeVariant?.id],\n//     value,\n//     currency,\n//     num_items: productQuantity\n// })\nfbq(\"track\",\"InitiateCheckout\",{content_type:\"product\",content_ids:[activeVariant?.id],value,currency,num_items:productQuantity});}finalCheckoutUrl=appendUTMParamsToUrl(finalCheckoutUrl);finalCheckoutUrl=appendLanguageToUrl(finalCheckoutUrl);window.location.assign(finalCheckoutUrl)// Use assign instead of href to avoid page reload and make sure it works in Safari and Chrome\n;}}else{window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:\"Failed to create cart for checkout\"}));}}if(lines[0].attributes){// const cartId = existingCartId || cartData?.cartCreate?.cart?.id;\nconst cartId=existingCartId//removed check for cartData\n;await window.shopXtools.handleCartMutation(updateCartAttributes,{cartId,attributes:lines[0].attributes});}}catch(error){window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:error.message||\"Failed to add item to cart\"}));}};useEffect(()=>{let timer;if(isLoading){setShouldShowLoading(false);timer=setTimeout(()=>{setShouldShowLoading(true);},200)// 200ms delay before showing loading state\n;}else{setShouldShowLoading(false);}return()=>{if(timer)clearTimeout(timer);};},[isLoading]);// Update loading state when product data is received\nuseEffect(()=>{if(product){setIsLoading(false);}},[product]);// Initialize hasInitialized\nuseEffect(()=>{if(!hasInitialized&&product){// Small delay to ensure we have all the necessary data\nconst timer=setTimeout(()=>{setHasInitialized(true);},50);return()=>clearTimeout(timer);}},[product]);let content=null;if(RenderTarget.current()===RenderTarget.canvas){content=available?.[0]||null// Always show available state in canvas\n;}else if(!hasInitialized){content=null;}else if(needsVariantSelection){content=SelectVariant?.[0]||null;}else if(maxQuantityReached&&props.MaxQuantityReached?.[0]){content=props.MaxQuantityReached[0];}else if(!isInStock&&!activeVariant?.availableForSale||activeVariant&&!isVariantAvailable(activeVariant)||product&&!get(product,\"variants.edges\",[]).some(({node})=>isVariantAvailable(node))||props.required&&orderFieldError){content=OutOfStock?.[0]||null;}else{content=available?.[0]||null;}// Near the bottom of the component where we create clonedElement\nconst canAddToCart=(isInStock||activeVariant&&activeVariant.availableForSale)&&!needsVariantSelection&&!maxQuantityReached&&(!props.required||!orderFieldError);const handleClick=e=>{if(canAddToCart){handleAddToCart();}};// Single consolidated effect for maxQuantityReached\nuseEffect(()=>{if(!props.maxQuantity){if(maxQuantityReached){setMaxQuantityReached(false);}return;}const variantId=activeVariant?.id||(props.shopifyProductVariantId?`gid://shopify/ProductVariant/${props.shopifyProductVariantId}`:null);if(!variantId||!cartExistingData?.lines?.edges){if(maxQuantityReached){setMaxQuantityReached(false);}return;}const currentQuantity=cartExistingData.lines.edges.reduce((total,{node})=>{if(node.merchandise.id===variantId){return total+node.quantity;}return total;},0);const shouldBeAtMax=currentQuantity>=props.maxQuantity;if(shouldBeAtMax!==maxQuantityReached){setMaxQuantityReached(shouldBeAtMax);}},[props.maxQuantity,activeVariant,props.shopifyProductVariantId,cartExistingData,maxQuantityReached]);const clonedElement=content?/*#__PURE__*/cloneElement(content,{style:{...content.props?.style||{},width:\"100%\",height:\"100%\",cursor:canAddToCart?\"pointer\":\"not-allowed\",transition:hasInitialized?\"opacity 0.2s ease-in-out\":\"none\",opacity:1},onClick:handleClick,\"aria-hidden\":!hasInitialized,tabIndex:hasInitialized?0:-1}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#666\",fontSize:\"14px\",border:\"1px dashed #ccc\",borderRadius:\"4px\"},children:\"Connect Instance\"});const debugInfo=RenderTarget.current()!==RenderTarget.canvas&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",bottom:\"100%\",left:0,background:\"#f0f0f0\",padding:\"4px\",fontSize:\"10px\",display:props.maxQuantity>0?\"block\":\"none\"},children:[\"Max: \",props.maxQuantity,\" | Current:\",\" \",getCurrentCartQuantity(activeVariant?.id||(props.shopifyProductVariantId?`gid://shopify/ProductVariant/${props.shopifyProductVariantId}`:null)),\" \",\"| At Max: \",maxQuantityReached?\"Yes\":\"No\"]});// Add this effect near the other useEffect hooks\nuseEffect(()=>{if(props.maxQuantity>0){window.dispatchEvent(new CustomEvent(\"setMaxQuantity\",{detail:{productId:props.shopifyProductID,maxQuantity:props.maxQuantity}}));}},[props.maxQuantity,props.shopifyProductID]);// Add this effect to handle cart updates\nuseEffect(()=>{if(props.maxQuantity>0&&cartExistingData){const variantId=activeVariant?.id||(props.shopifyProductVariantId?`gid://shopify/ProductVariant/${props.shopifyProductVariantId}`:null);const currentInCart=getCurrentCartQuantity(variantId);const remainingAllowed=Math.max(0,props.maxQuantity-currentInCart);window.dispatchEvent(new CustomEvent(\"setMaxQuantity\",{detail:{productId:props.shopifyProductID,maxQuantity:remainingAllowed}}));if(productQuantity>remainingAllowed){setProductQuantity(remainingAllowed);}}},[cartExistingData,props.maxQuantity,activeVariant,props.shopifyProductVariantId,getCurrentCartQuantity]);// Add this effect to handle quantity max reached events\nuseEffect(()=>{const handleQuantityMaxReached=event=>{const{productId,maxQuantity}=event.detail;if(productId===props.shopifyProductID){setMaxQuantityReached(true);}};window.addEventListener(\"quantityMaxReached\",handleQuantityMaxReached);return()=>window.removeEventListener(\"quantityMaxReached\",handleQuantityMaxReached);},[props.shopifyProductID]);// Modify the effect that sets initial max quantity\nuseEffect(()=>{if(props.maxQuantity>0){const variantId=activeVariant?.id||(props.shopifyProductVariantId?`gid://shopify/ProductVariant/${props.shopifyProductVariantId}`:null);const currentInCart=getCurrentCartQuantity(variantId);const remainingAllowed=Math.max(0,props.maxQuantity-currentInCart);window.dispatchEvent(new CustomEvent(\"setMaxQuantity\",{detail:{productId:props.shopifyProductID,maxQuantity:remainingAllowed}}));}},[props.maxQuantity,props.shopifyProductID,getCurrentCartQuantity,activeVariant,props.shopifyProductVariantId]);return /*#__PURE__*/_jsxs(\"div\",{style:{height:\"100%\",position:\"relative\"},role:\"none\",className:\"fc-purchase-button-container\",children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .fc-purchase-button-container :focus-visible {\n                    outline: ${props.focus.width}px solid ${props.focus.color} !important;\n                    outline-offset: ${props.focus.padding}px !important;\n                    border-radius: ${props.focus.radius}px !important;\n                }\n            `}),debugInfo,RenderTarget.current()===RenderTarget.canvas?// In canvas, only render the available state\navailable?.[0]&&/*#__PURE__*/cloneElement(available[0],{style:{...available[0].props?.style||{},width:\"100%\",height:\"100%\",cursor:\"pointer\",outline:\"none\"},onClick:handleClick,role:\"button\",\"aria-label\":props.BuyNowATC?\"Buy now\":\"Add to cart\"}):// In browser, render all states but only show the active one\n/*#__PURE__*/_jsxs(\"div\",{style:{height:\"100%\",position:\"relative\"},children:[available?.[0]&&/*#__PURE__*/cloneElement(available[0],{style:{...available[0].props?.style||{},width:\"100%\",height:\"100%\",cursor:canAddToCart?\"pointer\":\"not-allowed\",transition:hasInitialized?\"opacity 0.3s ease-in-out\":\"none\",opacity:content===available?.[0]?1:0,position:\"absolute\",top:0,left:0,pointerEvents:content===available?.[0]?\"auto\":\"none\",visibility:content===available?.[0]?\"visible\":\"hidden\",outline:\"none\",zIndex:content===available?.[0]?2:0,transitionDelay:content===available?.[0]?\"0s\":\"0s\"},onClick:handleClick,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();if(canAddToCart){handleClick(e);}}},role:\"button\",\"aria-disabled\":!canAddToCart,\"aria-label\":props.BuyNowATC?\"Buy now\":\"Add to cart\",tabIndex:content===available?.[0]&&hasInitialized?0:-1,\"aria-hidden\":content!==available?.[0]||!hasInitialized}),OutOfStock?.[0]&&/*#__PURE__*/cloneElement(OutOfStock[0],{style:{...OutOfStock[0].props?.style||{},width:\"100%\",height:\"100%\",cursor:\"not-allowed\",transition:hasInitialized?\"opacity 0.3s ease-in-out\":\"none\",opacity:content===OutOfStock?.[0]?1:0,position:\"absolute\",top:0,left:0,pointerEvents:content===OutOfStock?.[0]?\"auto\":\"none\",visibility:content===OutOfStock?.[0]?\"visible\":\"hidden\",outline:\"none\",zIndex:content===OutOfStock?.[0]?2:0,transitionDelay:content===OutOfStock?.[0]?\"0s\":\"0s\"},role:\"button\",\"aria-disabled\":true,\"aria-label\":\"Out of stock\",tabIndex:content===OutOfStock?.[0]&&hasInitialized?0:-1,\"aria-hidden\":content!==OutOfStock?.[0]||!hasInitialized}),SelectVariant?.[0]&&/*#__PURE__*/cloneElement(SelectVariant[0],{style:{...SelectVariant[0].props?.style||{},width:\"100%\",height:\"100%\",cursor:\"not-allowed\",transition:hasInitialized?\"opacity 0.3s ease-in-out\":\"none\",opacity:content===SelectVariant?.[0]?1:content===available?.[0]||content===OutOfStock?.[0]?1-(hasInitialized?1:0):0,position:\"absolute\",top:0,left:0,pointerEvents:content===SelectVariant?.[0]?\"auto\":\"none\",visibility:content===SelectVariant?.[0]||(content===available?.[0]||content===OutOfStock?.[0])&&hasInitialized?\"visible\":\"hidden\",outline:\"none\",zIndex:content===SelectVariant?.[0]?2:1,transitionDelay:content===SelectVariant?.[0]?\"0s\":\"0.3s\"},role:\"button\",\"aria-disabled\":true,\"aria-label\":\"Select variant\",tabIndex:content===SelectVariant?.[0]&&hasInitialized?0:-1,\"aria-hidden\":content!==SelectVariant?.[0]||!hasInitialized})]}),LoadingState?.[0]&&RenderTarget.current()!==RenderTarget.canvas&&/*#__PURE__*/cloneElement(LoadingState[0],{style:{...LoadingState[0].props?.style||{},width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0,opacity:isLoading&&shouldShowLoading&&!props.skipLoading?1:0,pointerEvents:isLoading&&shouldShowLoading&&!props.skipLoading?\"auto\":\"none\",visibility:isLoading&&shouldShowLoading&&!props.skipLoading?\"visible\":\"hidden\",transition:\"opacity 0.2s ease-in-out\",outline:\"none\"},role:\"status\",\"aria-label\":`Loading ${props.BuyNowATC?\"buy now\":\"add to cart\"} button`,\"aria-live\":\"polite\",tabIndex:-1,\"aria-hidden\":!isLoading||!shouldShowLoading||props.skipLoading})]});}addPropertyControls(FC_ProductPurchaseButton,{shopifyProductID:{type:ControlType.String,title:\"Product ID\",description:\"Connect to CMS\"},shopifyProductVariantId:{type:ControlType.String,title:\"Variant ID\",description:\"Manually set a specific product variant ID (optional).\"},available:{type:ControlType.ComponentInstance,title:\"Available\"},OutOfStock:{type:ControlType.ComponentInstance,title:\"Out of Stock\"},SelectVariant:{type:ControlType.ComponentInstance,title:\"Select Variant\"},LoadingState:{type:ControlType.ComponentInstance,title:\"Loading\"},BuyNowATC:{title:\"Buy Now\",description:\"Enabling will skip the cart and go right to checkout.\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:false},openCart:{title:\"Trigger Cart\",description:\"Open your cart on click. If button is inside the cart, select No to keep the cart open.\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true},skipLoading:{title:\"Skip Loading\",description:\"Skip loading state\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:false},focus:{type:ControlType.Object,title:\"Focus\",controls:{radius:{type:ControlType.Number,title:\"Radius\",defaultValue:0,min:0,max:100,step:1,displayStepper:true},width:{type:ControlType.Number,title:\"Width\",defaultValue:2,min:0,max:20,step:1,displayStepper:true},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:2,min:0,max:20,step:1,displayStepper:true},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#007AFF\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FC_ProductPurchaseButton\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductPurchaseButton.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{addPropertyControls,ControlType}from\"framer\";import{useEffect,useState,useCallback}from\"react\";import{get}from\"lodash-es\";/**\n * @framerDisableUnlink\n */export default function FC_ProductVariantState(props){const{shopifyProductID,textTemplate}=props;const[product,setProduct]=useState();const[selectedOptions,setSelectedOptions]=useState({});// Move handler outside useEffect for better stability\nconst handleVariantSelection=useCallback(event=>{// Directly set the new selected options\nsetSelectedOptions(prev=>({...prev,[event.detail.optionName]:event.detail.value}));},[]);useEffect(()=>{if(window[\"shopXtools\"]&&Array.isArray(window[\"shopXtools\"].products)){const _matchingProduct=window[\"shopXtools\"].products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);setProduct(_matchingProduct?_matchingProduct.node:\"404\");}else{document.addEventListener(\"data__products-ready\",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\");}});}document.addEventListener(\"variant_option_selected\",handleVariantSelection);return()=>{document.removeEventListener(\"variant_option_selected\",handleVariantSelection);};},[shopifyProductID,handleVariantSelection]);useEffect(()=>{const handleCurrencyChange=event=>{const{currency}=event.detail;if(window[\"shopXtools\"]&&Array.isArray(window[\"shopXtools\"].products)){const _matchingProduct=window[\"shopXtools\"].products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);if(_matchingProduct){setProduct(_matchingProduct.node);}}};window.addEventListener(\"currency_changed\",handleCurrencyChange);return()=>{window.removeEventListener(\"currency_changed\",handleCurrencyChange);};},[shopifyProductID]);const options=get(product,\"options\",[]);// Get remaining unselected options\nconst remainingOptions=options.filter(opt=>!selectedOptions[opt.name]).map(opt=>opt.name);// In Framer canvas or when shopXtools is not ready, show placeholder\nconst isFramerCanvas=typeof window===\"undefined\"||!window[\"shopXtools\"];const displayText=isFramerCanvas?textTemplate.replace(\"{{variant}}\",\"Size\"):remainingOptions.length===0?\"\":textTemplate.replace(\"{{variant}}\",remainingOptions.join(\", \"));// If no text to display, return empty div\nif(!displayText){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"}});}return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"p\",{style:{...props.font,color:props.color,margin:0,textAlign:\"center\",textTransform:props.textTransform},children:displayText})});}FC_ProductVariantState.defaultProps={shopifyProductID:\"\",textTemplate:\"Select {{variant}}\",textTransform:\"none\",color:\"#000000\"};addPropertyControls(FC_ProductVariantState,{shopifyProductID:{type:ControlType.String,title:\"Product ID\"},textTemplate:{type:ControlType.String,title:\"Format\",description:\"Use {{variant}} to insert the variant name\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"none\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FC_ProductVariantState\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductVariantState.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\";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;}};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?.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\"));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,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;// 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:\"inline-flex\"}});}return /*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-flex\",whiteSpace:\"nowrap\"},children:/*#__PURE__*/_jsx(\"p\",{style:{margin:0,whiteSpace:\"nowrap\",...props[hasValidCompareAtPrice?\"saleFont\":\"regularFont\"],color:props[hasValidCompareAtPrice?\"saleColor\":\"regularColor\"]},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\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductPrice.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{useRef,useEffect}from\"react\";import{addPropertyControls,ControlType,useAnimation,motion}from\"framer\";import{defaultEvents,useOnEnter,useOnExit}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";var Indicators;(function(Indicators){Indicators[\"DotWave\"]=\"Dots\";Indicators[\"Material\"]=\"Material\";Indicators[\"IOS\"]=\"iOS\";})(Indicators||(Indicators={}));const angleInRadians=angleInDegrees=>(angleInDegrees-90)*(Math.PI/180);const polarToCartesian=(centerX,centerY,radius,angleInDegrees)=>{const a=angleInRadians(angleInDegrees);return{x:centerX+radius*Math.cos(a),y:centerY+radius*Math.sin(a)};};const arc=(x,y,radius,startAngle,endAngle)=>{const fullCircle=endAngle-startAngle===360;const start=polarToCartesian(x,y,radius,endAngle-0.01);const end=polarToCartesian(x,y,radius,startAngle);const arcFlag=endAngle-startAngle<=180?\"0\":\"1\";let d=[\"M\",start.x,start.y,\"A\",radius,radius,0,arcFlag,0,end.x,end.y,].join(\" \");if(fullCircle)d+=\"z\";return d;};function Spinner({color}){const length=360;const endPercentage=length/360*100;const strokeWidth=10;const width=100;const height=100;return(/*#__PURE__*/ _jsxs(motion.div,{style:{height:\"85%\",width:\"85%\",position:\"relative\",originX:0.5,originY:0.5},animate:{rotate:360},transition:{loop:Infinity,ease:\"linear\",duration:0.5},children:[/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"100%\",width:\"100%\",top:0,left:0,right:0,bottom:0,position:\"absolute\",WebkitMask:`conic-gradient(rgba(0, 0, 0, 0.0) 0%, rgba(0, 0, 0,1.0) ${endPercentage}%)`},viewBox:\"0 0 100 100\",children:/*#__PURE__*/ _jsx(\"g\",{transform:\"translate(0 0)\",children:/*#__PURE__*/ _jsx(\"path\",{d:arc(width/2,height/2,width/2-strokeWidth/2,0,length),fill:\"none\",stroke:color,strokeWidth:strokeWidth,strokeLinecap:\"round\"})})}),/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"100%\",width:\"100%\",position:\"absolute\"},viewBox:\"0 0 100 100\",children:/*#__PURE__*/ _jsx(\"g\",{transform:\"translate(50 0)\",children:/*#__PURE__*/ _jsx(\"path\",{d:\"M 0 0 C 2.761 0 5 2.239 5 5 C 5 7.761 2.761 10 0 10 C 0 10 0 0 0 0 Z\",fill:color})})})]}));}// <path d=\"M 0 0 C 2.761 0 5 2.239 5 5 C 5 7.761 2.761 10 0 10 C 0 10 0 0 0 0 Z\" fill=\"#CCC\"></path>\n// function Spinner({ color }) {\n//     return (\n//         <svg style={{ height: \"85%\", width: \"85%\" }} viewBox=\"0 0 100 100\">\n//             <motion.g\n//                 transform=\"translate(3 3)\"\n//                 animate={{ rotate: 360 }}\n//                 transition={{ loop: Infinity, ease: \"linear\", duration: 1 }}\n//             >\n//                 {pathStrings.map((data, i) => {\n//                     return <path d={data} fill={color} opacity={i / pathStrings.length} />\n//                 })}\n//             </motion.g>\n//         </svg>\n//     )\n// }\nfunction DotWave({color,animation}){const circles=[0,1,2];const{delay,ease,duration,...animProps}=animation;const transition=animation.type===\"spring\"?animProps:{...animProps,ease,duration};// console.log(animProps)\nreturn(/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"85%\",width:\"85%\"},viewBox:\"0 0 30 30\",variants:{show:{transition:{delayChildren:0.1,staggerChildren:0.12}}},animate:\"show\",children:circles.map(circle=>/*#__PURE__*/ _jsx(motion.circle,{style:{fill:color},variants:{hidden:{y:0},show:{y:[0,0,0,-10,0,0,0]}},transition:{...transition,yoyo:Infinity},r:3,cx:circle*10+5,cy:15},circle))}));}function Material({color,animation}){return(/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"85%\",width:\"85%\",overflow:\"visible\",originX:\"50%\",originY:\"50%\"},animate:{rotate:360},transition:{ease:\"linear\",loop:Infinity,duration:2},viewBox:\"25 25 50 50\",children:/*#__PURE__*/ _jsx(motion.circle,{style:{stroke:color,strokeLinecap:\"round\"},animate:{strokeDasharray:[\"1, 200\",\"89, 200\",\"89, 200\"],strokeDashoffset:[0,-35,-124]},transition:{...animation,loop:Infinity,ease:\"easeInOut\"},cx:\"50\",cy:\"50\",r:\"20\",fill:\"none\",strokeWidth:2,strokeMiterlimit:\"10\"})}));}function IOS({color,animation}){const particles=12;// this was the death of me\nconst arrayRotate=(arr,n)=>arr.slice(n,arr.length).concat(arr.slice(0,n));const lines=[...new Array(particles)].map((l,i)=>0.9/particles*i+0.1).reverse();const lineOpacities=lines.map((l,i)=>arrayRotate(lines,i));return(/*#__PURE__*/ _jsx(motion.svg,{viewBox:\"-15 -15 30 30\",style:{width:\"100%\",height:\"100%\"},children:lineOpacities.map((lineKeyframes,i)=>/*#__PURE__*/ _jsx(motion.g,{initial:{opacity:lineKeyframes[0]},animate:{opacity:lineKeyframes},transition:{...animation,loop:Infinity,repeatDelay:0.0005},children:/*#__PURE__*/ _jsx(\"rect\",{style:{width:7,height:2,fill:color,transform:`rotate(${(particles-i)/particles*360-90}deg)`},x:5,y:-1,rx:1})},i))}));}function getIndicator(indicator,props){switch(indicator){case Indicators.DotWave:return(/*#__PURE__*/ _jsx(DotWave,{...props}));case Indicators.Material:return(/*#__PURE__*/ _jsx(Material,{...props}));case Indicators.IOS:return(/*#__PURE__*/ _jsx(IOS,{...props}));// case Indicators.Spinner:\n//     return <Spinner {...props} />\ndefault:return(/*#__PURE__*/ _jsx(DotWave,{...props}));}}export function handleTimeout(duration,callback){const id=setTimeout(callback,duration*1e3);return()=>clearTimeout(id);}/**\n * Loading\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export function Loading(props){const{duration,onTimeout,fadeOut,hasDuration,indicator,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,style}=props;const controls=useAnimation();const animDuration=fadeOut?Math.min(duration,0.35):0;const animDelay=fadeOut?duration-animDuration:duration;const currentIndicator=getIndicator(indicator,props);const handlers=useRef([]);const onFadeOut=React.useCallback(()=>{if(hasDuration)controls.start({opacity:0,transition:{duration:animDuration,ease:\"easeIn\"}});},[hasDuration,animDuration]);const resetOpacity=async()=>{controls.set({opacity:1});};useOnEnter(()=>{resetOpacity();if(hasDuration)handlers.current=[handleTimeout(duration,onTimeout),handleTimeout(animDelay,onFadeOut),];});// Cancel all timers on exit.\nuseOnExit(()=>handlers.current.forEach(cleanup=>cleanup));// Cancel all timers on unmount.\nuseEffect(()=>()=>handlers.current.forEach(cleanup=>cleanup),[]);return(/*#__PURE__*/ _jsx(motion.div,{onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,animate:controls,style:{position:\"relative\",overflow:\"show\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",...style},children:currentIndicator}));}Loading.defaultProps={height:40,width:40,duration:2,color:\"#888\",animation:{type:\"tween\",ease:\"linear\",duration:1.3},hasDuration:false};// Learn more: https://framer.com/api/property-controls/\naddPropertyControls(Loading,{indicator:{title:\"Indicator\",type:ControlType.Enum,options:Object.keys(Indicators).map(i=>Indicators[i])},color:{type:ControlType.Color,defaultValue:\"#888\"},// transition: { title: \"Animation\", type: ControlType.Transition },\nhasDuration:{title:\"Duration\",type:ControlType.Boolean,defaultValue:Loading.defaultProps.hasDuration,enabledTitle:\"Timeout\",disabledTitle:\"Infinity\"},duration:{title:\"Time\",hidden:({hasDuration})=>!hasDuration,min:0.1,max:10,defaultValue:Loading.defaultProps.duration,type:ControlType.Number,step:0.1},animation:{type:ControlType.Transition},fadeOut:{title:\"Fade Out\",hidden:({hasDuration})=>!hasDuration,type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},onTimeout:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"handleTimeout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Loading\":{\"type\":\"reactComponent\",\"name\":\"Loading\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"40\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Loading.map", "// Generated by Framer (4ba8877)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Variable\",\"Inter-VariableVF=Im9wc3oiIDMyLCAid2dodCIgNTU1\",\"Inter-VariableVF=Im9wc3oiIDMyLCAid2dodCIgNTU1\",\"Inter-VariableVF=Im9wc3oiIDMyLCAid2dodCIgNTU1\"]);const variationAxes=[{defaultValue:14,maxValue:32,minValue:14,name:\"Optical size\",tag:\"opsz\"},{defaultValue:400,maxValue:900,minValue:100,name:\"Weight\",tag:\"wght\"}];export const fonts=[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/mYcqTSergLb16PdbJJQMl9ebYm4.woff2\",variationAxes,weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/ZRl8AlxwsX1m7xS1eJCiSPbztg.woff2\",variationAxes,weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/nhSQpBRqFmXNUBY2p5SENQ8NplQ.woff2\",variationAxes,weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/DYHjxG0qXjopUuruoacfl5SA.woff2\",variationAxes,weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/s7NH6sl7w4NU984r5hcmo1tPSYo.woff2\",variationAxes,weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/7lw0VWkeXrGYJT05oB3DsFy8BaY.woff2\",variationAxes,weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/wx5nfqEgOXnxuFaxB0Mn9OhmcZA.woff2\",variationAxes,weight:\"400\"}]}];export const css=['.framer-8wymg .framer-styles-preset-k46krw:not(.rich-text-wrapper), .framer-8wymg .framer-styles-preset-k46krw.rich-text-wrapper p { --framer-font-family: \"Inter Variable\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter Variable\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter Variable\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter Variable\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'ss03\\' on, \\'ss04\\' on; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: normal; --framer-font-style-italic: normal; --framer-font-variation-axes: \"opsz\" 32, \"wght\" 555; --framer-font-variation-axes-bold: \"opsz\" 32, \"wght\" 555; --framer-font-variation-axes-bold-italic: \"opsz\" 32, \"wght\" 555; --framer-font-variation-axes-italic: \"opsz\" 32, \"wght\" 555; --framer-font-weight: 400; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.01em; --framer-line-height: 100%; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, #211a1a); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-8wymg\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (ab692b1)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import FC_ProductVariantState from\"https://framerusercontent.com/modules/B12xzzGu5tV27jDrWyaW/dyGmYzzIUDiXU0ubHYzE/FC_ProductVariantState.js\";import FC_ProductPrice from\"https://framerusercontent.com/modules/N07JJZfuMtyHijtiRRgH/vuWsYB4j3wQ8nbJ1MmZM/FC_ProductPrice.js\";import{Loading}from\"https://framerusercontent.com/modules/NQ9LlTfXzHTRhTTi6qMI/5u9VoSaQM7qxLI2scUcH/Loading.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/1PdpgUiM6vjJqBr6zrYk/BojYz7IGF7nSzPVDEFxX/u9bJH5KE7.js\";const FC_ProductPriceFonts=getFonts(FC_ProductPrice);const FC_ProductVariantStateFonts=getFonts(FC_ProductVariantState);const LoadingFonts=getFonts(Loading);const enabledGestures={f_HVTgLU0:{hover:true},qiv395MRY:{hover:true}};const cycleOrder=[\"qiv395MRY\",\"B7b72A4cy\",\"mtL6j6SKd\",\"FHPHnpq_F\",\"f_HVTgLU0\"];const serializationHash=\"framer-qxZ4K\";const variantClassNames={B7b72A4cy:\"framer-v-1izu2x4\",f_HVTgLU0:\"framer-v-zpxs03\",FHPHnpq_F:\"framer-v-1vr5r15\",mtL6j6SKd:\"framer-v-3druyj\",qiv395MRY:\"framer-v-ovdptl\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.3,ease:[.44,0,.56,1],type:\"tween\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const transformTemplate2=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Add to Cart\":\"qiv395MRY\",\"Out of Stock\":\"mtL6j6SKd\",\"Quick Add\":\"f_HVTgLU0\",\"Select Variant\":\"B7b72A4cy\",Loading:\"FHPHnpq_F\"};const getProps=({height,id,productID,width,...props})=>{return{...props,elgRTGdr9:productID??props.elgRTGdr9??\"8521120088358\",variant:humanReadableVariantMap[props.variant]??props.variant??\"qiv395MRY\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,elgRTGdr9,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"qiv395MRY\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(gestureVariant===\"f_HVTgLU0-hover\")return false;if([\"B7b72A4cy\",\"mtL6j6SKd\",\"FHPHnpq_F\",\"f_HVTgLU0\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"B7b72A4cy\")return true;return false;};const isDisplayed2=()=>{if(baseVariant===\"FHPHnpq_F\")return true;return false;};const isDisplayed3=()=>{if(gestureVariant===\"f_HVTgLU0-hover\")return true;if([\"mtL6j6SKd\",\"f_HVTgLU0\"].includes(baseVariant))return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-ovdptl\",className,classNames),\"data-framer-name\":\"Add to Cart\",layoutDependency:layoutDependency,layoutId:\"qiv395MRY\",ref:refBinding,style:{backgroundColor:\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,...style},variants:{\"f_HVTgLU0-hover\":{backgroundColor:\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0))\"},B7b72A4cy:{backgroundColor:\"var(--token-ae8ee2a3-db43-4346-aa65-c9685dfafd51, rgba(231, 236, 229, 0.64))\"},f_HVTgLU0:{backgroundColor:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\"},FHPHnpq_F:{backgroundColor:\"var(--token-977611e6-b9d8-4d09-809b-8b874fb3d33d, rgb(231, 236, 229))\"},mtL6j6SKd:{backgroundColor:\"var(--token-ae8ee2a3-db43-4346-aa65-c9685dfafd51, rgba(231, 236, 229, 0.64))\"}},...addPropertyOverrides({\"f_HVTgLU0-hover\":{\"data-framer-name\":undefined},\"qiv395MRY-hover\":{\"data-framer-name\":undefined},B7b72A4cy:{\"data-framer-name\":\"Select Variant\"},f_HVTgLU0:{\"data-framer-name\":\"Quick Add\"},FHPHnpq_F:{\"data-framer-name\":\"Loading\"},mtL6j6SKd:{\"data-framer-name\":\"Out of Stock\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-k46krw\",\"data-styles-preset\":\"u9bJH5KE7\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"Add to Cart\"})}),className:\"framer-1hx38cg\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Ju4M6n2qJ\",style:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},transformTemplate:transformTemplate1,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"qiv395MRY-hover\":{transformTemplate:transformTemplate2}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ide4zg-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"p1AJ_IMUz-container\",nodeId:\"p1AJ_IMUz\",rendersWithMotion:true,scopeId:\"tmZW16Ab4\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(FC_ProductPrice,{canvasPrice:\"50.00\",format:{currencyCode:\"USD\",showCurrency:true,showDecimals:\"Always show\",showSymbol:true},height:\"100%\",id:\"p1AJ_IMUz\",layoutId:\"p1AJ_IMUz\",regularColor:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",regularFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},saleColor:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",saleFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},shopifyProductID:elgRTGdr9,width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-b2x0-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"P3lvqSEP_-container\",nodeId:\"P3lvqSEP_\",rendersWithMotion:true,scopeId:\"tmZW16Ab4\",children:/*#__PURE__*/_jsx(FC_ProductVariantState,{color:\"var(--token-25dffb6f-7224-457b-8095-a82c7fa5a8b9, rgba(0, 0, 0, 0.48))\",font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:600,letterSpacing:\"-0.01em\",lineHeight:\"1em\"},height:\"100%\",id:\"P3lvqSEP_\",layoutId:\"P3lvqSEP_\",shopifyProductID:elgRTGdr9,textTemplate:\"Select {{variant}}\",textTransform:\"None\",width:\"100%\"})})}),isDisplayed2()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-169mmhr-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"naiYMjKJg-container\",nodeId:\"naiYMjKJg\",rendersWithMotion:true,scopeId:\"tmZW16Ab4\",children:/*#__PURE__*/_jsx(Loading,{animation:{delay:0,duration:1.3,ease:[.44,0,.56,1],type:\"tween\"},color:\"var(--token-32039339-f64a-42c6-a8f4-f7fdfa12eb53, rgba(0, 0, 0, 0.16))\",duration:2,fadeOut:true,hasDuration:false,height:\"100%\",id:\"naiYMjKJg\",indicator:\"Material\",layoutId:\"naiYMjKJg\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),isDisplayed3()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-25dffb6f-7224-457b-8095-a82c7fa5a8b9, rgba(0, 0, 0, 0.48)))\"},children:\"OUT OF STOCK\"})}),className:\"framer-6ax5tz\",fonts:[\"Inter-SemiBold\"],layoutDependency:layoutDependency,layoutId:\"HkBucgBig\",style:{\"--extracted-r6o4lv\":\"var(--token-25dffb6f-7224-457b-8095-a82c7fa5a8b9, rgba(0, 0, 0, 0.48))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{\"f_HVTgLU0-hover\":{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\"},f_HVTgLU0:{\"--extracted-r6o4lv\":\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"f_HVTgLU0-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"QUICK ADD\"})})},f_HVTgLU0:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0)))\"},children:\"QUICK ADD\"})})}},baseVariant,gestureVariant)})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-qxZ4K.framer-1jp0h5p, .framer-qxZ4K .framer-1jp0h5p { display: block; }\",\".framer-qxZ4K.framer-ovdptl { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; height: 56px; justify-content: space-between; overflow: hidden; padding: 0px 24px 0px 24px; position: relative; width: 200px; will-change: var(--framer-will-change-override, transform); }\",\".framer-qxZ4K .framer-1hx38cg { flex: none; height: auto; left: 24px; position: absolute; top: 50%; white-space: pre; width: auto; z-index: 1; }\",\".framer-qxZ4K .framer-1ide4zg-container { flex: none; height: auto; position: absolute; right: 24px; top: 50%; width: auto; z-index: 1; }\",\".framer-qxZ4K .framer-b2x0-container { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; width: auto; }\",\".framer-qxZ4K .framer-169mmhr-container { flex: none; height: 32px; position: relative; width: 32px; }\",\".framer-qxZ4K .framer-6ax5tz { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-qxZ4K.framer-v-1izu2x4.framer-ovdptl, .framer-qxZ4K.framer-v-3druyj.framer-ovdptl, .framer-qxZ4K.framer-v-1vr5r15.framer-ovdptl { cursor: unset; gap: 0px; justify-content: center; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-qxZ4K.framer-v-1izu2x4.framer-ovdptl { gap: 0px; } .framer-qxZ4K.framer-v-1izu2x4.framer-ovdptl > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-qxZ4K.framer-v-1izu2x4.framer-ovdptl > :first-child { margin-left: 0px; } .framer-qxZ4K.framer-v-1izu2x4.framer-ovdptl > :last-child { margin-right: 0px; } }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-qxZ4K.framer-v-3druyj.framer-ovdptl { gap: 0px; } .framer-qxZ4K.framer-v-3druyj.framer-ovdptl > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-qxZ4K.framer-v-3druyj.framer-ovdptl > :first-child { margin-left: 0px; } .framer-qxZ4K.framer-v-3druyj.framer-ovdptl > :last-child { margin-right: 0px; } }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-qxZ4K.framer-v-1vr5r15.framer-ovdptl { gap: 0px; } .framer-qxZ4K.framer-v-1vr5r15.framer-ovdptl > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-qxZ4K.framer-v-1vr5r15.framer-ovdptl > :first-child { margin-left: 0px; } .framer-qxZ4K.framer-v-1vr5r15.framer-ovdptl > :last-child { margin-right: 0px; } }\",\".framer-qxZ4K.framer-v-zpxs03.framer-ovdptl { gap: 0px; height: 40px; justify-content: center; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-qxZ4K.framer-v-zpxs03.framer-ovdptl { gap: 0px; } .framer-qxZ4K.framer-v-zpxs03.framer-ovdptl > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-qxZ4K.framer-v-zpxs03.framer-ovdptl > :first-child { margin-left: 0px; } .framer-qxZ4K.framer-v-zpxs03.framer-ovdptl > :last-child { margin-right: 0px; } }\",\".framer-qxZ4K.framer-v-ovdptl.hover .framer-1hx38cg { left: 50%; }\",\".framer-qxZ4K.framer-v-ovdptl.hover .framer-1ide4zg-container { right: -96px; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 56\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"B7b72A4cy\":{\"layout\":[\"fixed\",\"fixed\"]},\"mtL6j6SKd\":{\"layout\":[\"fixed\",\"fixed\"]},\"FHPHnpq_F\":{\"layout\":[\"fixed\",\"fixed\"]},\"f_HVTgLU0\":{\"layout\":[\"fixed\",\"fixed\"]},\"nGr75WALs\":{\"layout\":[\"fixed\",\"fixed\"]},\"URoWg7I6X\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"elgRTGdr9\":\"productID\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramertmZW16Ab4=withCSS(Component,css,\"framer-qxZ4K\");export default FramertmZW16Ab4;FramertmZW16Ab4.displayName=\"Local Design\";FramertmZW16Ab4.defaultProps={height:56,width:200};addPropertyControls(FramertmZW16Ab4,{variant:{options:[\"qiv395MRY\",\"B7b72A4cy\",\"mtL6j6SKd\",\"FHPHnpq_F\",\"f_HVTgLU0\"],optionTitles:[\"Add to Cart\",\"Select Variant\",\"Out of Stock\",\"Loading\",\"Quick Add\"],title:\"Variant\",type:ControlType.Enum},elgRTGdr9:{defaultValue:\"8521120088358\",title:\"Product ID\",type:ControlType.String}});addFonts(FramertmZW16Ab4,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/1ZFS7N918ojhhd0nQWdj3jz4w.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2\",weight:\"600\"}]},...FC_ProductPriceFonts,...FC_ProductVariantStateFonts,...LoadingFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramertmZW16Ab4\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"B7b72A4cy\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"mtL6j6SKd\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"FHPHnpq_F\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"f_HVTgLU0\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"nGr75WALs\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"URoWg7I6X\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"elgRTGdr9\\\":\\\"productID\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"56\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./tmZW16Ab4.map", "// Generated by Framer (eca4804)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import FC_ProductPurchaseButton from\"https://framerusercontent.com/modules/DfixsupJND2Hhr1xcPbk/qTWXOdw5E0xVgZZsufyY/FC_ProductPurchaseButton.js\";import LocalDesign from\"https://framerusercontent.com/modules/23Il6xyHh6L2znsT1LJ9/R5dC3djCLeeSoSwzkWJv/tmZW16Ab4.js\";const LocalDesignFonts=getFonts(LocalDesign);const FC_ProductPurchaseButtonFonts=getFonts(FC_ProductPurchaseButton);const serializationHash=\"framer-jwQYm\";const variantClassNames={RcrAKAnuK:\"framer-v-h0lpas\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const convertFromBoolean=(value,activeLocale)=>{if(value){return\"f_HVTgLU0\";}else{return\"qiv395MRY\";}};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,productID,quickAdd,skipLoading,width,...props})=>{return{...props,CtxbSorek:skipLoading??props.CtxbSorek,gzPkfrIbf:productID??props.gzPkfrIbf??\"9914855981350\",KAtvUtyrK:quickAdd??props.KAtvUtyrK};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,gzPkfrIbf,CtxbSorek,KAtvUtyrK,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"RcrAKAnuK\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-h0lpas\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"RcrAKAnuK\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-3ppn37-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"LmzYfsjdz-container\",nodeId:\"LmzYfsjdz\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(FC_ProductPurchaseButton,{available:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-sdsytv\",\"data-framer-name\":\"Available\",layoutDependency:layoutDependency,layoutId:\"f1A_p61ax\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:56,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-gjpd2-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"olS5qP9CS-container\",nodeId:\"olS5qP9CS\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(LocalDesign,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"olS5qP9CS\",layoutId:\"olS5qP9CS\",style:{height:\"100%\",width:\"100%\"},variant:convertFromBoolean(KAtvUtyrK,activeLocale),width:\"100%\"})})})})],BuyNowATC:false,focus:{color:\"rgb(0, 122, 255)\",padding:2,radius:8,width:2},height:\"100%\",id:\"LmzYfsjdz\",layoutId:\"LmzYfsjdz\",LoadingState:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1enkfv5\",\"data-framer-name\":\"Loading\",layoutDependency:layoutDependency,layoutId:\"XVgiFwapB\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:56,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1g8220y-container\",\"data-framer-name\":\"Loading\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"Hf_aywAYy-container\",name:\"Loading\",nodeId:\"Hf_aywAYy\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(LocalDesign,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"Hf_aywAYy\",layoutId:\"Hf_aywAYy\",name:\"Loading\",style:{height:\"100%\",width:\"100%\"},variant:\"FHPHnpq_F\",width:\"100%\"})})})})],openCart:true,OutOfStock:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-14ay2co\",\"data-framer-name\":\"Out of Stock\",layoutDependency:layoutDependency,layoutId:\"DLa3NiL1z\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:56,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1vvrptf-container\",\"data-framer-name\":\"Out of Stock\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"igAutchvn-container\",name:\"Out of Stock\",nodeId:\"igAutchvn\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(LocalDesign,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"igAutchvn\",layoutId:\"igAutchvn\",name:\"Out of Stock\",style:{height:\"100%\",width:\"100%\"},variant:\"mtL6j6SKd\",width:\"100%\"})})})})],SelectVariant:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-tdjchj\",\"data-framer-name\":\"Select Variant\",layoutDependency:layoutDependency,layoutId:\"o9cUIyM4g\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:56,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-19yest9-container\",\"data-framer-name\":\"Select Variant\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"FYIZkok5E-container\",name:\"Select Variant\",nodeId:\"FYIZkok5E\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(LocalDesign,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"FYIZkok5E\",layoutId:\"FYIZkok5E\",name:\"Select Variant\",style:{height:\"100%\",width:\"100%\"},variant:\"B7b72A4cy\",width:\"100%\"})})})})],shopifyProductID:gzPkfrIbf,shopifyProductVariantId:\"\",skipLoading:CtxbSorek,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-jwQYm.framer-1di2lge, .framer-jwQYm .framer-1di2lge { display: block; }\",\".framer-jwQYm.framer-h0lpas { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 56px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 400px; }\",\".framer-jwQYm .framer-3ppn37-container, .framer-jwQYm .framer-gjpd2-container, .framer-jwQYm .framer-1vvrptf-container, .framer-jwQYm .framer-19yest9-container, .framer-jwQYm .framer-1g8220y-container { flex: 1 0 0px; height: 100%; position: relative; width: 1px; }\",\".framer-jwQYm .framer-sdsytv, .framer-jwQYm .framer-14ay2co, .framer-jwQYm .framer-tdjchj, .framer-jwQYm .framer-1enkfv5 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 56px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 400px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-jwQYm.framer-h0lpas, .framer-jwQYm .framer-sdsytv, .framer-jwQYm .framer-14ay2co, .framer-jwQYm .framer-tdjchj, .framer-jwQYm .framer-1enkfv5 { gap: 0px; } .framer-jwQYm.framer-h0lpas > *, .framer-jwQYm .framer-sdsytv > *, .framer-jwQYm .framer-14ay2co > *, .framer-jwQYm .framer-tdjchj > *, .framer-jwQYm .framer-1enkfv5 > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-jwQYm.framer-h0lpas > :first-child, .framer-jwQYm .framer-sdsytv > :first-child, .framer-jwQYm .framer-14ay2co > :first-child, .framer-jwQYm .framer-tdjchj > :first-child, .framer-jwQYm .framer-1enkfv5 > :first-child { margin-left: 0px; } .framer-jwQYm.framer-h0lpas > :last-child, .framer-jwQYm .framer-sdsytv > :last-child, .framer-jwQYm .framer-14ay2co > :last-child, .framer-jwQYm .framer-tdjchj > :last-child, .framer-jwQYm .framer-1enkfv5 > :last-child { margin-right: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 56\n * @framerIntrinsicWidth 400\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"gzPkfrIbf\":\"productID\",\"CtxbSorek\":\"skipLoading\",\"KAtvUtyrK\":\"quickAdd\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerUnsogWI8Z=withCSS(Component,css,\"framer-jwQYm\");export default FramerUnsogWI8Z;FramerUnsogWI8Z.displayName=\"Purchase Button\";FramerUnsogWI8Z.defaultProps={height:56,width:400};addPropertyControls(FramerUnsogWI8Z,{gzPkfrIbf:{defaultValue:\"9914855981350\",title:\"Product ID\",type:ControlType.String},CtxbSorek:{defaultValue:false,title:\"Skip Loading\",type:ControlType.Boolean},KAtvUtyrK:{defaultValue:false,title:\"Quick Add\",type:ControlType.Boolean}});addFonts(FramerUnsogWI8Z,[{explicitInter:true,fonts:[]},...LocalDesignFonts,...FC_ProductPurchaseButtonFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerUnsogWI8Z\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"gzPkfrIbf\\\":\\\"productID\\\",\\\"CtxbSorek\\\":\\\"skipLoading\\\",\\\"KAtvUtyrK\\\":\\\"quickAdd\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"400\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"56\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UnsogWI8Z.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 2024 Framer Commerce. All Rights Reserved.\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// Disable console logs in production\nconst DEBUG=false;/**\n * @framerDisableUnlink\n */export default function FC_ProductStockStatus(props){// Handle canvas preview\nif(RenderTarget.current()===RenderTarget.canvas){// Return the first visible instance based on show/hide props\nif(props.showAboveThreshold){return /*#__PURE__*/_jsx(\"div\",{style:{opacity:1},children:props.aboveThresholdComponent});}if(props.showBelowThreshold){return /*#__PURE__*/_jsx(\"div\",{style:{opacity:1},children:props.belowThresholdComponent});}if(props.showOutOfStock){return /*#__PURE__*/_jsx(\"div\",{style:{opacity:1},children:props.outOfStockComponent});}// If no instances are set to show, return an empty div\nreturn /*#__PURE__*/_jsx(\"div\",{style:{opacity:1}});}const{threshold,aboveThresholdComponent,belowThresholdComponent,outOfStockComponent,showTotalInventory,showOutOfStock,showAboveThreshold,showBelowThreshold}=props;const[quantityAvailable,setQuantityAvailable]=useState(null);const[hasSelectedVariant,setHasSelectedVariant]=useState(false);const[totalInventory,setTotalInventory]=useState(null);const[isInfiniteInventory,setIsInfiniteInventory]=useState(false);useEffect(()=>{const handleVariantChange=e=>{const activeVariant=e.detail;const expectedProductId=`gid://shopify/Product/${props.shopifyProductID}`;if(!activeVariant?.productId||activeVariant.productId!==expectedProductId){return;}if(activeVariant){setQuantityAvailable(activeVariant.quantityAvailable);setHasSelectedVariant(true);}};const processProduct=product=>{const variants=product.variants.edges.map(edge=>edge.node)||[];const hasVariants=variants.length>1;const hasInfiniteInventory=variants.some(variant=>variant.availableForSale&&variant.quantityAvailable===0);const total=variants.reduce((sum,variant)=>{if(variant.availableForSale&&variant.quantityAvailable===0){return sum;}return sum+(variant.quantityAvailable||0);},0);setTotalInventory(total);setQuantityAvailable(total);setHasSelectedVariant(!hasVariants);setIsInfiniteInventory(hasInfiniteInventory||product.availableForSale&&total===0);};const handleProductsReady=e=>{if(Array.isArray(e.detail.products)){const matchingProduct=e.detail.products.find(({node:product})=>product.id===`gid://shopify/Product/${props.shopifyProductID}`);if(matchingProduct){processProduct(matchingProduct.node);}}};if(window?.shopXtools?.products&&Array.isArray(window.shopXtools.products)){const matchingProduct=window.shopXtools.products.find(({node:product})=>product.id===`gid://shopify/Product/${props.shopifyProductID}`);if(matchingProduct){processProduct(matchingProduct.node);}}document.addEventListener(\"data__products-ready\",handleProductsReady);document.addEventListener(\"product__active-variant__changed\",handleVariantChange);return()=>{document.removeEventListener(\"data__products-ready\",handleProductsReady);document.removeEventListener(\"product__active-variant__changed\",handleVariantChange);};},[props.shopifyProductID]);const getStockMessage=()=>{const displayQuantity=hasSelectedVariant?quantityAvailable:totalInventory;if(displayQuantity<=0&&!isInfiniteInventory){if(showOutOfStock){return props.outOfStockComponent;}else{return null;}}if(isInfiniteInventory||displayQuantity>=props.threshold){if(showAboveThreshold){return props.aboveThresholdComponent;}else{return null;}}if(showBelowThreshold){return props.belowThresholdComponent;}else{return null;}};const shouldShow=totalInventory!==null||isInfiniteInventory;const isHidden=!showTotalInventory&&!hasSelectedVariant;const styles={opacity:isHidden?0:1,transition:\"opacity 0.2s ease-in-out\",userSelect:isHidden?\"none\":\"auto\",visibility:isHidden?\"hidden\":\"visible\"};return /*#__PURE__*/_jsx(\"div\",{style:styles,\"aria-hidden\":isHidden,children:getStockMessage()});}FC_ProductStockStatus.defaultProps={shopifyProductID:\"\",threshold:10,showTotalInventory:false,showOutOfStock:false,showAboveThreshold:true,showBelowThreshold:true};addPropertyControls(FC_ProductStockStatus,{shopifyProductID:{type:ControlType.String,title:\"Product ID\"},threshold:{type:ControlType.Number,title:\"Threshold\",defaultValue:10,min:0},showAboveThreshold:{type:ControlType.Boolean,title:\"Above Threshold\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},aboveThresholdComponent:{type:ControlType.ComponentInstance,title:\"Above Threshold\",required:true,hidden:props=>!props.showAboveThreshold},showBelowThreshold:{type:ControlType.Boolean,title:\"Below Threshold\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},belowThresholdComponent:{type:ControlType.ComponentInstance,title:\"Below Threshold\",required:true,hidden:props=>!props.showBelowThreshold},showOutOfStock:{type:ControlType.Boolean,title:\"Out of Stock\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},outOfStockComponent:{type:ControlType.ComponentInstance,title:\"Out of Stock\",required:true,hidden:props=>!props.showOutOfStock},showTotalInventory:{type:ControlType.Boolean,title:\"No variant selected\",description:\"When a product has variants and none are selected, show the total inventory available, or hide until a variant is selected\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FC_ProductStockStatus\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductStockStatus.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\"\";// 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=showMockValues||numericValue>0;// Listen for currency changes\nuseEffect(()=>{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,selectedCurrency,selectedCountryCode]);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){// 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\"}});}// 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\"},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\"},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\"},canvasPrice:{type:ControlType.String,title:\"Canvas Price\",description:\"Connect to CMS for canvas preview.\",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\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductPriceCompare.map", "// Generated by Framer (7422eea)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,Image,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import PurchaseButton from\"https://framerusercontent.com/modules/84qA8brGOmrmQVcRxp2t/YlJ8EABDy2DTvVdSxZoz/UnsogWI8Z.js\";import FC_ProductStockStatus from\"https://framerusercontent.com/modules/gsF1PcoB6DIjO9DCxQ8u/ZF2YKjKEXWtLeQihDKoU/FC_ProductStockStatus.js\";import FC_ProductPrice from\"https://framerusercontent.com/modules/N07JJZfuMtyHijtiRRgH/7dmpbpQzQUqypxj0Rx21/FC_ProductPrice.js\";import FC_ProductPriceCompare from\"https://framerusercontent.com/modules/ZipJAXrtSkBsdbTSry5q/9GU2eDL3W53ayKQzkMf1/FC_ProductPriceCompare.js\";const PurchaseButtonFonts=getFonts(PurchaseButton);const FC_ProductStockStatusFonts=getFonts(FC_ProductStockStatus);const FC_ProductPriceFonts=getFonts(FC_ProductPrice);const FC_ProductPriceCompareFonts=getFonts(FC_ProductPriceCompare);const enabledGestures={dW6QbnDUR:{hover:true},mOkZoRKp2:{hover:true}};const cycleOrder=[\"dW6QbnDUR\",\"mOkZoRKp2\",\"JbcWtsOkh\"];const serializationHash=\"framer-yzZfq\";const variantClassNames={dW6QbnDUR:\"framer-v-wlyng3\",JbcWtsOkh:\"framer-v-1v97a8v\",mOkZoRKp2:\"framer-v-u0n6ae\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"img-swap\":\"dW6QbnDUR\",\"img-zoom\":\"mOkZoRKp2\",phone:\"JbcWtsOkh\"};const getProps=({height,id,image1,image2,link,productID,quickAdd,title,width,...props})=>{return{...props,L50124giC:image2??props.L50124giC,oDaFcesAH:quickAdd??props.oDaFcesAH,rOnTqGIsu:productID??props.rOnTqGIsu,TCXN5zxa5:image1??props.TCXN5zxa5,TOAsAcbaX:title??props.TOAsAcbaX??\"Title\",UdwOBeoEW:link??props.UdwOBeoEW,variant:humanReadableVariantMap[props.variant]??props.variant??\"dW6QbnDUR\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,rOnTqGIsu,TOAsAcbaX,TCXN5zxa5,L50124giC,UdwOBeoEW,oDaFcesAH,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"dW6QbnDUR\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(gestureVariant===\"mOkZoRKp2-hover\")return false;if(baseVariant===\"mOkZoRKp2\")return false;return true;};const isDisplayed1=value=>{if([\"dW6QbnDUR-hover\",\"mOkZoRKp2-hover\"].includes(gestureVariant))return value;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-wlyng3\",className,classNames),\"data-framer-name\":\"img-swap\",layoutDependency:layoutDependency,layoutId:\"dW6QbnDUR\",ref:refBinding,style:{...style},...addPropertyOverrides({\"dW6QbnDUR-hover\":{\"data-framer-name\":undefined},\"mOkZoRKp2-hover\":{\"data-framer-name\":undefined},JbcWtsOkh:{\"data-framer-name\":\"phone\"},mOkZoRKp2:{\"data-framer-name\":\"img-zoom\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1r17cit\",\"data-framer-name\":\"img-btn\",layoutDependency:layoutDependency,layoutId:\"DqboKnPdU\",children:[/*#__PURE__*/_jsx(Link,{href:UdwOBeoEW,motionChild:true,nodeId:\"Si9ZjxZpl\",openInNewTab:false,scopeId:\"Fi2GkT9k9\",smoothScroll:false,children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1xsrc5c framer-4thhf8\",\"data-framer-name\":\"img\",layoutDependency:layoutDependency,layoutId:\"Si9ZjxZpl\",style:{backgroundColor:\"var(--token-977611e6-b9d8-4d09-809b-8b874fb3d33d, rgb(235, 235, 230))\"},children:[isDisplayed()&&/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+0),sizes:\"400px\",...toResponsiveImage(L50124giC),...{positionX:\"center\",positionY:\"center\"}},className:\"framer-1l8k10g\",\"data-framer-name\":\"img-hover\",layoutDependency:layoutDependency,layoutId:\"qWp93DJaB\",style:{opacity:0},variants:{\"dW6QbnDUR-hover\":{opacity:1}}}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+0),sizes:\"400px\",...toResponsiveImage(TCXN5zxa5)},className:\"framer-1g3p2ok\",\"data-framer-name\":\"img-primary\",layoutDependency:layoutDependency,layoutId:\"b9UJRd7n6\",style:{opacity:1},variants:{\"dW6QbnDUR-hover\":{opacity:0},\"mOkZoRKp2-hover\":{opacity:1}},...addPropertyOverrides({\"mOkZoRKp2-hover\":{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+-25),sizes:\"440px\",...toResponsiveImage(TCXN5zxa5)}}},baseVariant,gestureVariant)})]})}),isDisplayed1(oDaFcesAH)&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-3spb88\",\"data-framer-name\":\"button\",layoutDependency:layoutDependency,layoutId:\"zhMEWYlN1\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:56,...addPropertyOverrides({\"dW6QbnDUR-hover\":{width:`max(${componentViewport?.width||\"100vw\"} * 0.9975 - 16px, 1px)`,y:(componentViewport?.y||0)+0+0+500-72+8},\"mOkZoRKp2-hover\":{width:`max(${componentViewport?.width||\"100vw\"} * 0.9975 - 16px, 1px)`,y:(componentViewport?.y||0)+0+0+500-72+8}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1853dwu-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"XTRL9ZfJz-container\",nodeId:\"XTRL9ZfJz\",rendersWithMotion:true,scopeId:\"Fi2GkT9k9\",children:/*#__PURE__*/_jsx(PurchaseButton,{CtxbSorek:true,gzPkfrIbf:rOnTqGIsu,height:\"100%\",id:\"XTRL9ZfJz\",KAtvUtyrK:true,layoutId:\"XTRL9ZfJz\",style:{width:\"100%\"},width:\"100%\"})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1e3mkw0\",layoutDependency:layoutDependency,layoutId:\"gvZSCyCkG\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-fl0rgf-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"ReTQ6qEsA-container\",nodeId:\"ReTQ6qEsA\",rendersWithMotion:true,scopeId:\"Fi2GkT9k9\",children:/*#__PURE__*/_jsx(FC_ProductStockStatus,{aboveThresholdComponent:[],belowThresholdComponent:[],height:\"100%\",id:\"ReTQ6qEsA\",layoutId:\"ReTQ6qEsA\",outOfStockComponent:[],shopifyProductID:rOnTqGIsu,showAboveThreshold:false,showBelowThreshold:true,showOutOfStock:true,showTotalInventory:true,threshold:5,width:\"100%\"})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-o7oklj\",\"data-framer-name\":\"info\",layoutDependency:layoutDependency,layoutId:\"GhIr6iWlx\",children:[/*#__PURE__*/_jsx(Link,{href:UdwOBeoEW,motionChild:true,nodeId:\"uuSFNyVLM\",openInNewTab:false,scopeId:\"Fi2GkT9k9\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1awfmyq framer-4thhf8\",\"data-framer-name\":\"title\",layoutDependency:layoutDependency,layoutId:\"uuSFNyVLM\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO0NhbGlicmkgUmVndWxhcg==\",\"--framer-font-family\":'\"Calibri Regular\", \"Calibri Regular Placeholder\", sans-serif',\"--framer-letter-spacing\":\"-0.01em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(33, 26, 26)))\"},children:\"Title\"})}),className:\"framer-tyn03t\",fonts:[\"CUSTOM;Calibri Regular\"],layoutDependency:layoutDependency,layoutId:\"nIiPYBWmT\",style:{\"--extracted-r6o4lv\":\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(33, 26, 26))\"},text:TOAsAcbaX,verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-bmuao2\",\"data-framer-name\":\"prices\",layoutDependency:layoutDependency,layoutId:\"E2ERl2Lh4\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ecuv0v-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"ZUpZcFFwC-container\",nodeId:\"ZUpZcFFwC\",rendersWithMotion:true,scopeId:\"Fi2GkT9k9\",children:/*#__PURE__*/_jsx(FC_ProductPrice,{canvasPrice:\"50.00\",format:{currencyCode:\"EUR\",showCurrency:false,showDecimals:\"Always show\",showSymbol:true},height:\"100%\",id:\"ZUpZcFFwC\",layoutId:\"ZUpZcFFwC\",regularColor:\"var(--token-0cf7d27d-8002-409c-8527-e625a989af78, rgb(0, 0, 0))\",regularFont:{fontFamily:'\"Calibri Regular\", \"Calibri Regular Placeholder\", sans-serif',fontSize:\"16px\",letterSpacing:\"0em\",lineHeight:\"20px\"},saleColor:\"rgb(255, 0, 0)\",saleFont:{},shopifyProductID:rOnTqGIsu,width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1yu4gu9-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"ri9GsHqiq-container\",nodeId:\"ri9GsHqiq\",rendersWithMotion:true,scopeId:\"Fi2GkT9k9\",children:/*#__PURE__*/_jsx(FC_ProductPriceCompare,{canvasPrice:\"75.00\",color:\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0))\",font:{fontFamily:'\"Calibri Regular\", \"Calibri Regular Placeholder\", sans-serif',fontSize:\"14px\",letterSpacing:\"-0.02em\",lineHeight:\"1em\"},format:{currencyCode:\"EUR\",showCurrency:false,showDecimals:\"Always show\",showSymbol:true},height:\"100%\",id:\"ri9GsHqiq\",layoutId:\"ri9GsHqiq\",shopifyProductID:rOnTqGIsu,strikethrough:true,strikethroughColor:\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0))\",strikethroughSize:1,width:\"100%\"})})})]})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-yzZfq.framer-4thhf8, .framer-yzZfq .framer-4thhf8 { display: block; }\",\".framer-yzZfq.framer-wlyng3 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: wrap; gap: 16px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 400px; }\",\".framer-yzZfq .framer-1r17cit { aspect-ratio: 0.8 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 500px); overflow: hidden; position: relative; width: 100%; }\",\".framer-yzZfq .framer-1xsrc5c { aspect-ratio: 0.8 / 1; bottom: 0px; flex: none; left: 0px; overflow: hidden; position: absolute; text-decoration: none; top: 0px; width: var(--framer-aspect-ratio-supported, 400px); }\",\".framer-yzZfq .framer-1l8k10g { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); overflow: hidden; position: absolute; top: calc(50.00000000000002% - 100% / 2); width: 100%; z-index: 1; }\",\".framer-yzZfq .framer-1g3p2ok { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); overflow: hidden; position: absolute; top: calc(50.00000000000002% - 100% / 2); width: 100%; z-index: 2; }\",\".framer-yzZfq .framer-3spb88 { align-content: center; align-items: center; bottom: 0px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; left: 50%; overflow: visible; padding: 8px; position: absolute; width: 100%; z-index: 3; }\",\".framer-yzZfq .framer-1853dwu-container { flex: 1 0 0px; height: auto; position: relative; width: 1px; }\",\".framer-yzZfq .framer-1e3mkw0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; left: 0px; overflow: visible; padding: 8px; position: absolute; top: 0px; width: min-content; }\",\".framer-yzZfq .framer-fl0rgf-container, .framer-yzZfq .framer-1ecuv0v-container, .framer-yzZfq .framer-1yu4gu9-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-yzZfq .framer-o7oklj { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-yzZfq .framer-1awfmyq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: 100%; }\",\".framer-yzZfq .framer-tyn03t { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-yzZfq .framer-bmuao2 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-yzZfq.framer-v-1v97a8v.framer-wlyng3 { cursor: unset; }\",\".framer-yzZfq.framer-v-u0n6ae.hover .framer-1g3p2ok { height: 110%; left: calc(50.00000000000002% - 110.00000000000001% / 2); top: -25px; width: 110%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 560\n * @framerIntrinsicWidth 400\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"mOkZoRKp2\":{\"layout\":[\"fixed\",\"auto\"]},\"JbcWtsOkh\":{\"layout\":[\"fixed\",\"auto\"]},\"wIxJs7mh5\":{\"layout\":[\"fixed\",\"auto\"]},\"cgolnvkuW\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"rOnTqGIsu\":\"productID\",\"TOAsAcbaX\":\"title\",\"TCXN5zxa5\":\"image1\",\"L50124giC\":\"image2\",\"UdwOBeoEW\":\"link\",\"oDaFcesAH\":\"quickAdd\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerFi2GkT9k9=withCSS(Component,css,\"framer-yzZfq\");export default FramerFi2GkT9k9;FramerFi2GkT9k9.displayName=\"FC Product / productCard\";FramerFi2GkT9k9.defaultProps={height:560,width:400};addPropertyControls(FramerFi2GkT9k9,{variant:{options:[\"dW6QbnDUR\",\"mOkZoRKp2\",\"JbcWtsOkh\"],optionTitles:[\"img-swap\",\"img-zoom\",\"phone\"],title:\"Variant\",type:ControlType.Enum},rOnTqGIsu:{defaultValue:\"\",description:\"\",title:\"Product ID\",type:ControlType.String},TOAsAcbaX:{defaultValue:\"Title\",title:\"Title\",type:ControlType.String},TCXN5zxa5:{title:\"Image 1\",type:ControlType.ResponsiveImage},L50124giC:{title:\"Image 2\",type:ControlType.ResponsiveImage},UdwOBeoEW:{title:\"Link\",type:ControlType.Link},oDaFcesAH:{defaultValue:false,title:\"Quick Add\",type:ControlType.Boolean}});addFonts(FramerFi2GkT9k9,[{explicitInter:true,fonts:[{family:\"Calibri Regular\",source:\"custom\",url:\"https://framerusercontent.com/assets/cOURpm6zXn0xIDyWqwoeqwG9Y.woff2\"}]},...PurchaseButtonFonts,...FC_ProductStockStatusFonts,...FC_ProductPriceFonts,...FC_ProductPriceCompareFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerFi2GkT9k9\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"mOkZoRKp2\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"JbcWtsOkh\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"wIxJs7mh5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"cgolnvkuW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"rOnTqGIsu\\\":\\\"productID\\\",\\\"TOAsAcbaX\\\":\\\"title\\\",\\\"TCXN5zxa5\\\":\\\"image1\\\",\\\"L50124giC\\\":\\\"image2\\\",\\\"UdwOBeoEW\\\":\\\"link\\\",\\\"oDaFcesAH\\\":\\\"quickAdd\\\"}\",\"framerIntrinsicHeight\":\"560\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Fi2GkT9k9.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", "e", "_matchingProduct", "window", "_product", "matchingVariant", "node", "option", "detailOption", "handleCurrencyChange", "event", "currency", "countryCode", "country", "activeOption", "handleProductsReady", "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", "initializeStore", "window", "getUTMParameters", "originalPushState", "originalReplaceState", "error", "FC_ProductPurchaseButton", "props", "shopifyProductID", "available", "OutOfStock", "SelectVariant", "LoadingState", "shopifyProductVariantId", "BuyNowATC", "title", "required", "openCart", "product", "setProduct", "ye", "activeVariant", "setActiveVariant", "isInStock", "setIsInStock", "needsVariantSelection", "setNeedsVariantSelection", "isLoading", "setIsLoading", "shouldShowLoading", "setShouldShowLoading", "hasInitialized", "setHasInitialized", "countryCode", "setCountryCode", "isBrowser", "useIsBrowser", "planSelected", "setPlanSelected", "cartExistingData", "setCartExistingData", "errorMessage", "setErrorMessage", "productQuantity", "setProductQuantity", "viewContentFired", "pe", "autoSelectFirst", "setAutoSelectFirst", "autoSelectReceived", "setAutoSelectReceived", "isVariantManuallySelected", "setIsVariantManuallySelected", "ue", "handleAutoSelectFlag", "event", "calculateTotalInventory", "te", "productData", "get_default", "total", "node", "isVariantAvailable", "variant", "window", "savedCartId", "cartQuery", "data", "error", "handleSubscriptionChange", "handleQuantityChange", "handleCurrencyChange", "existingCartId", "updateData", "updateCartCurrency", "handleSingleVariantProduct", "productNode", "variants", "handleProductData", "_matchingProduct", "variantId", "matchingVariant", "firstAvailableVariant", "edge", "hasMultipleVariants", "optionsCount", "anyVariantAvailable", "productsReadyHandler", "matchingProduct", "variantChangeHandler", "e", "currency", "value", "item_id", "item_name", "price", "handleSingleVariantProducts", "handleSubscription", "mutation", "variables", "handleCartMutation", "isValidId", "id", "fullId", "orderFieldError", "setOrderFieldError", "logDebug", "message", "validateOrderField", "productSpecificKey", "storedAttributes", "parsedAttrs", "hasValidValue", "isValid", "handleOrderFieldChange", "isInputRequired", "setIsInputRequired", "checkInputRequirement", "configKey", "config", "getLineItem", "merchandiseId", "lineItem", "stored", "attributes", "key", "maxQuantityReached", "setMaxQuantityReached", "getCurrentCartQuantity", "handleAddToCart", "currentCartQuantity", "totalRequestedQuantity", "adjustedQuantity", "inputElement", "currentInputValue", "attrValue", "lines", "cartData", "addToCartMutation", "activeProduct", "createCartMutation", "checkoutUrl", "finalCheckoutUrl", "appendUTMParamsToUrl", "appendLanguageToUrl", "cartId", "updateCartAttributes", "timer", "content", "RenderTarget", "canAddToCart", "handleClick", "shouldBeAtMax", "clonedElement", "q", "p", "debugInfo", "u", "currentInCart", "remainingAllowed", "handleQuantityMaxReached", "productId", "maxQuantity", "addPropertyControls", "ControlType", "FC_ProductVariantState", "props", "shopifyProductID", "textTemplate", "product", "setProduct", "ye", "selectedOptions", "setSelectedOptions", "handleVariantSelection", "te", "event", "prev", "ue", "window", "_matchingProduct", "_product", "e", "handleCurrencyChange", "currency", "remainingOptions", "get_default", "opt", "displayText", "p", "addPropertyControls", "ControlType", "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", "e", "_matchingProduct", "window", "_product", "matchingVariant", "node", "option", "detailOption", "handleCurrencyChange", "event", "currency", "countryCode", "country", "activeOption", "handleProductsReady", "handleSubscriptionPriceUpdate", "_currencyCode", "se", "variantCurrency", "get_default", "productCurrency", "showMockValues", "RenderTarget", "formatPriceWithOptions", "numericPrice", "currCode", "symbolSameAsCode", "locale", "getLocaleFromCountry", "decimalDigits", "navigator", "number", "text", "amount", "compareAtPrice", "numericValue", "hasValidCompareAtPrice", "p", "addPropertyControls", "ControlType", "Indicators", "DotWave", "color", "animation", "circles", "delay", "ease", "duration", "animProps", "transition", "p", "motion", "circle", "Material", "IOS", "arrayRotate", "arr", "n", "lines", "l", "i", "lineOpacities", "lineKeyframes", "getIndicator", "indicator", "props", "Indicators", "handleTimeout", "callback", "id", "Loading", "onTimeout", "fadeOut", "hasDuration", "onClick", "onMouseDown", "onMouseUp", "onMouseEnter", "onMouseLeave", "style", "controls", "useAnimation", "animDuration", "animDelay", "currentIndicator", "handlers", "pe", "onFadeOut", "te", "resetOpacity", "useOnEnter", "useOnExit", "cleanup", "ue", "addPropertyControls", "ControlType", "defaultEvents", "fontStore", "variationAxes", "fonts", "css", "className", "FC_ProductPriceFonts", "getFonts", "FC_ProductPrice", "FC_ProductVariantStateFonts", "FC_ProductVariantState", "LoadingFonts", "Loading", "enabledGestures", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "t", "transformTemplate2", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "productID", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "elgRTGdr9", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "isDisplayed", "isDisplayed1", "isDisplayed2", "isDisplayed3", "LayoutGroup", "u", "RichText2", "ComponentViewportProvider", "SmartComponentScopedContainer", "css", "FramertmZW16Ab4", "withCSS", "tmZW16Ab4_default", "addPropertyControls", "ControlType", "addFonts", "getFontsFromSharedStyle", "fonts", "LocalDesignFonts", "getFonts", "tmZW16Ab4_default", "FC_ProductPurchaseButtonFonts", "FC_ProductPurchaseButton", "serializationHash", "variantClassNames", "transition1", "convertFromBoolean", "value", "activeLocale", "Transition", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "height", "id", "productID", "quickAdd", "skipLoading", "width", "props", "createLayoutDependency", "variants", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "variant", "gzPkfrIbf", "CtxbSorek", "KAtvUtyrK", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "variantClassNames", "layoutDependency", "scopingClassNames", "cx", "serializationHash", "LayoutGroup", "ComponentViewportProvider", "SmartComponentScopedContainer", "FC_ProductPurchaseButton", "tmZW16Ab4_default", "css", "FramerUnsogWI8Z", "withCSS", "UnsogWI8Z_default", "addPropertyControls", "ControlType", "addFonts", "LocalDesignFonts", "FC_ProductPurchaseButtonFonts", "FC_ProductStockStatus", "props", "RenderTarget", "p", "threshold", "aboveThresholdComponent", "belowThresholdComponent", "outOfStockComponent", "showTotalInventory", "showOutOfStock", "showAboveThreshold", "showBelowThreshold", "quantityAvailable", "setQuantityAvailable", "ye", "hasSelectedVariant", "setHasSelectedVariant", "totalInventory", "setTotalInventory", "isInfiniteInventory", "setIsInfiniteInventory", "ue", "handleVariantChange", "e", "activeVariant", "expectedProductId", "processProduct", "product", "variants", "edge", "hasVariants", "hasInfiniteInventory", "variant", "total", "sum", "handleProductsReady", "matchingProduct", "window", "getStockMessage", "displayQuantity", "shouldShow", "isHidden", "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", "e", "expectedProductId", "detailOption", "handleProductsReady", "products", "p", "addPropertyControls", "ControlType", "PurchaseButtonFonts", "getFonts", "UnsogWI8Z_default", "FC_ProductStockStatusFonts", "FC_ProductStockStatus", "FC_ProductPriceFonts", "FC_ProductPrice", "FC_ProductPriceCompareFonts", "FC_ProductPriceCompare", "enabledGestures", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "toResponsiveImage", "value", "transformTemplate1", "_", "t", "Transition", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "image1", "image2", "link", "productID", "quickAdd", "title", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "rOnTqGIsu", "TOAsAcbaX", "TCXN5zxa5", "L50124giC", "UdwOBeoEW", "oDaFcesAH", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "isDisplayed", "isDisplayed1", "LayoutGroup", "u", "Link", "Image2", "getLoadingLazyAtYPosition", "ComponentViewportProvider", "SmartComponentScopedContainer", "RichText2", "css", "FramerFi2GkT9k9", "withCSS", "Fi2GkT9k9_default", "addPropertyControls", "ControlType", "addFonts"]
}
