{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/nmcXOfqyZCqhWxxIBrY9/HAS96RW0fKONZZYDrbPE/FormatPrice.js", "ssg:https://framerusercontent.com/modules/N07JJZfuMtyHijtiRRgH/tlDMBeQ63QEagCEZGLDy/FC_ProductPrice.js", "ssg:https://framerusercontent.com/modules/rpJWUDllqgG1I15joaTE/zKjzJkHzxOofr47D1KLe/usp9YfSzC.js"],
  "sourcesContent": ["import{get}from\"lodash-es\";export const formatPrice=(price,currencyCode,showCurrencyCode,currencyCodePosition,_currencySymbolConfig=get(window,\"__FcCurrencyConfigs.currencySymbol\"))=>{if(!price)return\"\";const _currencySymbol=get(window,`__currencyMap.${currencyCode}`)||\"$\";const _hideDecimalsIfNotNecessary=get(window,\"__FcCurrencyConfigs.hideDecimals\",false);const spaceAfterValue=get(window,\"__FcCurrencyConfigs.spaceAfterValue\",false)?\" \":\"\";const spaceBeforeValue=get(window,\"__FcCurrencyConfigs.spaceBeforeValue\",false)?\" \":\"\";let formattedPrice=parseFloat(price).toLocaleString(\"en-US\",{minimumFractionDigits:_hideDecimalsIfNotNecessary?0:2,maximumFractionDigits:_hideDecimalsIfNotNecessary?2:2});// Handle currency symbol position\nif(_currencySymbolConfig===\"Right\"){formattedPrice=`${formattedPrice}${spaceAfterValue}${_currencySymbol}`;}else if(_currencySymbolConfig===\"Left\"){formattedPrice=`${_currencySymbol}${spaceBeforeValue}${formattedPrice}`;}// If Hide, just keep the formatted price\n// Handle currency code position if showing\nif(showCurrencyCode){if(currencyCodePosition===\"Right\"){formattedPrice=`${formattedPrice} ${currencyCode}`;}else if(currencyCodePosition===\"Left\"){formattedPrice=`${currencyCode} ${formattedPrice}`;}}return formattedPrice.trim();};export const formatPriceNoCurrencyCode=(price,currencyCode,_showCurrencyCode=false)=>{if(!price)return\"\";const _currencySymbol=get(window,`__currencyMap.${currencyCode}`)||\"$\";const _currencySymbolConfig=get(window,\"__FcCurrencyConfigs.currencySymbol\");const _hideDecimalsIfNotNecessary=get(window,\"__FcCurrencyConfigs.hideDecimals\",false);const spaceAfterValue=get(window,\"__FcCurrencyConfigs.spaceAfterValue\",false)?\" \":\"\";const spaceBeforeValue=get(window,\"__FcCurrencyConfigs.spaceBeforeValue\",false)?\" \":\"\";let formattedPrice=parseFloat(price).toLocaleString(\"en-US\",{minimumFractionDigits:_hideDecimalsIfNotNecessary?0:2,maximumFractionDigits:_hideDecimalsIfNotNecessary?2:2});// Handle currency symbol position\nif(_currencySymbolConfig===\"Right\"){formattedPrice=`${formattedPrice}${spaceAfterValue}${_currencySymbol}`;}else if(_currencySymbolConfig===\"Left\"){formattedPrice=`${_currencySymbol}${spaceBeforeValue}${formattedPrice}`;}// If Hide, just keep the formatted price\n// Add currency code if specifically requested\nif(_showCurrencyCode){formattedPrice=`${currencyCode} ${formattedPrice}`;}return formattedPrice.trim();};\nexport const __FramerMetadata__ = {\"exports\":{\"formatPrice\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatPriceNoCurrencyCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormatPrice.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{useEffect,useMemo,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{get}from\"lodash-es\";import{formatPrice}from\"https://framerusercontent.com/modules/nmcXOfqyZCqhWxxIBrY9/HAS96RW0fKONZZYDrbPE/FormatPrice.js\";import{useIsBrowser}from\"https://framerusercontent.com/modules/ncBs5KPMI9I5GEta13fn/zGXDjuZapa1SGy6D8P5e/IsBrowser.js\";import{currencyMaps}from\"https://framerusercontent.com/modules/k9s4cejdkBGDjmzudhzM/tAHhR6i1cMDw5f9ygI29/currencyMaps.js\";/**\n * @framerDisableUnlink\n */export default function FC_ProductPrice(props){const{shopifyProductID,showCurrency,showSymbol,canvasPrice}=props;const isBrowser=useIsBrowser();const[product,setProduct]=useState();const[activeVariant,setActiveVariant]=useState();const[subscriptionPrice,setSubscriptionPrice]=useState(null);// Get currency formatting options at component level\nconst currencyFormatConfig=useMemo(()=>{const isCanvas=RenderTarget.current()===RenderTarget.canvas;const config={showSymbol:props.showSymbol,showCode:props.showCurrency,symbolPosition:window?.__FcCurrencyConfigs?.currencySymbol||\"Left\",codePosition:window?.__FcCurrencyConfigs?.currencyPosition||\"Left\"};return config;},[props.showSymbol,props.showCurrency]);const[currencyConfig,setCurrencyConfig]=useState(()=>{const config=typeof window!==\"undefined\"?{position:window?.__FcCurrencyConfigs?.currencyPosition||\"Before\",showCode:window?.__FcCurrencyConfigs?.currencyPosition!==\"Hide\",symbol:window?.__FcCurrencyConfigs?.currencySymbol!==\"Hide\"?window?.__FcCurrencyConfigs?.currencySymbol:\"\"}:{position:\"Before\",showCode:false,symbol:\"$\"};return config;});// Move window-dependent initialization to useEffect\nuseEffect(()=>{if(!isBrowser)return;const handleCurrencyChange=e=>{if(!e.detail?.current)return;const position=window?.__FcCurrencyConfigs?.currencyPosition||\"Before\";const symbol=window?.__FcCurrencyConfigs?.currencySymbol||\"$\";const newConfig={position:position,showCode:position!==\"Hide\",symbol:symbol!==\"Hide\"?symbol:\"\"};setCurrencyConfig(newConfig);};document.addEventListener(\"currency__settings-updated\",handleCurrencyChange);return()=>{document.removeEventListener(\"currency__settings-updated\",handleCurrencyChange);};},[isBrowser]);useEffect(()=>{if(!isBrowser)return;const handleVariantChange=e=>{if(e.detail){const expectedProductId=`gid://shopify/Product/${shopifyProductID}`;if(!e.detail.productId||e.detail.productId!==expectedProductId){return;}setActiveVariant(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);}}};// Initial check for existing products\nif(window[\"shopXtools\"]?.products){if(Array.isArray(window[\"shopXtools\"].products)){const _matchingProduct=window[\"shopXtools\"].products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);setProduct(_matchingProduct?_matchingProduct.node:\"404\");// If there's only one variant, set it as active\nif(_matchingProduct?.node?.variants?.edges?.length===1){setActiveVariant(_matchingProduct.node.variants.edges[0].node);}}}// Add event listeners\ndocument.addEventListener(\"data__products-ready\",handleProductsReady);document.addEventListener(\"product__active-variant__changed\",handleVariantChange);// Cleanup\nreturn()=>{document.removeEventListener(\"data__products-ready\",handleProductsReady);document.removeEventListener(\"product__active-variant__changed\",handleVariantChange);};},[isBrowser]);useEffect(()=>{if(!isBrowser)return;const handleVariantChange=e=>{// Use standard DOM events\ndocument.addEventListener(\"variant_changed\",handleVariantChange);return()=>{document.removeEventListener(\"variant_changed\",handleVariantChange);};};return()=>{document.removeEventListener(\"variant_changed\",handleVariantChange);};},[isBrowser]);// Add subscription price listener\nuseEffect(()=>{if(!isBrowser)return;const handleSubscriptionPriceUpdate=e=>{if(e.detail?.price){setSubscriptionPrice(e.detail.price);}else{setSubscriptionPrice(null);}};document.addEventListener(\"subscription__price-update\",handleSubscriptionPriceUpdate);return()=>{document.removeEventListener(\"subscription__price-update\",handleSubscriptionPriceUpdate);};},[isBrowser]);const _currencyCode=useMemo(()=>{const variantCurrency=get(activeVariant,\"priceV2.currencyCode\");const productCurrency=get(product,\"priceRange.minVariantPrice.currencyCode\");return variantCurrency||productCurrency||\"USD\";},[activeVariant,product]);const priceToShow=useMemo(()=>{// If there's a subscription price, use it\nlet amount=subscriptionPrice||(activeVariant?get(activeVariant,\"priceV2.amount\"):get(product,\"priceRange.minVariantPrice.amount\"));// Clean and format amount\nif(typeof amount===\"string\"){amount=amount.replace(/[^0-9.]/g,\"\");const parts=amount.split(\".\");if(parts.length>2){amount=parts[0]+\".\"+parts.slice(1).join(\"\");}}if(typeof amount!==\"number\"){amount=parseFloat(amount);}if(isNaN(amount)){amount=0;}// Format the base amount without any currency symbols\nconst formattedAmount=amount.toFixed(2);// For canvas view, always show as $XX.XX USD if showCurrencyCode is true\nif(RenderTarget.current()===RenderTarget.canvas){const showSymbol=currencyFormatConfig.showSymbol;const showCode=currencyFormatConfig.showCode;const symbol=showSymbol?\"$\":\"\";const code=showCode?\"USD\":\"\";return`${symbol}${formattedAmount}${code?` ${code}`:\"\"}`;}// For browser view, use props to determine what to show\nconst symbol=currencyFormatConfig.showSymbol?currencyMaps[_currencyCode]||\"$\":\"\";const code=currencyFormatConfig.showCode?_currencyCode:\"\";// Build the price string based on positions\nlet result=formattedAmount;// Add symbol based on its position\nif(symbol){if(currencyFormatConfig.symbolPosition===\"Right\"){result=`${result}${symbol}`;}else{result=`${symbol}${result}`;}}// Add currency code based on its position\nif(code){if(currencyFormatConfig.codePosition===\"Right\"){result=`${result} ${code}`;}else{result=`${code} ${result}`;}}return result.trim();},[subscriptionPrice,activeVariant,product,_currencyCode,currencyFormatConfig]);const showMockValues=useMemo(()=>isBrowser&&window.location.origin.endsWith(\"framercanvas.com\"),[isBrowser]);const compareAtPrice=useMemo(()=>formatPrice(activeVariant?get(activeVariant,\"compareAtPriceV2.amount\"):get(product,\"compareAtPriceRange.minVariantPrice.amount\"),_currencyCode,currencyConfig.showCode,currencyConfig.position),[activeVariant,product,_currencyCode,currencyConfig]);const numericValue=useMemo(()=>parseFloat(compareAtPrice.replace(/[^\\d.-]/g,\"\")),[compareAtPrice]);const hasValidCompareAtPrice=!isNaN(numericValue)&&numericValue>0;const text=useMemo(()=>{if(!isBrowser)return\"\";if(showMockValues){const mockPrice=props.canvasPrice||\"50.00\";const showSymbol=currencyFormatConfig.showSymbol;const showCode=currencyFormatConfig.showCode;const symbol=showSymbol?\"$\":\"\";const code=showCode?\" USD\":\"\";return`${symbol}${mockPrice}${code}`;}return priceToShow;},[priceToShow,showMockValues,isBrowser,currencyFormatConfig,_currencyCode,props.canvasPrice]);// Return placeholder during SSR\nif(!isBrowser){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-flex\"}});}return /*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-flex\"},children:/*#__PURE__*/_jsx(\"p\",{style:{margin:0,...props[hasValidCompareAtPrice?\"saleFont\":\"regularFont\"],color:props[hasValidCompareAtPrice?\"saleColor\":\"regularColor\"]},children:text})});}// Property controls remain the same\nFC_ProductPrice.defaultProps={shopifyProductID:\"\",showCurrency:true,showSymbol:true,canvasPrice:\"50.00\"};addPropertyControls(FC_ProductPrice,{shopifyProductID:{type:ControlType.String,title:\"Product ID\",description:\"Connect to CMS\"},canvasPrice:{type:ControlType.String,title:\"Canvas Price\",description:\"Price to show in canvas view\",defaultValue:\"50.00\"},showCurrency:{type:ControlType.Boolean,title:\"Currency\",defaultValue:true},showSymbol:{type:ControlType.Boolean,title:\"Symbol\",defaultValue:true},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\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductPrice.map", "// Generated by Framer (4ba8877)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Bagnard Regular\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Bagnard Regular\",source:\"custom\",url:\"https://framerusercontent.com/assets/5hxqwAN0YGu7i98uUDtw8ZH5lFs.woff2\"}]}];export const css=['.framer-IT51t .framer-styles-preset-1y64r1:not(.rich-text-wrapper), .framer-IT51t .framer-styles-preset-1y64r1.rich-text-wrapper h3 { --framer-font-family: \"Bagnard Regular\", \"Bagnard Regular Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 13px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0.23em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #333333; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-IT51t .framer-styles-preset-1y64r1:not(.rich-text-wrapper), .framer-IT51t .framer-styles-preset-1y64r1.rich-text-wrapper h3 { --framer-font-family: \"Bagnard Regular\", \"Bagnard Regular Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0.23em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #333333; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-IT51t .framer-styles-preset-1y64r1:not(.rich-text-wrapper), .framer-IT51t .framer-styles-preset-1y64r1.rich-text-wrapper h3 { --framer-font-family: \"Bagnard Regular\", \"Bagnard Regular Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 11px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0.23em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #333333; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }'];export const className=\"framer-IT51t\";\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\"}}}"],
  "mappings": "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",
  "names": ["formatPrice", "price", "currencyCode", "showCurrencyCode", "currencyCodePosition", "_currencySymbolConfig", "get_default", "window", "_currencySymbol", "_hideDecimalsIfNotNecessary", "spaceAfterValue", "spaceBeforeValue", "formattedPrice", "FC_ProductPrice", "props", "shopifyProductID", "showCurrency", "showSymbol", "canvasPrice", "isBrowser", "useIsBrowser", "product", "setProduct", "ye", "activeVariant", "setActiveVariant", "subscriptionPrice", "setSubscriptionPrice", "currencyFormatConfig", "se", "isCanvas", "RenderTarget", "window", "currencyConfig", "setCurrencyConfig", "ue", "handleCurrencyChange", "e", "position", "symbol", "handleVariantChange", "expectedProductId", "handleProductsReady", "_matchingProduct", "_product", "handleSubscriptionPriceUpdate", "_currencyCode", "variantCurrency", "get_default", "productCurrency", "priceToShow", "amount", "parts", "formattedAmount", "showCode", "code", "currencyMaps", "result", "showMockValues", "compareAtPrice", "formatPrice", "numericValue", "hasValidCompareAtPrice", "text", "mockPrice", "p", "addPropertyControls", "ControlType", "fontStore", "fonts", "css", "className"]
}
