(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[664],{6664:function(a,b,c){!function(a,d){d(b,c(7294))}(this,function(a,b){"use strict";function c(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function d(a){for(var b=1;b<arguments.length;b++){var d=null!=arguments[b]?arguments[b]:{};b%2?c(Object(d),!0).forEach(function(b){f(a,b,d[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(d)):c(Object(d)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(d,b))})}return a}function e(a){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(a)}function f(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function g(a,b){return h(a)||i(a,b)||j(a,b)||l()}function h(a){if(Array.isArray(a))return a}function i(a,b){var c,d,e=a&&("undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"]);if(null!=e){var f=[],g=!0,h=!1;try{for(e=e.call(a);!(g=(c=e.next()).done)&&(f.push(c.value),!b||f.length!==b);g=!0);}catch(i){h=!0,d=i}finally{try{g||null==e.return||e.return()}finally{if(h)throw d}}return f}}function j(a,b){if(a){if("string"==typeof a)return k(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);if("Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c)return Array.from(a);if("Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return k(a,b)}}function k(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=new Array(b);c<b;c++)d[c]=a[c];return d}function l(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(){}function n(){}b=b&&Object.prototype.hasOwnProperty.call(b,"default")?b.default:b,n.resetWarningCache=m;var o=function(){function a(a,b,c,d,e,f){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==f){var g=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw g.name="Invariant Violation",g}}function b(){return a}a.isRequired=a;var c={array:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:b,element:a,elementType:a,instanceOf:b,node:a,objectOf:b,oneOf:b,oneOfType:b,shape:b,exact:b,checkPropTypes:n,resetWarningCache:m};return c.PropTypes=c,c},p=function(a,b){return a(b={exports:{}},b.exports),b.exports}(function(a){a.exports=o()}),q=function(a){var c=b.useRef(a);return b.useEffect(function(){c.current=a},[a]),c.current},r=function(a){return null!==a&&"object"===e(a)},s="[object Object]",t=function a(b,c){if(!r(b)||!r(c))return b===c;var d=Array.isArray(b);if(d!==Array.isArray(c))return!1;var e=Object.prototype.toString.call(b)===s;if(e!==(Object.prototype.toString.call(c)===s))return!1;if(!e&&!d)return b===c;var f=Object.keys(b),g=Object.keys(c);if(f.length!==g.length)return!1;for(var h={},i=0;i<f.length;i+=1)h[f[i]]=!0;for(var j=0;j<g.length;j+=1)h[g[j]]=!0;var k=Object.keys(h);if(k.length!==f.length)return!1;var l=b,m=c,n=function(b){return a(l[b],m[b])};return k.every(n)},u=function(a,b,c){return r(a)?Object.keys(a).reduce(function(e,g){var h=!r(b)||!t(a[g],b[g]);return c.includes(g)?(h&&console.warn("Unsupported prop change: options.".concat(g," is not a mutable property.")),e):h?d(d({},e||{}),{},f({},g,a[g])):e},null):null},v=function(a){var b;if(null===a||r(b=a)&&"function"==typeof b.elements&&"function"==typeof b.createToken&&"function"==typeof b.createPaymentMethod&&"function"==typeof b.confirmCardPayment)return a;throw new Error("Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.")},w=function(a){if(r(b=a)&&"function"==typeof b.then)return{tag:"async",stripePromise:Promise.resolve(a).then(v)};var b,c=v(a);return null===c?{tag:"empty"}:{tag:"sync",stripe:c}},x=b.createContext(null);x.displayName="ElementsContext";var y=function(a,b){if(!a)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(b," in an <Elements> provider."));return a},z=b.createContext(null);z.displayName="CartElementContext";var A=function(a,b){if(!a)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(b," in an <Elements> provider."));return a},B=function(a){var c=a.stripe,d=a.options,e=a.children,f=b.useMemo(function(){return w(c)},[c]),h=g(b.useState(null),2),i=h[0],j=h[1],k=b.useState(null),l=g(k,2),m=l[0],n=l[1],o=b.useState(function(){return{stripe:"sync"===f.tag?f.stripe:null,elements:"sync"===f.tag?f.stripe.elements(d):null}}),p=g(o,2),r=p[0],s=p[1];b.useEffect(function(){var a=!0,b=function(a){s(function(b){return b.stripe?b:{stripe:a,elements:a.elements(d)}})};return"async"!==f.tag||r.stripe?"sync"!==f.tag||r.stripe||b(f.stripe):f.stripePromise.then(function(c){c&&a&&b(c)}),function(){a=!1}},[f,r,d]);var t=q(c);b.useEffect(function(){null!==t&&t!==c&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[t,c]);var v=q(d);return b.useEffect(function(){if(r.elements){var a=u(d,v,["clientSecret","fonts"]);a&&r.elements.update(a)}},[d,v,r.elements]),b.useEffect(function(){var a=r.stripe;a&&a._registerWrapper&&a.registerAppInfo&&(a._registerWrapper({name:"react-stripe-js",version:"2.1.1"}),a.registerAppInfo({name:"react-stripe-js",version:"2.1.1",url:"https://stripe.com/docs/stripe-js/react"}))},[r.stripe]),b.createElement(x.Provider,{value:r},b.createElement(z.Provider,{value:{cart:i,setCart:j,cartState:m,setCartState:n}},e))};B.propTypes={stripe:p.any,options:p.object};var C=function(a){return y(b.useContext(x),a)},D=function(a){return A(b.useContext(z),a)},E=function(a){return(0,a.children)(C("mounts <ElementsConsumer>"))};E.propTypes={children:p.func.isRequired};var F=function(a,c,d){var e=!!d,f=b.useRef(d);b.useEffect(function(){f.current=d},[d]),b.useEffect(function(){if(!e||!a)return function(){};var b=function(){f.current&&f.current.apply(f,arguments)};return a.on(c,b),function(){a.off(c,b)}},[e,c,a,f])},G=function(a,c){var d,e="".concat((d=a).charAt(0).toUpperCase()+d.slice(1),"Element"),f=c?function(a){C("mounts <".concat(e,">")),D("mounts <".concat(e,">"));var c=a.id,d=a.className;return b.createElement("div",{id:c,className:d})}:function(c){var d,f=c.id,h=c.className,i=c.options,j=void 0===i?{}:i,k=c.onBlur,l=c.onFocus,m=c.onReady,n=c.onChange,o=c.onEscape,p=c.onClick,r=c.onLoadError,s=c.onLoaderStart,t=c.onNetworksChange,v=c.onCheckout,w=c.onLineItemClick,x=c.onConfirm,y=c.onCancel,z=c.onShippingAddressChange,A=c.onShippingRateChange,B=C("mounts <".concat(e,">")),E=B.elements,G=b.useState(null),H=g(G,2),I=H[0],J=H[1],K=b.useRef(null),L=b.useRef(null),M=D("mounts <".concat(e,">")),N=M.setCart,O=M.setCartState;F(I,"blur",k),F(I,"focus",l),F(I,"escape",o),F(I,"click",p),F(I,"loaderror",r),F(I,"loaderstart",s),F(I,"networkschange",t),F(I,"lineitemclick",w),F(I,"confirm",x),F(I,"cancel",y),F(I,"shippingaddresschange",z),F(I,"shippingratechange",A),"cart"===a?d=function(a){O(a),m&&m(a)}:m&&(d="expressCheckout"===a?m:function(){m(I)}),F(I,"ready",d),F(I,"change","cart"===a?function(a){O(a),n&&n(a)}:n),F(I,"checkout","cart"===a?function(a){O(a),v&&v(a)}:v),b.useLayoutEffect(function(){if(null===K.current&&E&&null!==L.current){var b=E.create(a,j);"cart"===a&&N&&N(b),K.current=b,J(b),b.mount(L.current)}},[E,j,N]);var P=q(j);return b.useEffect(function(){if(K.current){var a=u(j,P,["paymentRequest"]);a&&K.current.update(a)}},[j,P]),b.useLayoutEffect(function(){return function(){if(K.current&&"function"==typeof K.current.destroy)try{K.current.destroy(),K.current=null}catch(a){}}},[]),b.createElement("div",{id:f,className:h,ref:L})};return f.propTypes={id:p.string,className:p.string,onChange:p.func,onBlur:p.func,onFocus:p.func,onReady:p.func,onEscape:p.func,onClick:p.func,onLoadError:p.func,onLoaderStart:p.func,onNetworksChange:p.func,onCheckout:p.func,onLineItemClick:p.func,onConfirm:p.func,onCancel:p.func,onShippingAddressChange:p.func,onShippingRateChange:p.func,options:p.object},f.displayName=e,f.__elementType=a,f},H="undefined"==typeof window,I=G("auBankAccount",H),J=G("card",H),K=G("cardNumber",H),L=G("cardExpiry",H),M=G("cardCvc",H),N=G("fpxBank",H),O=G("iban",H),P=G("idealBank",H),Q=G("p24Bank",H),R=G("epsBank",H),S=G("payment",H),T=G("expressCheckout",H),U=G("paymentRequestButton",H),V=G("linkAuthentication",H),W=G("address",H),X=G("shippingAddress",H),Y=G("cart",H),Z=G("paymentMethodMessaging",H),$=G("affirmMessage",H),_=G("afterpayClearpayMessage",H);a.AddressElement=W,a.AffirmMessageElement=$,a.AfterpayClearpayMessageElement=_,a.AuBankAccountElement=I,a.CardCvcElement=M,a.CardElement=J,a.CardExpiryElement=L,a.CardNumberElement=K,a.CartElement=Y,a.Elements=B,a.ElementsConsumer=E,a.EpsBankElement=R,a.ExpressCheckoutElement=T,a.FpxBankElement=N,a.IbanElement=O,a.IdealBankElement=P,a.LinkAuthenticationElement=V,a.P24BankElement=Q,a.PaymentElement=S,a.PaymentMethodMessagingElement=Z,a.PaymentRequestButtonElement=U,a.ShippingAddressElement=X,a.useCartElement=function(){return D("calls useCartElement()").cart},a.useCartElementState=function(){return D("calls useCartElementState()").cartState},a.useElements=function(){return C("calls useElements()").elements},a.useStripe=function(){return C("calls useStripe()").stripe},Object.defineProperty(a,"__esModule",{value:!0})})}}])