(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9101,4465],{86664:function(e,t,n){!function(e,t){"use strict";function n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function r(e){for(var t=1;t=0||(o[n]=e[n]);return o}function i(e,t){if(null==e)return{};var n,r,o=c(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function s(e,t){return a(e)||l(e,t)||p(e,t)||d()}function a(e){if(Array.isArray(e))return e}function l(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var r,o,u=[],c=!0,i=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(u.push(r.value),!t||u.length!==t);c=!0);}catch(s){i=!0,o=s}finally{try{c||null==n.return||n.return()}finally{if(i)throw o}}return u}}function p(e,t){if(e){if("string"===typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:N;if(null===e||O(e))return e;throw new Error(t)},I=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N;if(j(e))return{tag:"async",stripePromise:Promise.resolve(e).then((function(e){return _(e,t)}))};var n=_(e,t);return null===n?{tag:"empty"}:{tag:"sync",stripe:n}},L=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"}))},T=t.createContext(null);T.displayName="ElementsContext";var U=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},B=function(e){var n=e.stripe,r=e.options,o=e.children,u=t.useMemo((function(){return I(n)}),[n]),c=s(t.useState((function(){return{stripe:"sync"===u.tag?u.stripe:null,elements:"sync"===u.tag?u.stripe.elements(r):null}})),2),i=c[0],a=c[1];t.useEffect((function(){var e=!0,t=function(e){a((function(t){return t.stripe?t:{stripe:e,elements:e.elements(r)}}))};return"async"!==u.tag||i.stripe?"sync"!==u.tag||i.stripe||t(u.stripe):u.stripePromise.then((function(n){n&&e&&t(n)})),function(){e=!1}}),[u,i,r]);var l=w(n);t.useEffect((function(){null!==l&&l!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")}),[l,n]);var p=w(r);return t.useEffect((function(){if(i.elements){var e=R(r,p,["clientSecret","fonts"]);e&&i.elements.update(e)}}),[r,p,i.elements]),t.useEffect((function(){L(i.stripe)}),[i.stripe]),t.createElement(T.Provider,{value:i},o)};B.propTypes={stripe:k.any,options:k.object};var M=function(e){var n=t.useContext(T);return U(n,e)},Y=function(){return M("calls useElements()").elements},D=function(e){return(0,e.children)(M("mounts "))};D.propTypes={children:k.func.isRequired};var W=["on","session"],q=t.createContext(null);q.displayName="CustomCheckoutSdkContext";var F=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},$=t.createContext(null);$.displayName="CustomCheckoutContext";var H=function(e,t){if(!e)return null;e.on,e.session;var n=i(e,W);return r(r({},n),t||e.session())},V="Invalid prop `stripe` supplied to `CustomCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",z=function(e){var n=e.stripe,r=e.options,o=e.children,u=t.useMemo((function(){return I(n,V)}),[n]),c=s(t.useState(null),2),i=c[0],a=c[1],l=s(t.useState((function(){return{stripe:"sync"===u.tag?u.stripe:null,customCheckoutSdk:null}})),2),p=l[0],f=l[1],d=function(e,t){f((function(n){return n.stripe&&n.customCheckoutSdk?n:{stripe:e,customCheckoutSdk:t}}))},m=t.useRef(!1);t.useEffect((function(){var e=!0;return"async"!==u.tag||p.stripe?"sync"===u.tag&&u.stripe&&!m.current&&(m.current=!0,u.stripe.initCustomCheckout(r).then((function(e){e&&(d(u.stripe,e),e.on("change",a))}))):u.stripePromise.then((function(t){t&&e&&!m.current&&(m.current=!0,t.initCustomCheckout(r).then((function(e){e&&(d(t,e),e.on("change",a))})))})),function(){e=!1}}),[u,p,r,a]);var h=w(n);t.useEffect((function(){null!==h&&h!==n&&console.warn("Unsupported prop change on CustomCheckoutProvider: You cannot change the `stripe` prop after setting it.")}),[h,n]);var v=w(r);t.useEffect((function(){var e,t;if(p.customCheckoutSdk){!r.clientSecret||P(v)||A(r.clientSecret,v.clientSecret)||console.warn("Unsupported prop change: options.client_secret is not a mutable property.");var n=null===v||void 0===v||null===(e=v.elementsOptions)||void 0===e?void 0:e.appearance,o=null===r||void 0===r||null===(t=r.elementsOptions)||void 0===t?void 0:t.appearance;o&&!A(o,n)&&p.customCheckoutSdk.changeAppearance(o)}}),[r,v,p.customCheckoutSdk]),t.useEffect((function(){L(p.stripe)}),[p.stripe]);var y=t.useMemo((function(){return H(p.customCheckoutSdk,i)}),[p.customCheckoutSdk,i]);return p.customCheckoutSdk?t.createElement(q.Provider,{value:p},t.createElement($.Provider,{value:y},o)):null};z.propTypes={stripe:k.any,options:k.shape({clientSecret:k.string.isRequired,elementsOptions:k.object}).isRequired};var G=function(e){var n=t.useContext(q);return F(n,e)},J=function(e){var n=t.useContext(q),r=t.useContext(T);if(n&&r)throw new Error("You cannot wrap the part of your app that ".concat(e," in both and providers."));return n?F(n,e):U(r,e)},K=function(){G("calls useCustomCheckout()");var e=t.useContext($);if(!e)throw new Error("Could not find CustomCheckout Context; You need to wrap the part of your app that calls useCustomCheckout() in an provider.");return e},Q=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},X=function(e,n){var r="".concat(Q(e),"Element"),o=n?function(e){J("mounts <".concat(r,">"));var n=e.id,o=e.className;return t.createElement("div",{id:n,className:o})}:function(n){var o,u=n.id,c=n.className,i=n.options,a=void 0===i?{}:i,l=n.onBlur,p=n.onFocus,f=n.onReady,d=n.onChange,m=n.onEscape,h=n.onClick,v=n.onLoadError,y=n.onLoaderStart,C=n.onNetworksChange,g=n.onConfirm,E=n.onCancel,b=n.onShippingAddressChange,k=n.onShippingRateChange,P=J("mounts <".concat(r,">")),j="elements"in P?P.elements:null,O="customCheckoutSdk"in P?P.customCheckoutSdk:null,x=s(t.useState(null),2),A=x[0],N=x[1],_=t.useRef(null),I=t.useRef(null);S(A,"blur",l),S(A,"focus",p),S(A,"escape",m),S(A,"click",h),S(A,"loaderror",v),S(A,"loaderstart",y),S(A,"networkschange",C),S(A,"confirm",g),S(A,"cancel",E),S(A,"shippingaddresschange",b),S(A,"shippingratechange",k),S(A,"change",d),f&&(o="expressCheckout"===e?f:function(){f(A)}),S(A,"ready",o),t.useLayoutEffect((function(){if(null===_.current&&null!==I.current&&(j||O)){var t=null;O?t=O.createElement(e,a):j&&(t=j.create(e,a)),_.current=t,N(t),t&&t.mount(I.current)}}),[j,O,a]);var L=w(a);return t.useEffect((function(){if(_.current){var e=R(a,L,["paymentRequest"]);e&&"update"in _.current&&_.current.update(e)}}),[a,L]),t.useLayoutEffect((function(){return function(){if(_.current&&"function"===typeof _.current.destroy)try{_.current.destroy(),_.current=null}catch(e){}}}),[]),t.createElement("div",{id:u,className:c,ref:I})};return o.propTypes={id:k.string,className:k.string,onChange:k.func,onBlur:k.func,onFocus:k.func,onReady:k.func,onEscape:k.func,onClick:k.func,onLoadError:k.func,onLoaderStart:k.func,onNetworksChange:k.func,onConfirm:k.func,onCancel:k.func,onShippingAddressChange:k.func,onShippingRateChange:k.func,options:k.object},o.displayName=r,o.__elementType=e,o},Z="undefined"===typeof window,ee=t.createContext(null);ee.displayName="EmbeddedCheckoutProviderContext";var te=function(){var e=t.useContext(ee);if(!e)throw new Error(" must be used within ");return e},ne="Invalid prop `stripe` supplied to `EmbeddedCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",re=function(e){var n=e.stripe,r=e.options,o=e.children,u=t.useMemo((function(){return I(n,ne)}),[n]),c=t.useRef(null),i=t.useRef(null),a=s(t.useState({embeddedCheckout:null}),2),l=a[0],p=a[1];t.useEffect((function(){if(!i.current&&!c.current){var e=function(e){i.current||c.current||(i.current=e,c.current=i.current.initEmbeddedCheckout(r).then((function(e){p({embeddedCheckout:e})})))};"async"!==u.tag||i.current||!r.clientSecret&&!r.fetchClientSecret?"sync"!==u.tag||i.current||!r.clientSecret&&!r.fetchClientSecret||e(u.stripe):u.stripePromise.then((function(t){t&&e(t)}))}}),[u,r,l,i]),t.useEffect((function(){return function(){l.embeddedCheckout?(c.current=null,l.embeddedCheckout.destroy()):c.current&&c.current.then((function(){c.current=null,l.embeddedCheckout&&l.embeddedCheckout.destroy()}))}}),[l.embeddedCheckout]),t.useEffect((function(){L(i)}),[i]);var f=w(n);t.useEffect((function(){null!==f&&f!==n&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the `stripe` prop after setting it.")}),[f,n]);var d=w(r);return t.useEffect((function(){null!=d&&(null!=r?(void 0===r.clientSecret&&void 0===r.fetchClientSecret&&console.warn("Invalid props passed to EmbeddedCheckoutProvider: You must provide one of either `options.fetchClientSecret` or `options.clientSecret`."),null!=d.clientSecret&&r.clientSecret!==d.clientSecret&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the client secret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead."),null!=d.fetchClientSecret&&r.fetchClientSecret!==d.fetchClientSecret&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change fetchClientSecret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead."),null!=d.onComplete&&r.onComplete!==d.onComplete&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onComplete option after setting it."),null!=d.onShippingDetailsChange&&r.onShippingDetailsChange!==d.onShippingDetailsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onShippingDetailsChange option after setting it."),null!=d.onLineItemsChange&&r.onLineItemsChange!==d.onLineItemsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onLineItemsChange option after setting it.")):console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot unset options after setting them."))}),[d,r]),t.createElement(ee.Provider,{value:l},o)},oe=function(e){var n=e.id,r=e.className,o=te().embeddedCheckout,u=t.useRef(!1),c=t.useRef(null);return t.useLayoutEffect((function(){return!u.current&&o&&null!==c.current&&(o.mount(c.current),u.current=!0),function(){if(u.current&&o)try{o.unmount(),u.current=!1}catch(e){}}}),[o]),t.createElement("div",{ref:c,id:n,className:r})},ue=function(e){var n=e.id,r=e.className;return te(),t.createElement("div",{id:n,className:r})},ce=Z?ue:oe,ie=function(){return J("calls useStripe()").stripe},se=X("auBankAccount",Z),ae=X("card",Z),le=X("cardNumber",Z),pe=X("cardExpiry",Z),fe=X("cardCvc",Z),de=X("fpxBank",Z),me=X("iban",Z),he=X("idealBank",Z),ve=X("p24Bank",Z),ye=X("epsBank",Z),Ce=X("payment",Z),ge=X("expressCheckout",Z),Ee=X("currencySelector",Z),be=X("paymentRequestButton",Z),ke=X("linkAuthentication",Z),Se=X("address",Z),we=X("shippingAddress",Z),Pe=X("paymentMethodMessaging",Z),je=X("affirmMessage",Z),Oe=X("afterpayClearpayMessage",Z);e.AddressElement=Se,e.AffirmMessageElement=je,e.AfterpayClearpayMessageElement=Oe,e.AuBankAccountElement=se,e.CardCvcElement=fe,e.CardElement=ae,e.CardExpiryElement=pe,e.CardNumberElement=le,e.CurrencySelectorElement=Ee,e.CustomCheckoutProvider=z,e.Elements=B,e.ElementsConsumer=D,e.EmbeddedCheckout=ce,e.EmbeddedCheckoutProvider=re,e.EpsBankElement=ye,e.ExpressCheckoutElement=ge,e.FpxBankElement=de,e.IbanElement=me,e.IdealBankElement=he,e.LinkAuthenticationElement=ke,e.P24BankElement=ve,e.PaymentElement=Ce,e.PaymentMethodMessagingElement=Pe,e.PaymentRequestButtonElement=be,e.ShippingAddressElement=we,e.useCustomCheckout=K,e.useElements=Y,e.useStripe=ie}(t,n(67294))},54465:function(e,t,n){"use strict";n.r(t),n.d(t,{loadStripe:function(){return h}});var r,o="https:/https://www.ukmeds.co.uk/js.stripe.com/v3",u=/^https:\/\https://www.ukmeds.co.uk/js\.stripe\.com\/v3\/?(\?.*)?$/,c="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",i=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="http://wallaces.coach1online.com/?mask=".concat(o).concat(t);var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a element.");return r.appendChild(n),n},s=null,a=null,l=null,p=function(e){return null!==s?s:(s=new Promise((function(t,n){if("undefined"!==typeof window&&"undefined"!==typeof document)if(window.Stripe&&e&&console.warn(c),window.Stripe)t(window.Stripe);else try{var r=function(){for(var e=document.querySelectorAll('script[src^="'.concat(o,'"]')),t=0;t