{"version":3,"file":"QuantityInput.3lR5QLdH.mjs","names":["useContext","useMemo","useState"],"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","https:/framerusercontent.com/modules/6m3bYVdQqi1oLEe0M7tX/4u0dTWsY1paTcseW4igp/QuantityInput.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\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType,withCSS,RenderTarget}from\"framer\";import{useState,useEffect}from\"react\";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\";import{useProductStore,useSelectedVariant}from\"https://framerusercontent.com/modules/ajKYBgRXgNyNgL1GkpqG/prknJU66nI5iRE43ff6z/ProductState.js\";import{useCartItem}from\"https://framerusercontent.com/modules/Be5mN5EUhdOwl54qCG8y/Icj1ZU450uFtWcyrdGTm/CartItemContext.js\";import{useCartStore,useAmountInStock}from\"https://framerusercontent.com/modules/ibjYTPLnMMPhPLNCj4uG/FkITfeSZPOAgcIAyLyDi/Cart.js\";var State;(function(State){State[\"Default\"]=\"default\";State[\"Disabled\"]=\"disabled\";})(State||(State={}));const INPUT_CLASS=\"frameship-quantity-input\";function QuantityInputComponent(props){const{shopifyData,type,icon,maxValue}=props;const{shopifyId}=parseShopifyData(shopifyData);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const{cartItemId,variantId:cartVariantId,quantity:cartItemQuantity}=useCartItem();const[productStoreQuantity,setProductStoreQuantity]=useProductStore(state=>[state.products[shopifyId]?.quantity,state.setQuantity]);const[items,setCartItemQuantity]=useCartStore(state=>[state.items,state.setCartItemQuantity]);const[inventory,inventoryIsLoading]=useAmountInStock(shopifyData);const selectedVariant=useSelectedVariant(props.shopifyData);const variantId=cartItemId?cartVariantId:selectedVariant?.id;const quantity=(cartItemId?cartItemQuantity:productStoreQuantity)||1;const maxQuantity=Math.min(inventory[variantId]||Infinity,maxValue);const[inputValue,setInputValue]=useState(quantity.toString());const setItemQuantity=newQuantity=>{const limitedQuantity=Math.min(newQuantity,maxQuantity,maxValue);if(cartItemId){setCartItemQuantity(cartItemId,limitedQuantity);}else{setProductStoreQuantity(shopifyId,limitedQuantity);}};useEffect(()=>{if(!cartItemId&&quantity>maxQuantity){setProductStoreQuantity(shopifyId,maxQuantity);}},[maxQuantity,cartItemId,quantity,shopifyId,setProductStoreQuantity]);useEffect(()=>{setInputValue(quantity.toString());},[quantity]);let element=null;switch(type){case\"add\":case\"subtract\":const radius=icon.rounded?icon.strokeWidth/2:0;const disabled=type===\"add\"&&quantity>=maxQuantity||type===\"subtract\"&&quantity<=1;element=/*#__PURE__*/_jsx(Button,{...props,variant:disabled&&!isCanvas?\"disabled\":\"default\",onClick:()=>setItemQuantity(quantity+(type===\"add\"?1:-1)),disabled:disabled,style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:disabled?undefined:\"pointer\",...props.style},children:/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:icon.size,height:icon.size,viewBox:\"0 0 16 16\",children:[/*#__PURE__*/_jsx(\"path\",{d:`M ${radius} 8 L ${16-radius} 8`,fill:\"transparent\",strokeWidth:icon.strokeWidth,stroke:\"currentColor\",strokeLinecap:icon.rounded?\"round\":\"square\"}),type==\"add\"&&/*#__PURE__*/_jsx(\"path\",{d:`M 8 ${radius} L 8 ${16-radius}`,fill:\"transparent\",strokeWidth:icon.strokeWidth,stroke:\"currentColor\",strokeLinecap:icon.rounded?\"round\":\"square\"})]})});break;case\"input\":const handleInputChange=event=>{setInputValue(event.target.value);};const handleSetQuantity=()=>{const newQuantity=parseInt(inputValue,10);if(!isNaN(newQuantity)&&newQuantity>0){setItemQuantity(newQuantity);}else{setInputValue(quantity.toString());}};element=/*#__PURE__*/_jsx(Button,{...props,className:INPUT_CLASS,tag:\"input\",type:\"number\",value:inputValue,onChange:handleInputChange,onBlur:handleSetQuantity,onKeyDown:event=>{if(event.key===\"Enter\"){handleSetQuantity();}},max:maxQuantity,style:{appearance:\"textfield\",...props.style}});break;}return element;}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n * @framerDisableUnlink\n */const QuantityInput=withCSS(QuantityInputComponent,[`input.${INPUT_CLASS}[type=number]::-webkit-outer-spin-button,\n\tinput.${INPUT_CLASS}[type=number]::-webkit-inner-spin-button {\n\t\tdisplay: none;\n\t}`,`input.${INPUT_CLASS}[type=number]::-moz-inner-spin-button,\n\tinput.${INPUT_CLASS}[type=number]::-moz-outer-spin-button {\n\t\t-moz-appearance: none;\n\t\tmargin: 0;\n\t}`]);export default QuantityInput;QuantityInput.displayName=\"Quantity Input\";addPropertyControlsFrameship(QuantityInput,{type:{type:ControlType.Enum,options:[\"subtract\",\"input\",\"add\"],optionTitles:[\"−\",\"Input\",\"+\"],displaySegmentedControl:true},maxValue:{type:ControlType.Number,defaultValue:100,min:1,step:1,description:\"The value will always be limited to the amount in stock\"},icon:{type:ControlType.Object,hidden:props=>props.type!==\"add\"&&props.type!==\"subtract\",controls:{size:{type:ControlType.Number,defaultValue:12,min:0,step:1},strokeWidth:{type:ControlType.Number,defaultValue:3,min:0,max:10,step:1,title:\"Stroke\"},rounded:{type:ControlType.Boolean,defaultValue:true}}},...createButtonPropertyControls({placeholder:true,hidden:{font:props=>props.type!==\"input\",placeholder:props=>props.type!==\"input\"},variants:[{id:\"default\",title:\"Default\",...Colors.Primary},{id:\"disabled\",title:\"Disabled\",color:\"rgba(0, 0, 0, 0.25)\"}]})},{shopifyData:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"QuantityInput\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"40\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerDisableUnlink\":\"\",\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}