{"version":3,"file":"AddToCartButton.B9coS2h0.mjs","names":["useMemo","state","State","defaultText","useContext","useState","state"],"sources":["https:/framerusercontent.com/modules/LrldJJ60fjHs91m6XdHT/2FUoEFQ8UfRjbsZiejBU/SharedStore.js","https:/framerusercontent.com/modules/ajKYBgRXgNyNgL1GkpqG/prknJU66nI5iRE43ff6z/ProductState.js","https:/framerusercontent.com/modules/fVHxdMMgjEun6wSmFoH5/UO9Fwa3zz4T8isOKvUfB/SharedStyles.js","https:/framerusercontent.com/modules/0xkiWjwekn87OErRIyqu/goNcP2ug2Xbotlm3UKmd/BuyNowButton.js","https:/framerusercontent.com/modules/Be5mN5EUhdOwl54qCG8y/Icj1ZU450uFtWcyrdGTm/CartItemContext.js","https:/framerusercontent.com/modules/xIS6qWCTGkDJXuKuDYIj/goaiPdDVfnKQD1IfU6BX/AddToCartButton.js"],"sourcesContent":["import create from\"zustand\";const WINDOW_STORES_KEY=\"__frameship_stores__\";// Initialize the shared stores object if it doesn't exist\nconst initializeStores=()=>{if(typeof window!==\"undefined\"&&!window[WINDOW_STORES_KEY]){window[WINDOW_STORES_KEY]={};}};// Call initialization on client side\nif(typeof window!==\"undefined\"){initializeStores();}/**\n * Creates a shared Zustand store that can be accessed across different instances\n * @param id - Unique identifier for the store\n * @param config - Configuration object containing version, state creator, and optional migrator\n * @returns A Zustand store that is shared across instances with the same id\n */export function createSharedStore(id,config){const{version,createState,migrateState}=config;// Return a dummy store during SSR\nif(typeof window===\"undefined\"){return create(createState);}// Ensure stores are initialized\ninitializeStores();const existingStore=window[WINDOW_STORES_KEY][id];// If the store exists and has a higher or equal version, return it\nif(existingStore&&existingStore.version>=version){return existingStore.store;}// Create a new store\nconst store=create(createState);// If there's an existing store, migrate the state using either the provided migrator or the default one\nif(existingStore){const currentState=existingStore.store.getState();const migratedState=migrateState?migrateState(currentState):defaultMigrateState(currentState);store.setState(migratedState);}// Store the new version and store\nwindow[WINDOW_STORES_KEY][id]={store,version};return store;}/**\n * Gets an existing shared store by its ID\n * @param id - The ID of the store to retrieve\n * @returns The store if it exists, undefined otherwise\n */export function getSharedStore(id){if(typeof window===\"undefined\")return undefined;// Ensure stores are initialized\ninitializeStores();return window[WINDOW_STORES_KEY][id]?.store;}/**\n * Gets the version of a shared store by its ID\n * @param id - The ID of the store to check\n * @returns The version number if the store exists, undefined otherwise\n */export function getSharedStoreVersion(id){if(typeof window===\"undefined\")return undefined;// Ensure stores are initialized\ninitializeStores();return window[WINDOW_STORES_KEY][id]?.version;}/**\n * Default migration function that copies all non-function properties from the old state\n */function defaultMigrateState(oldState){const newState={};for(const key in oldState){if(typeof oldState[key]!==\"function\"){newState[key]=oldState[key];}}return newState;}\nexport const __FramerMetadata__ = {\"exports\":{\"getSharedStoreVersion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createSharedStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSharedStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SharedStore.map","import{useMemo}from\"react\";import{createSharedStore}from\"https://framerusercontent.com/modules/LrldJJ60fjHs91m6XdHT/2FUoEFQ8UfRjbsZiejBU/SharedStore.js\";import{parseShopifyData}from\"https://framerusercontent.com/modules/gd3dcT3w5rYoRy7ZcKte/sH6FZizM8jJ11j2dQOhQ/Shared.js\";export const useProductStore=createSharedStore(\"product-store\",{version:1,createState:set=>({products:{},setSelectedVariantOption:(productId,variantOption,option)=>set(state=>({products:{...state.products,[productId]:{...state.products[productId],selectedVariantOptions:{...state.products[productId]?.selectedVariantOptions,[variantOption]:option}}}})),setQuantity:(productId,quantity)=>{set(state=>({products:{...state.products,[productId]:{...state.products?.[productId],quantity:Math.max(quantity,1)}}}));}}),migrateState:oldState=>{return{products:oldState.products};}});export function useSelectedVariant(shopifyData){const parsedData=useMemo(()=>parseShopifyData(shopifyData),[shopifyData]);const{shopifyId,variants}=parsedData;const selectedVariantOptions=useProductStore(state=>state.products[shopifyId]?.selectedVariantOptions);const selectedVariant=useMemo(()=>{if(!Array.isArray(variants)||!selectedVariantOptions){return variants[0];}for(const variant of variants){if(variant.selectedOptions.every(option=>selectedVariantOptions[option.name]===option.value)){return variant;}}return variants[0];},[variants,selectedVariantOptions]);return selectedVariant;}\nexport const __FramerMetadata__ = {\"exports\":{\"useSelectedVariant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useProductStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{motion}from\"framer-motion\";import{DEFAULT_TRANSITION}from\"https://framerusercontent.com/modules/gd3dcT3w5rYoRy7ZcKte/sH6FZizM8jJ11j2dQOhQ/Shared.js\";export const Colors={Primary:{color:\"#000\",fill:\"#F3F3F3\",fillA:\"#F3F3F3\",fillB:\"#999999\"},Accent:{color:\"#FFF\",fill:\"#111\",fillA:\"#5E5E5E\",fillB:\"#111\"}};export function Icon({image,color,size,style={},defaultImage}){let colorValue=color||(image?.src?undefined:\"#999\");return /*#__PURE__*/_jsx(\"div\",{\"aria-label\":image?.alt,style:{width:size,height:size,minWidth:size,minHeight:size,pointerEvents:\"none\",backgroundColor:colorValue,backgroundImage:colorValue?\"none\":`url('${image?.src}')`,maskImage:image?.src?`url('${image?.src}')`:defaultImage,backgroundSize:\"contain\",backgroundPosition:\"center\",maskSize:\"contain\",maskPosition:\"center\",...style}});}export function iconProp({buttonTitle=\"Icon\",size=24,object=true}={}){return{type:ControlType.Object,buttonTitle,optional:true,defaultValue:{color:\"#000\",size},controls:{image:{type:ControlType.ResponsiveImage},color:{type:ControlType.Color,optional:true,defaultValue:\"#000\"},size:{type:ControlType.Number,defaultValue:size,min:1,step:1,displayStepper:true}}};}export function Button({tag=\"button\",fill,color,shadows,border,radius,padding,font,opacity,bgBlur,transition,variant=\"\",children,style,animate,...otherProps}){let background=\"none\";if(fill){if(fill.type===\"color\"){background=fill[`${variant}Color`]||fill.defaultColor;}else{background=`linear-gradient(${fill.gradientAngle}deg, ${fill[`${variant}ColorB`]||fill.defaultColorB}, ${fill[`${variant}ColorA`]||fill.defaultColorA})`;}}const Tag=motion[tag];const addWrapper=tag===\"input\";const elementChildren=[children,border&&/*#__PURE__*/_jsx(motion.div,{animate:{borderColor:border[`${variant}Color`]||border.defaultColor},style:{position:\"absolute\",inset:0,borderWidth:border.width,borderStyle:border.style,borderRadius:radius,pointerEvents:\"none\"},initial:false,transition:transition})];let element=/*#__PURE__*/_jsx(Tag,{style:{position:\"relative\",borderRadius:radius,padding:padding,textAlign:\"center\",appearance:\"none\",border:\"none\",backdropFilter:bgBlur?`blur(${bgBlur}px)`:undefined,...font,...style},animate:{background,color:typeof color===\"object\"?color[`${variant}Color`]||color.defaultColor:color,boxShadow:typeof shadows===\"object\"?shadows[`${variant}Shadows`]||shadows.defaultShadows:shadows,opacity:typeof opacity===\"object\"?typeof opacity[variant]===\"number\"?opacity[variant]:opacity.default:typeof opacity===\"number\"?opacity:1,...animate},initial:false,transition:transition,children:addWrapper?undefined:elementChildren,...otherProps});if(addWrapper){element=/*#__PURE__*/_jsxs(\"div\",{style:{display:\"contents\"},children:[element,elementChildren]});}return element;}export function createButtonPropertyControls({variants=[],font=true,color=true,placeholder=false,opacity=false,padding=\"10px\",hidden={},endProps={},lastControlDescription=\"\"}){const allVariants=variants.length?variants:[{id:\"default\",title:\"Default\",optional:false,...Colors.Primary}];const colorControls={};const placeholderControls={};const fillControls={};const borderControls={};const shadowsControls={};const opacityControls={};const defaultColorValues={};const defaultPlaceholderValues={};const defaultFillValues={type:\"color\",gradientAngle:0};const defaultBorderValues={width:\"1px\",style:\"solid\"};const defaultOpacityValues={};let hasDefaultBorder=allVariants.some(variant=>variant.borderColor);for(const variant of allVariants){const isDefault=variant.id===\"default\";const optional=variant.optional??true;colorControls[`${variant.id}Color`]={type:ControlType.Color,optional,defaultValue:variant.color,title:isDefault?\"Color\":variant.title};if(placeholder){placeholderControls[`${variant.id}Color`]={type:ControlType.Color,optional,defaultValue:variant.placeholder,title:isDefault?\"Color\":variant.title};}fillControls[`${variant.id}Color`]={type:ControlType.Color,optional,defaultValue:variant.fill,title:isDefault?\"Color\":variant.title,hidden:props=>props.type!=\"color\"};fillControls[`${variant.id}ColorA`]={type:ControlType.Color,optional,defaultValue:variant.fillA,title:isDefault?\"Colors\":variant.title,hidden:props=>props.type!=\"linearGradient\"};fillControls[`${variant.id}ColorB`]={type:ControlType.Color,optional,defaultValue:variant.fillB,title:\" \",hidden:props=>props.type!=\"linearGradient\"};borderControls[`${variant.id}Color`]={type:ControlType.Color,optional,defaultValue:variant.borderColor||(variants.length===1?\"#222\":undefined),title:isDefault?\"Color\":variant.title};shadowsControls[`${variant.id}Shadows`]={type:ControlType.BoxShadow,title:variant.title};if(opacity){opacityControls[variant.id]={type:ControlType.Number,title:variant.title,defaultValue:typeof variant.opacity===\"number\"?variant.opacity:1,min:0,max:1,step:.01};}}for(const prop of Object.keys(colorControls)){defaultColorValues[prop]=colorControls[prop].defaultValue;}for(const prop of Object.keys(placeholderControls)){defaultPlaceholderValues[prop]=placeholderControls[prop].defaultValue;}for(const prop of Object.keys(fillControls)){defaultFillValues[prop]=fillControls[prop].defaultValue;}for(const prop of Object.keys(borderControls)){defaultBorderValues[prop]=borderControls[prop].defaultValue;}for(const prop of Object.keys(opacityControls)){defaultOpacityValues[prop]=opacityControls[prop].defaultValue;}const showTransition=variants.length>0;return{font:font?{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.4},hidden:hidden[\"font\"]}:undefined,color:color?variants.length?{type:ControlType.Object,defaultValue:defaultColorValues,controls:colorControls,buttonTitle:\"Font Color\"}:colorControls[\"default\"]:undefined,placeholder:placeholder?variants.length?{type:ControlType.Object,defaultValue:defaultPlaceholderValues,controls:placeholderControls,hidden:hidden[\"placeholder\"]}:{...placeholderControls[\"default\"],hidden:hidden[\"placeholder\"]}:undefined,fill:{type:ControlType.Object,optional:true,defaultValue:defaultFillValues,controls:{type:{type:ControlType.Enum,options:[\"color\",\"linearGradient\"],optionTitles:[\"Color\",\"Gradient\"],displaySegmentedControl:true},...fillControls,gradientAngle:{type:ControlType.Number,defaultValue:0,title:\"Angle\",step:1,min:0,max:360,unit:\"\\xb0\",hidden:props=>props.type!=\"linearGradient\"}}},radius:{type:ControlType.BorderRadius,defaultValue:\"10px\"},padding:{type:ControlType.Padding,defaultValue:padding},border:{type:ControlType.Object,optional:true,defaultValue:hasDefaultBorder?defaultBorderValues:undefined,controls:{...borderControls,width:{type:ControlType.Padding,defaultValue:defaultBorderValues.width},style:{type:ControlType.Enum,defaultValue:defaultBorderValues.style,options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}}},shadows:variants.length?{type:ControlType.Object,optional:true,controls:shadowsControls}:{type:ControlType.BoxShadow},opacity:opacity?{type:ControlType.Object,controls:opacityControls}:undefined,bgBlur:{type:ControlType.Number,min:0,max:100,step:1,displayStepper:true,title:\"BG Blur\",description:!showTransition?lastControlDescription:undefined},...endProps,transition:showTransition?{type:ControlType.Transition,defaultValue:DEFAULT_TRANSITION,description:lastControlDescription}:undefined};}\nexport const __FramerMetadata__ = {\"exports\":{\"iconProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createButtonPropertyControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Colors\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Button\":{\"type\":\"reactComponent\",\"name\":\"Button\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SharedStyles.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{ControlType,RenderTarget}from\"framer\";import{generateBuyNowCheckoutUrl,useAmountInStock}from\"https://framerusercontent.com/modules/ibjYTPLnMMPhPLNCj4uG/FkITfeSZPOAgcIAyLyDi/Cart.js\";import{useProductStore,useSelectedVariant}from\"https://framerusercontent.com/modules/ajKYBgRXgNyNgL1GkpqG/prknJU66nI5iRE43ff6z/ProductState.js\";import{parseShopifyData,addPropertyControlsFrameship}from\"https://framerusercontent.com/modules/gd3dcT3w5rYoRy7ZcKte/sH6FZizM8jJ11j2dQOhQ/Shared.js\";import{Button,createButtonPropertyControls,Colors}from\"https://framerusercontent.com/modules/fVHxdMMgjEun6wSmFoH5/UO9Fwa3zz4T8isOKvUfB/SharedStyles.js\";var State;(function(State){State[\"Default\"]=\"default\";State[\"OutOfStock\"]=\"outOfStock\";})(State||(State={}));const defaultText={[\"default\"]:\"Buy Now\",[\"outOfStock\"]:\"Buy Now\"};/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 300\n * @framerDisableUnlink\n */export default function BuyNowButton(props){const{newTab,layer,disableOutOfStock}=props;const{shopifyId}=parseShopifyData(props.shopifyData);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const{quantity,selectedVariantOptions}=useProductStore(state=>state.products?.[shopifyId]||{quantity:1,selectedVariantOptions:{}});const selectedVariant=useSelectedVariant(props.shopifyData);const[inventory,inventoryIsLoading]=useAmountInStock(props.shopifyData);const state=isCanvas||!disableOutOfStock||inventory[selectedVariant?.id]>0||inventoryIsLoading?\"default\":\"outOfStock\";const onClick=()=>{if(selectedVariant){const windowReference=newTab?window.open():null;generateBuyNowCheckoutUrl(selectedVariant.id,quantity).then(checkoutUrl=>{if(newTab){windowReference.location=checkoutUrl;}else{window.location.href=checkoutUrl;}}).catch(console.error);}};return /*#__PURE__*/_jsx(Button,{...props,onClick:onClick,variant:state,style:{cursor:state===\"default\"?\"pointer\":undefined,userSelect:\"none\",...props.style},children:props.text[state]});}BuyNowButton.displayName=\"Buy Now Button\";addPropertyControlsFrameship(BuyNowButton,{newTab:{type:ControlType.Boolean,defaultValue:true,description:\"Open checkout in new tab\"},disableOutOfStock:{type:ControlType.Boolean,defaultValue:true,title:\"Disable Out-of-Stock\",description:\"Disable if selected variant is out-of-stock.\"},text:{type:ControlType.Object,defaultValue:defaultText,controls:{[\"default\"]:{type:ControlType.String,defaultValue:defaultText[\"default\"],placeholder:\"Default Text\"},[\"outOfStock\"]:{type:ControlType.String,defaultValue:defaultText[\"outOfStock\"],placeholder:\"Out of Stock Text\",title:\"Out of Stock\"}}},...createButtonPropertyControls({opacity:true,variants:[{id:\"default\",title:\"Default\",...Colors.Primary,opacity:1},{id:\"outOfStock\",title:\"Out of Stock\",opacity:.5}]})},{shopifyData:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BuyNowButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{createContext,useContext}from\"react\";export const CartItemContext=/*#__PURE__*/createContext({inCart:false,cartItemId:null,shopifyId:null,variantId:null,quantity:1,price:null,compareAtPrice:null,sku:null,barcode:null,variant:null});export const useCartItem=()=>useContext(CartItemContext);\nexport const __FramerMetadata__ = {\"exports\":{\"useCartItem\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CartItemContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CartItemContext.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{ControlType,RenderTarget}from\"framer\";import{useState,useEffect}from\"react\";import{useCartStore,useAmountInStock}from\"https://framerusercontent.com/modules/ibjYTPLnMMPhPLNCj4uG/FkITfeSZPOAgcIAyLyDi/Cart.js\";import{parseShopifyData,OPEN_CART_EVENT,addPropertyControlsFrameship}from\"https://framerusercontent.com/modules/gd3dcT3w5rYoRy7ZcKte/sH6FZizM8jJ11j2dQOhQ/Shared.js\";import{createButtonPropertyControls,Colors,Button}from\"https://framerusercontent.com/modules/fVHxdMMgjEun6wSmFoH5/UO9Fwa3zz4T8isOKvUfB/SharedStyles.js\";import{useProductStore,useSelectedVariant}from\"https://framerusercontent.com/modules/ajKYBgRXgNyNgL1GkpqG/prknJU66nI5iRE43ff6z/ProductState.js\";var State;(function(State){State[\"Default\"]=\"default\";State[\"OutOfStock\"]=\"outOfStock\";})(State||(State={}));const defaultText={[\"default\"]:\"Add to Cart\",[\"outOfStock\"]:\"Out of Stock\"};/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 300\n * @framerDisableUnlink\n */export default function AddToCartButton(props){const{disableOutOfStock}=props;const{shopifyId,variants}=parseShopifyData(props.shopifyData);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[state,setState]=useState(\"default\");const[items,addToCart]=useCartStore(state=>[state.items,state.addToCart]);const{quantity,selectedVariantOptions}=useProductStore(state=>state.products?.[shopifyId]||{quantity:1,selectedVariantOptions:{}});const[inventory,inventoryIsLoading]=useAmountInStock(props.shopifyData);const selectedVariant=useSelectedVariant(props.shopifyData);useEffect(()=>{if(!isCanvas){if(disableOutOfStock&&selectedVariant&&inventory[selectedVariant.id]===0){setState(\"outOfStock\");}else{setState(\"default\");}}},[items,selectedVariant,inventory]);const onClick=async()=>{if(state===\"default\"&&selectedVariant&&(!disableOutOfStock||!inventoryIsLoading&&inventory[selectedVariant.id]>0)){await addToCart(selectedVariant.id,quantity);if(props.openCart){window.dispatchEvent(new Event(OPEN_CART_EVENT));}}};return /*#__PURE__*/_jsx(Button,{...props,variant:state,onClick:onClick,style:{cursor:state===\"outOfStock\"?undefined:\"pointer\",userSelect:\"none\",...props.style},children:props.text[state]});}AddToCartButton.displayName=\"Add to Cart Button\";addPropertyControlsFrameship(AddToCartButton,{openCart:{type:ControlType.Boolean,defaultValue:true,description:\"If enabled, opens the cart after adding item\"},disableOutOfStock:{type:ControlType.Boolean,defaultValue:true,title:\"Disable Out-of-Stock\",description:\"Disable if selected variant is out-of-stock.\"},text:{type:ControlType.Object,defaultValue:defaultText,controls:{[\"default\"]:{type:ControlType.String,defaultValue:defaultText[\"default\"],placeholder:\"Default Text\"},[\"outOfStock\"]:{type:ControlType.String,defaultValue:defaultText[\"outOfStock\"],placeholder:\"Out of Stock Text\"}}},...createButtonPropertyControls({variants:[{id:\"default\",title:\"Default\",...Colors.Accent},{id:\"outOfStock\",title:\"Out of Stock\",...Colors.Primary}]})},{shopifyData:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AddToCartButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"300\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}