import{R as u}from"../vendor-8efd6c0a.js";import{P as i}from"../@fortawesome/react-fontawesome-08267a95.js";function M(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,n)}return t}function _(r){for(var e=1;er.length)&&(e=r.length);for(var t=0,n=new Array(e);t1&&arguments[1]!==void 0?arguments[1]:J;if(e===null||ce(e))return e;throw new Error(t)},fe=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:J;if(se(e))return{tag:"async",stripePromise:Promise.resolve(e).then(function(s){return $(s,t)})};var n=$(e,t);return n===null?{tag:"empty"}:{tag:"sync",stripe:n}},pe=function(e){!e||!e._registerWrapper||!e.registerAppInfo||(e._registerWrapper({name:"react-stripe-js",version:"2.8.1"}),e.registerAppInfo({name:"react-stripe-js",version:"2.8.1",url:"https://stripe.com/docs/stripe-js/react"}))},L=u.createContext(null);L.displayName="ElementsContext";var de=function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an provider."));return e},me=function(e){var t=e.stripe,n=e.options,s=e.children,a=u.useMemo(function(){return fe(t)},[t]),f=u.useState(function(){return{stripe:a.tag==="sync"?a.stripe:null,elements:a.tag==="sync"?a.stripe.elements(n):null}}),m=Y(f,2),o=m[0],C=m[1];u.useEffect(function(){var p=!0,k=function(b){C(function(x){return x.stripe?x:{stripe:b,elements:b.elements(n)}})};return a.tag==="async"&&!o.stripe?a.stripePromise.then(function(E){E&&p&&k(E)}):a.tag==="sync"&&!o.stripe&&k(a.stripe),function(){p=!1}},[a,o,n]);var y=I(t);u.useEffect(function(){y!==null&&y!==t&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[y,t]);var g=I(n);return u.useEffect(function(){if(o.elements){var p=F(n,g,["clientSecret","fonts"]);p&&o.elements.update(p)}},[n,g,o.elements]),u.useEffect(function(){pe(o.stripe)},[o.stripe]),u.createElement(L.Provider,{value:o},s)};me.propTypes={stripe:i.any,options:i.object};i.func.isRequired;var z=u.createContext(null);z.displayName="CustomCheckoutSdkContext";var ve=function(e,t){if(!e)throw new Error("Could not find CustomCheckoutProvider context; You need to wrap the part of your app that ".concat(t," in an provider."));return e},ye=u.createContext(null);ye.displayName="CustomCheckoutContext";i.any,i.shape({clientSecret:i.string.isRequired,elementsOptions:i.object}).isRequired;var D=function(e){var t=u.useContext(z),n=u.useContext(L);if(t&&n)throw new Error("You cannot wrap the part of your app that ".concat(e," in both and providers."));return t?ve(t,e):de(n,e)},he=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},c=function(e,t){var n="".concat(he(e),"Element"),s=function(o){var C=o.id,y=o.className,g=o.options,p=g===void 0?{}:g,k=o.onBlur,E=o.onFocus,b=o.onReady,x=o.onChange,P=o.onEscape,H=o.onClick,V=o.onLoadError,G=o.onLoaderStart,Q=o.onNetworksChange,X=o.onConfirm,Z=o.onCancel,ee=o.onShippingAddressChange,te=o.onShippingRateChange,A=D("mounts <".concat(n,">")),j="elements"in A?A.elements:null,R="customCheckoutSdk"in A?A.customCheckoutSdk:null,re=u.useState(null),U=Y(re,2),d=U[0],ne=U[1],S=u.useRef(null),N=u.useRef(null);v(d,"blur",k),v(d,"focus",E),v(d,"escape",P),v(d,"click",H),v(d,"loaderror",V),v(d,"loaderstart",G),v(d,"networkschange",Q),v(d,"confirm",X),v(d,"cancel",Z),v(d,"shippingaddresschange",ee),v(d,"shippingratechange",te),v(d,"change",x);var T;b&&(e==="expressCheckout"?T=b:T=function(){b(d)}),v(d,"ready",T),u.useLayoutEffect(function(){if(S.current===null&&N.current!==null&&(j||R)){var h=null;R?h=R.createElement(e,p):j&&(h=j.create(e,p)),S.current=h,ne(h),h&&h.mount(N.current)}},[j,R,p]);var B=I(p);return u.useEffect(function(){if(S.current){var h=F(p,B,["paymentRequest"]);h&&"update"in S.current&&S.current.update(h)}},[p,B]),u.useLayoutEffect(function(){return function(){if(S.current&&typeof S.current.destroy=="function")try{S.current.destroy(),S.current=null}catch{}}},[]),u.createElement("div",{id:C,className:y,ref:N})},a=function(o){D("mounts <".concat(n,">"));var C=o.id,y=o.className;return u.createElement("div",{id:C,className:y})},f=t?a:s;return f.propTypes={id:i.string,className:i.string,onChange:i.func,onBlur:i.func,onFocus:i.func,onReady:i.func,onEscape:i.func,onClick:i.func,onLoadError:i.func,onLoaderStart:i.func,onNetworksChange:i.func,onConfirm:i.func,onCancel:i.func,onShippingAddressChange:i.func,onShippingRateChange:i.func,options:i.object},f.displayName=n,f.__elementType=e,f},l=typeof window>"u",Ce=u.createContext(null);Ce.displayName="EmbeddedCheckoutProviderContext";c("auBankAccount",l);c("card",l);c("cardNumber",l);c("cardExpiry",l);c("cardCvc",l);c("fpxBank",l);c("iban",l);c("idealBank",l);c("p24Bank",l);c("epsBank",l);c("payment",l);c("expressCheckout",l);c("currencySelector",l);c("paymentRequestButton",l);c("linkAuthentication",l);c("address",l);c("shippingAddress",l);c("paymentMethodMessaging",l);c("affirmMessage",l);c("afterpayClearpayMessage",l);export{me as E};