{"version":3,"file":"6a38c1e1.js","sources":["../../../src/components/globals/cart/CartCheckoutButton.client.tsx"],"sourcesContent":["import React, {ReactNode, useEffect, useState} from 'react';\nimport {useCart} from '@shopify/hydrogen';\n\ntype PropsWeControl = 'onClick';\n\n/**\n * The `CartCheckoutButton` component renders a button that redirects to the checkout URL for the cart.\n * It must be a descendent of a `CartProvider` component.\n *\n * SDG: This is a duplicate version of the CartCheckoutButton from @shopify/hydrogen\n * Modified to add an optional prop: `url` to overwrite the default checkoutUrl and appends locale\n */\nexport function CartCheckoutButton(\n props: Omit & {\n /** A `ReactNode` element. */\n children: ReactNode;\n url?: string;\n },\n) {\n const [requestedCheckout, setRequestedCheckout] = useState(false);\n const {status, checkoutUrl} = useCart();\n const {children, ...passthroughProps} = props;\n const useCheckoutUrl = passthroughProps?.url || checkoutUrl;\n\n useEffect(() => {\n if (requestedCheckout && useCheckoutUrl && status === 'idle') {\n window.location.href = useCheckoutUrl;\n }\n }, [requestedCheckout, status, useCheckoutUrl]);\n\n return (\n setRequestedCheckout(true)}\n >\n {children}\n \n );\n}\n"],"names":["CartCheckoutButton","props","requestedCheckout","setRequestedCheckout","useState","status","checkoutUrl","useCart","children","passthroughProps","useCheckoutUrl","url","useEffect","window","location","href","disabled"],"mappings":"yVAYO,SAASA,EACdC,EAKA,CACA,KAAM,CAACC,EAAmBC,CAAoB,EAAIC,mBAAS,EAAK,EAC1D,CAACC,OAAAA,EAAQC,YAAAA,GAAeC,EAAS,EACjC,CAACC,SAAAA,KAAaC,CAAoBR,EAAAA,EAClCS,GAAiBD,GAAAA,YAAAA,EAAkBE,MAAOL,EAEhDM,OAAAA,EAAAA,QAAAA,UAAU,IAAM,CACVV,GAAqBQ,GAAkBL,IAAW,SACpDQ,OAAOC,SAASC,KAAOL,EAExB,EAAA,CAACR,EAAmBG,EAAQK,CAAc,CAAC,IAG5C,SAAA,CAAA,GACMD,EACJ,SAAUP,GAAqBO,EAAiBO,SAChD,QAAS,IAAMb,EAAqB,EAAI,EAAE,SAAAK,CAAA,CAGnC,CAEb"}