{"version":3,"file":"AddToCartButton.DexLojjE.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/xIS6qWCTGkDJXuKuDYIj/VG4ISx3vIFnu1mBpatyR/AddToCartButton.js"],"sourcesContent":["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/cXa4uUn5VWWAcoaQctVU/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\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"uWAKG,SAAwB,EAAgB,EAAM,CAAC,GAAK,CAAC,qBAAmB,EAAW,CAAC,YAAU,YAAU,EAAiB,EAAM,WAAW,EAAQ,EAAS,EAAa,QAAQ,IAAI,EAAa,OAAY,CAAC,EAAM,GAAUA,EAAS,SAAS,EAAO,CAAC,EAAM,GAAW,EAAa,GAAO,CAAC,EAAM,MAAM,EAAM,SAAS,CAAC,EAAO,CAAC,WAAS,0BAAwB,EAAgB,GAAO,EAAM,WAAW,IAAY,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC,EAAO,CAAC,EAAU,GAAoB,EAAiB,EAAM,WAAW,EAAQ,EAAgB,EAAmB,EAAM,WAAW,EAAE,MAAc,CAAK,IAAa,GAAmB,GAAiB,EAAU,EAAgB,MAAM,EAAG,EAAS,YAAY,EAAQ,EAAS,SAAS,EAAI,EAAE,CAAC,EAAM,EAAgB,CAAS,CAAC,EAAE,IAAM,EAAQ,SAAS,CAAI,IAAQ,WAAW,IAAkB,CAAC,GAAmB,CAAC,GAAoB,EAAU,EAAgB,IAAI,KAAI,MAAM,EAAU,EAAgB,GAAG,CAAQ,EAAK,EAAM,UAAU,EAAO,cAAc,IAAI,MAAM,CAAe,CAAC,EAAI,EAAE,OAAoB,EAAK,EAAO,CAAC,GAAG,EAAM,QAAQ,EAAc,UAAQ,MAAM,CAAC,OAAO,IAAQ,aAAa,IAAA,GAAU,UAAU,WAAW,OAAO,GAAG,EAAM,KAAK,EAAE,SAAS,EAAM,KAAK,EAAM,CAAC,CAAE,yBALzpC,IAA6C,IAAsC,IAAmI,IAAqK,IAAwJ,IAAgJ,GAAY,SAAS,EAAM,CAAC,EAAM,QAAW,UAAU,EAAM,WAAc,YAAa,EAAA,CAAG,AAAQ,IAAM,CAAC,CAAE,EAAQ,EAAY,CAAE,QAAW,cAAe,WAAc,cAAc,EAK+T,EAAgB,YAAY,qBAAqB,EAA6B,EAAgB,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,YAAY,8CAA8C,EAAE,kBAAkB,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,MAAM,uBAAuB,YAAY,8CAA8C,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,aAAa,EAAY,SAAS,CAAE,QAAW,CAAC,KAAK,EAAY,OAAO,aAAa,EAAY,QAAW,YAAY,cAAc,EAAG,WAAc,CAAC,KAAK,EAAY,OAAO,aAAa,EAAY,WAAc,YAAY,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAA6B,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,MAAM,UAAU,GAAG,EAAO,MAAM,EAAE,CAAC,GAAG,aAAa,MAAM,eAAe,GAAG,EAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAI,CAAC"}