{"version":3,"file":"ProductState.qq2spXO2.mjs","names":["useContext","useMemo"],"sources":["https:/framerusercontent.com/modules/fVHxdMMgjEun6wSmFoH5/UO9Fwa3zz4T8isOKvUfB/SharedStyles.js","https:/framerusercontent.com/modules/Be5mN5EUhdOwl54qCG8y/Icj1ZU450uFtWcyrdGTm/CartItemContext.js","https:/framerusercontent.com/modules/LrldJJ60fjHs91m6XdHT/2FUoEFQ8UfRjbsZiejBU/SharedStore.js","https:/framerusercontent.com/modules/ajKYBgRXgNyNgL1GkpqG/prknJU66nI5iRE43ff6z/ProductState.js"],"sourcesContent":["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{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 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\"}}}"],"mappings":"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"}