{"version":3,"file":"AddToCartButton.BUNvhr7I.mjs","names":["useState","__esmMin","init_npm_react_18_3_1","window","_e","init_jsx_runtime","c","ce","init_ssg_sandbox_shims","RenderTarget","ControlType","init_framer_BWFVvmND","parseShopifyData","Button","OPEN_CART_EVENT","init_SharedStyles","addPropertyControlsFrameship","useCartStore","createButtonPropertyControls","init_Cart","useProductStore","init_Shared","useSelectedVariant","init_ProductState","Colors","useAmountInStock","AddToCartButton","props","isCanvas","state","setState","items","addToCart","shopifyId","inventory","inventoryIsLoading","selectedVariant","disableOutOfStock","onClick","quantity","State","defaultText","init_AddToCartButton","\"Default\"","\"OutOfStock\"","\"default\"","\"outOfStock\""],"sources":["https:/framerusercontent.com/modules/xIS6qWCTGkDJXuKuDYIj/goaiPdDVfnKQD1IfU6BX/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/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":"A,4UAKG,SAAwB0B,EAAgB,EAAM,CAAC,GAAK,CAAC,qBAAmBC,EAAW,CAAC,YAAU,YAAUf,EAAiBe,EAAM,WAAW,EAAQC,EAASnB,EAAa,QAAQ,IAAIA,EAAa,OAAY,CAACoB,EAAMC,GAAU9B,EAAS,SAAS,EAAO,CAAC+B,EAAMC,GAAWf,EAAa,GAAO,CAACY,EAAM,MAAMA,EAAM,SAAS,CAAC,EAAO,CAAC,WAAS,0BAAwBT,EAAgB,GAAOS,EAAM,WAAWI,IAAY,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC,EAAO,CAACC,EAAUC,GAAoBV,EAAiBE,EAAM,WAAW,EAAQS,EAAgBd,EAAmBK,EAAM,WAAW,EAAEpB,MAAc,CAAKqB,IAAaS,GAAmBD,GAAiBF,EAAUE,EAAgB,MAAM,EAAGN,EAAS,YAAY,EAAQA,EAAS,SAAS,EAAI,EAAE,CAACC,EAAMK,EAAgBF,CAAS,CAAC,EAAE,IAAMI,EAAQ,SAAS,CAAIT,IAAQ,WAAWO,IAAkB,CAACC,GAAmB,CAACF,GAAoBD,EAAUE,EAAgB,IAAI,KAAI,MAAMJ,EAAUI,EAAgB,GAAGG,CAAQ,EAAKZ,EAAM,UAAUxB,EAAO,cAAc,IAAI,MAAMW,CAAe,CAAC,EAAI,EAAE,MAAoB,gBAAKD,EAAO,CAAC,GAAGc,EAAM,QAAQE,EAAc,UAAQ,MAAM,CAAC,OAAOA,IAAQ,aAAa,IAAA,GAAU,UAAU,WAAW,OAAO,GAAGF,EAAM,KAAK,EAAE,SAASA,EAAM,KAAKE,EAAM,CAAC,CAAE,C,uEAL1e,SAAS,EAAM,CAAC,EAAMc,QAAW,UAAU,EAAMC,WAAc,YAAa,EAAA,CAAG,AAAQJ,IAAM,CAAC,CAAE,EAAQ,EAAY,CAAEK,QAAW,cAAeC,WAAc,cAAc,EAK+T,EAAgB,YAAY,qBAAqB9B,EAA6BU,EAAgB,CAAC,SAAS,CAAC,KAAKhB,EAAY,QAAQ,aAAa,GAAK,YAAY,8CAA8C,EAAE,kBAAkB,CAAC,KAAKA,EAAY,QAAQ,aAAa,GAAK,MAAM,uBAAuB,YAAY,8CAA8C,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa+B,EAAY,SAAS,CAAEI,QAAW,CAAC,KAAKnC,EAAY,OAAO,aAAa+B,EAAYI,QAAW,YAAY,cAAc,EAAGC,WAAc,CAAC,KAAKpC,EAAY,OAAO,aAAa+B,EAAYK,WAAc,YAAY,mBAAmB,CAAC,CAAC,EAAE,GAAG5B,EAA6B,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,MAAM,UAAU,GAAGM,EAAO,MAAM,EAAE,CAAC,GAAG,aAAa,MAAM,eAAe,GAAGA,EAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAI,CAAC,C"}