{"version":3,"file":"Shopify_ProductAddToCart.Br4cuy-R.mjs","names":["styles","p"],"sources":["https:/framerusercontent.com/modules/xEahqZEsyG5uoZky61jQ/yMYjCncXBsxOaKoj8nUI/_useProduct.js","https:/framerusercontent.com/modules/IySki7zU6gj9mB2w3PpE/KaftJMzRSGJGDjgUpfw1/Shopify_ProductVariantSelector.js","https:/framerusercontent.com/modules/5RNyIzBVhOLYhJjEkl69/CL32zvCyc8cQXIdAa3uE/_useLoadScript.js","https:/framerusercontent.com/modules/PK54QWHW6tRgZKNp6Vfx/2yQh6vckvk7AhmiRTBWy/Shopify_ShopPayButton.js","https:/framerusercontent.com/modules/sLbkDuXdCdpfHR6EbULm/s7fMRimeStvBe5mHY38U/Shopify_ProductAddToCart.js"],"sourcesContent":["import{useState,useEffect,useMemo}from\"react\";import{useAtom}from\"jotai\";import{useShopify}from\"https://framerusercontent.com/modules/tdCHCV0pSkxlDaX5GkOX/SxZI1Y5OuGrQCk85U8Xt/_useShopify.js\";import{priceCode}from\"https://framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/NrF60tPHZRRgADqpoRFr/_utils.js\";import{selectedProductsAtom}from\"https://framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/GNI9VoSkUDyJw3EMOM7K/_atoms.js\";import{DefaultProduct}from\"https://framerusercontent.com/modules/fWwtzMT2tYXMW4IKB8On/1dFHOQ0gPjMC0e1WUStY/_test_data.js\";const DefaultSelectedOption={quantity:1,quantityAvailable:null,selectedOption:null,sellingPlan:null};export function useProduct(productID,config,addToSelected){const[selectedProducts,setSelectedProducts]=useAtom(selectedProductsAtom);const{products}=useShopify(config);const[product,setProduct]=useState(config?.testMode?DefaultProduct:null);const selected=product?.id?selectedProducts[product.id]:null;// get price and compare price\nconst getPrice=(camparePrice,price)=>{const comparePriceValue=camparePrice&&camparePrice.amount!==\"0.0\"?priceCode(camparePrice,config):null;const priceValue=priceCode(price,config);return{camparePrice:comparePriceValue!==priceValue?comparePriceValue:null,price:priceValue};};const changeQuantity=quantity=>{if(!product)return;setSelectedProducts(state=>({...state,[product.id]:{...DefaultSelectedOption,...state[product.id],quantity}}));};const selectVariant=(item,sellingPlan)=>{if(!product)return;setSelectedProducts(state=>({...state,[product.id]:{...DefaultSelectedOption,...state[product.id],sellingPlan,quantityAvailable:item.quantityAvailable,selectedOption:item.id}}));};// set first variant as default selected when addToSelected is true\nuseEffect(()=>{if(product&&addToSelected){const defaultVariant=product.variants.nodes[0];setSelectedProducts(state=>({...state,[product.id]:{...DefaultSelectedOption,quantityAvailable:defaultVariant.quantityAvailable,selectedOption:defaultVariant.id}}));return()=>{setSelectedProducts(state=>({...state,[product.id]:null}));};}},[product,addToSelected]);// set product when productID found\nuseEffect(()=>{const foundProduct=products.find(item=>item.id===productID);if(foundProduct){setProduct(config?.testMode?DefaultProduct:foundProduct);}},[products,productID,config?.testMode]);// return result with two mode: when variant selected and when not selected\nconst result=useMemo(()=>{if(!product)return{product:null,availableForSale:null,multiplePrice:null,price:null,stock:null,selectedVariant:null,selectedProduct:null};const selectedVariant=product.variants.nodes.find(item=>item.id===selected?.selectedOption);if(selectedVariant){const selectedSellingPlan=selectedVariant?.sellingPlanAllocations?.nodes.find(item=>item.sellingPlan.id===selected?.sellingPlan);const{compareAtPriceV2,availableForSale,priceV2,quantityAvailable}=selectedVariant;const price=selectedSellingPlan?.checkoutChargeAmount??priceV2;return{product,price:getPrice(compareAtPriceV2,price),multiplePrice:false,availableForSale,stock:quantityAvailable,selectedVariant,selectedProduct:selected};}const{compareAtPriceRange,priceRange,availableForSale,totalInventory}=product??{};const multiplePrice=priceRange.minVariantPrice.amount!==priceRange.maxVariantPrice.amount;return{product,price:getPrice(compareAtPriceRange.minVariantPrice,priceRange.minVariantPrice),multiplePrice,availableForSale,stock:totalInventory,selectedVariant:null,selectedProduct:selected};},[product,selected,config?.languageIsoCode,config?.countryIsoCode]);return{...result,changeQuantity,selectVariant};}\nexport const __FramerMetadata__ = {\"exports\":{\"useProduct\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{cn,ProductBaseControls,ConfigControls,textProperties,isOnCanvas}from\"https://framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/GXn1lJ5V4nUwhRO9yQKC/_framer_utils.js\";import{useProduct}from\"https://framerusercontent.com/modules/xEahqZEsyG5uoZky61jQ/yMYjCncXBsxOaKoj8nUI/_useProduct.js\";import ComponentWrapper from\"https://framerusercontent.com/modules/hQlZBgGeLDev5WuUJA4d/6ncqGCEKZWsfLWpBe7Jn/ComponentWrapper.js\";function isValidColor(strColor){// Normalize input - trim whitespace and convert to lowercase\nconst color=(strColor||\"\").toLowerCase().trim();if(!color)return false;// For better testing of hex values and RGB\nconst hexPattern=/^#([0-9A-F]{3}){1,2}$/i;const rgbPattern=/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i;const rgbaPattern=/^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d*(?:\\.\\d+)?)\\s*\\)$/i;if(hexPattern.test(color)||rgbPattern.test(color)||rgbaPattern.test(color)){return true;}// Standard CSS named colors\nconst CSS_COLORS=new Set([\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"black\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"rebeccapurple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\",// Special color values\n\"transparent\",\"currentcolor\",\"inherit\",\"initial\",\"unset\"]);// Check if it's a standard CSS color name\nif(CSS_COLORS.has(color)){return true;}// If in browser environment, use DOM as fallback\nif(typeof document!==\"undefined\"){const element=document.createElement(\"div\");element.style.color=\"\";element.style.color=strColor;return element.style.color!==\"\";}return false;}/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function Shopify_ProductVariantSelector(props){const{product,selectedVariant,selectVariant}=useProduct(props.productID??null,props.config,true);const[selectedOptions,setSelectedOptions]=useState({});const options=product?.options?.filter(item=>item.name!==\"Title\")??[];useEffect(()=>{if(selectedVariant){const opt={};selectedVariant?.selectedOptions.forEach(item=>{opt[item.name]=item.value;});setSelectedOptions(opt);}},[selectedVariant]);useEffect(()=>{if(product){const findedVariant=product.variants.nodes.find(variant=>{let isAllSelected=true;variant.selectedOptions.forEach(i=>{if(!selectedOptions[i.name]||selectedOptions[i.name]!==i.value){isAllSelected=false;}});return isAllSelected;});if(findedVariant){selectVariant(findedVariant,null);}}},[selectedOptions,product]);return /*#__PURE__*/_jsx(ComponentWrapper,{style:cn(styles.container,props.wrapper),hidden:!product||options.length===0,productID:props.productID||\"EMPTY\",config:props.config,children:options.map(option=>/*#__PURE__*/_jsxs(\"div\",{style:styles.optionWrapper,children:[/*#__PURE__*/_jsx(\"span\",{style:cn(props.label),children:option.name}),/*#__PURE__*/_jsx(\"div\",{style:cn(styles.valuesWrapper),children:option.values.map(value=>{const isSelected=selectedOptions[option.name]===value;const animateStyle=isSelected?cn(props.selectedOption):{};return /*#__PURE__*/_jsxs(motion.button,{type:\"button\",onClick:()=>{setSelectedOptions(state=>({...state,[option.name]:value}));},style:cn(styles.option,props.variant,isOnCanvas()&&animateStyle),animate:{...animateStyle},transition:{duration:.2},children:[props.supportColors&&isValidColor(value.toLowerCase())&&/*#__PURE__*/_jsx(\"div\",{style:cn(props.colorVariant,{width:props.colorVariant.size,height:props.colorVariant.size,background:value})}),value]},value);})})]},option.id))});}Shopify_ProductVariantSelector.displayName=\"Product Variant Selector\";addPropertyControls(Shopify_ProductVariantSelector,{...ConfigControls,...ProductBaseControls,wrapper:{type:ControlType.Object,buttonTitle:\"Style\",controls:{gap:{type:ControlType.Number,defaultValue:16,min:0},flexDirection:{title:\"Direction\",type:ControlType.Enum,options:[\"row\",\"column\"],optionTitles:[\"Row\",\"Column\"],defaultValue:\"column\"}}},label:{type:ControlType.Object,buttonTitle:\"Style\",controls:{display:{title:\"Visibility\",type:ControlType.Enum,options:[\"block\",\"none\"],optionTitles:[\"Visible\",\"Hidden\"],defaultValue:\"column\"},...textProperties(14,\"#919191\")}},variant:{type:ControlType.Object,buttonTitle:\"Style\",controls:{...textProperties(16,\"#666666\"),backgroundColor:{type:ControlType.Color,defaultValue:\"#F5F5F5\",optional:true},border:{type:ControlType.Border,defaultValue:{borderWidth:0}},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"10px\"},gap:{type:ControlType.Number,defaultValue:4,min:0},padding:{type:ControlType.Padding,defaultValue:\"10px 16px 10px 16px\"}}},selectedOption:{type:ControlType.Object,buttonTitle:\"Style\",controls:{color:{type:ControlType.Color,defaultValue:\"#fff\",optional:true},backgroundColor:{type:ControlType.Color,defaultValue:\"#000\",optional:true},border:{type:ControlType.Border,defaultValue:{borderWidth:0}}}},supportColors:{type:ControlType.Boolean,description:\"Show colors nested with their color names\",defaultValue:false},colorVariant:{type:ControlType.Object,buttonTitle:\"Style\",hidden:p=>!p.supportColors,controls:{borderRadius:{type:ControlType.BorderRadius,defaultValue:\"12px\"},size:{type:ControlType.Number,defaultValue:12,min:0},border:{type:ControlType.Border,defaultValue:{borderWidth:0}}}}});const styles={container:{display:\"flex\",flexWrap:\"wrap\"},option:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",cursor:\"pointer\"},optionWrapper:{display:\"flex\",flexDirection:\"column\",gap:6},valuesWrapper:{display:\"flex\",gap:8,flexWrap:\"wrap\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Shopify_ProductVariantSelector\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Shopify_ProductVariantSelector.map","import{useState,useEffect}from\"react\";const SCRIPTS_LOADED={};export function loadScript(src,options){const isScriptLoaded=SCRIPTS_LOADED[src];// eslint-disable-next-line @typescript-eslint/no-misused-promises\nif(isScriptLoaded){return isScriptLoaded;}const promise=new Promise((resolve,reject)=>{const script=document.createElement(\"script\");if(options===null||options===void 0?void 0:options.module){script.type=\"module\";}else{script.type=\"text/javascript\";}script.src=src;script.onload=()=>{resolve(true);};script.onerror=()=>{reject(false);};if((options===null||options===void 0?void 0:options.in)===\"head\"){document.head.appendChild(script);}else{document.body.appendChild(script);}const attributes=options===null||options===void 0?void 0:options.attributes;if(attributes){Object.keys(attributes).forEach(key=>{script.setAttribute(key,attributes[key]);});}});SCRIPTS_LOADED[src]=promise;return promise;}/**\n * The `useLoadScript` hook loads an external script tag in the browser. It allows React components to lazy-load large third-party dependencies.\n */export function useLoadScript(url,options){const[status,setStatus]=useState(\"loading\");useEffect(()=>{loadScript(url,options).then(()=>setStatus(\"done\")).catch(()=>setStatus(\"error\"));},// Ignore options changes since it won't trigger a new load.\n// eslint-disable-next-line react-hooks/exhaustive-deps\n[url]);return status;}\nexport const __FramerMetadata__ = {\"exports\":{\"useLoadScript\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"loadScript\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_useLoadScript.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls}from\"framer\";import{ProductBaseControls,ConfigControls}from\"https://framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/GXn1lJ5V4nUwhRO9yQKC/_framer_utils.js\";import{useLoadScript}from\"https://framerusercontent.com/modules/5RNyIzBVhOLYhJjEkl69/CL32zvCyc8cQXIdAa3uE/_useLoadScript.js\";import{useProduct}from\"https://framerusercontent.com/modules/xEahqZEsyG5uoZky61jQ/yMYjCncXBsxOaKoj8nUI/_useProduct.js\";import ComponentWrapper from\"https://framerusercontent.com/modules/hQlZBgGeLDev5WuUJA4d/6ncqGCEKZWsfLWpBe7Jn/ComponentWrapper.js\";import{parseGid}from\"https://framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/NrF60tPHZRRgADqpoRFr/_utils.js\";const SHOPJS_URL=\"https://cdn.shopify.com/shopifycloud/shop-js/v1.0/client.js\";/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function Shopify_ShopPayButton(props){const{selectedVariant,selectedProduct,product}=useProduct(props.productID??null,props.config);const shopPayLoadedStatus=useLoadScript(SHOPJS_URL);const variantId=selectedVariant?.id?parseGid(selectedVariant.id).id:parseGid(product?.variants.nodes?.[0].id).id;const style=props?.style?.width?{\"--shop-pay-button-width\":props.style.width}:undefined;return /*#__PURE__*/_jsx(ComponentWrapper,{style:style,productID:props.productID||\"EMPTY\",hidden:shopPayLoadedStatus!==\"done\",config:props.config,children:()=>/*#__PURE__*/_jsx(\"shop-pay-button\",{\"store-url\":props.config?.storeDomain&&`https://${props.config.storeDomain}`,variants:variantId??\"\",\"data-shopiframe\":\"component\"})});}Shopify_ShopPayButton.displayName=\"Shop Pay Button\";addPropertyControls(Shopify_ShopPayButton,{...ConfigControls,...ProductBaseControls});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Shopify_ShopPayButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{cn,textProperties,ProductBaseControls,ConfigControls}from\"https://framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/GXn1lJ5V4nUwhRO9yQKC/_framer_utils.js\";import{useProduct}from\"https://framerusercontent.com/modules/xEahqZEsyG5uoZky61jQ/yMYjCncXBsxOaKoj8nUI/_useProduct.js\";import{useCart}from\"https://framerusercontent.com/modules/kEMMGb5hqGCVwEpqX70U/xtbUYyPMDwLhvH64M4SK/_useCart.js\";import ComponentWrapper from\"https://framerusercontent.com/modules/hQlZBgGeLDev5WuUJA4d/6ncqGCEKZWsfLWpBe7Jn/ComponentWrapper.js\";import Button,{ButtonProperties}from\"https://framerusercontent.com/modules/EoMllm11FAeAfrQZgkjQ/LMhGmi204cugd6mksqKj/Button.js\";/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function Shopify_ProductAddToCart(props){const{product,selectedProduct,availableForSale}=useProduct(props.productID??null,props.config);const{addToCart,actionLoading,cartError}=useCart(props.config);const handleAddToCart=async()=>{const merchandiseId=selectedProduct?.selectedOption||product?.variants.nodes[0].id;const quantity=selectedProduct?selectedProduct.quantity:1;const sellingPlanId=selectedProduct?.sellingPlan;// find & add attribute to cart\nconst attributes=[];const productElements=document.querySelectorAll('[name^=\"product-\"]');productElements.forEach(element=>{const key=element.getAttribute(\"name\").replace(\"product-\",\"\");const value=element.value;if(value&&value!==\"\"){attributes.push({key,value});}});// finally add to cart\nawait addToCart({merchandiseId,quantity,attributes,sellingPlanId});props.openCartEvent?.();};return /*#__PURE__*/_jsxs(ComponentWrapper,{style:cn(styles.wrapper),productID:props.productID||\"EMPTY\",config:props.config,children:[/*#__PURE__*/_jsx(Button,{onClick:handleAddToCart,loading:actionLoading,disabled:!availableForSale,...props}),cartError&&/*#__PURE__*/_jsx(motion.span,{style:cn(props.errorStyle),children:cartError})]});}Shopify_ProductAddToCart.displayName=\"Product Add To Cart\";addPropertyControls(Shopify_ProductAddToCart,{...ConfigControls,...ProductBaseControls,...ButtonProperties(\"Add to cart\"),errorStyle:{title:\"Error Style\",type:ControlType.Object,controls:{...textProperties(14,\"#bb0000\"),textTransform:{type:ControlType.Enum,defaultValue:\"none\",segmentedControlDirection:\"vertical\",options:[\"none\",\"lowercase\",\"uppercase\",\"capitalize\"],optionTitles:[\"Normal\",\"Lowercase\",\"Uppercase\",\"Capitalize\"]}}},openCartEvent:{type:ControlType.EventHandler}});const styles={wrapper:{display:\"flex\",flexDirection:\"column\",gap:8}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Shopify_ProductAddToCart\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}