PageSourceSearch

https://www.pottersresorts.com/a98fec3045fd8defeacba7e956c3352e99ab41df-bf3e073eeb28adc87d52.js

js pottersresorts.com collected 2026-10-02 11:15:31 UTC 41,086 bytes, 1 lines download raw bytes

1(self.webpackChunkpotters_resorts=self.webpackChunkpotters_resorts||[]).push([[3803],{22926: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<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function l(e,t){if(null==e)return{};var n,r,o=i(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function s(e,t){return c(e)||u(e,t)||m(e,t)||p()}function c(e){if(Array.isArray(e))return e}function u(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(s){l=!0,o=s}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}function m(e,t){if(e){if("string"==typeof e)return d(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)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function p(){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 f(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var h,y,b,v,g={exports:{}};function E(){return y?h:(y=1,h="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}function w(){if(v)return b;v=1;var e=E();function t(){}function n(){}return n.resetWarningCache=t,b=function(){function r(t,n,r,o,a,i){if(i!==e){var l=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 l.name="Invariant Violation",l}}function o(){return r}r.isRequired=r;var a={array:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:o,element:r,elementType:r,instanceOf:o,node:r,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return a.PropTypes=a,a}}g.exports=w()();var k=f(g.exports),C=function(e,n,r){var o=!!r,a=t.useRef(r);t.useEffect((function(){a.current=r}),[r]),t.useEffect((function(){if(!o||!e)return function(){};var t=function(){a.current&&a.current.apply(a,arguments)};return e.on(n,t),function(){e.off(n,t)}}),[o,n,e,a])},S=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},P=function(e){return null!==e&&"object"===o(e)},F=function(e){return P(e)&&"function"==typeof e.then},N=function(e){return P(e)&&"function"==typeof e.elements&&"function"==typeof e.createToken&&"function"==typeof e.createPaymentMethod&&"function"==typeof e.confirmCardPayment},j="[object Object]",x=function e(t,n){if(!P(t)||!P(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var o=Object.prototype.toString.call(t)===j;if(o!==(Object.prototype.toString.call(n)===j))return!1;if(!o&&!r)return t===n;var a=Object.keys(t),i=Object.keys(n);if(a.length!==i.length)return!1;for(var l={},s=0;s<a.length;s+=1)l[a[s]]=!0;for(var c=0;c<i.length;c+=1)l[i[c]]=!0;var u=Object.keys(l);if(u.length!==a.length)return!1;var m=t,d=n,p=function(t){return e(m[t],d[t])};return u.every(p)},A=function(e,t,n){return P(e)?Object.keys(e).reduce((function(o,i){var l=!P(t)||!x(e[i],t[i]);return n.includes(i)?(l&&console.warn("Unsupported prop change: options.".concat(i," is not a mutable property.")),o):l?r(r({},o||{}),{},a({},i,e[i])):o}),null):null},O="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.",B=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O;if(null===e||N(e))return e;throw new Error(t)},R=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O;if(F(e))return{tag:"async",stripePromise:Promise.resolve(e).then((function(e){return B(e,t)}))};var n=B(e,t);return null===n?{tag:"empty"}:{tag:"sync",stripe:n}},T=function(e){e&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"2.7.3"}),e.registerAppInfo({name:"react-stripe-js",version:"2.7.3",url:"https://stripe.com/docs/stripe-js/react"}))},Y=t.createContext(null);Y.displayName="ElementsContext";var M=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 <Elements> provider."));return e},_=function(e){var n=e.stripe,r=e.options,o=e.children,a=t.useMemo((function(){return R(n)}),[n]),i=s(t.useState((function(){return{stripe:"sync"===a.tag?a.stripe:null,elements:"sync"===a.tag?a.stripe.elements(r):null}})),2),l=i[0],c=i[1];t.useEffect((function(){var e=!0,t=function(e){c((function(t){return t.stripe?t:{stripe:e,elements:e.elements(r)}}))};return"async"!==a.tag||l.stripe?"sync"!==a.tag||l.stripe||t(a.stripe):a.stripePromise.then((function(n){n&&e&&t(n)})),function(){e=!1}}),[a,l,r]);var u=S(n);t.useEffect((function(){null!==u&&u!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")}),[u,n]);var m=S(r);return t.useEffect((function(){if(l.elements){var e=A(r,m,["clientSecret","fonts"]);e&&l.elements.update(e)}}),[r,m,l.elements]),t.useEffect((function(){T(l.stripe)}),[l.stripe]),t.createElement(Y.Provider,{value:l},o)};_.propTypes={stripe:k.any,options:k.object};var I=function(e){var n=t.useContext(Y);return M(n,e)},W=function(){return I("calls useElements()").elements},D=function(e){return(0,e.children)(I("mounts <ElementsConsumer>"))};D.propTypes={children:k.func.isRequired};var L=["on","session"],q=t.createContext(null);q.displayName="CustomCheckoutSdkContext";var U=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 <CustomCheckoutProvider> provider."));return e},H=t.createContext(null);H.displayName="CustomCheckoutContext";var $=function(e,t){if(!e)return null;e.on,e.session;var n=l(e,L);return r(r({},n),t||e.session())},K="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,a=t.useMemo((function(){return R(n,K)}),[n]),i=s(t.useState(null),2),l=i[0],c=i[1],u=s(t.useState((function(){return{stripe:"sync"===a.tag?a.stripe:null,customCheckoutSdk:null}})),2),m=u[0],d=u[1],p=function(e,t){d((function(n){return n.stripe&&n.customCheckoutSdk?n:{stripe:e,customCheckoutSdk:t}}))},f=t.useRef(!1);t.useEffect((function(){var e=!0;return"async"!==a.tag||m.stripe?"sync"===a.tag&&a.stripe&&!f.current&&(f.current=!0,a.stripe.initCustomCheckout(r).then((function(e){e&&(p(a.stripe,e),e.on("change",c))}))):a.stripePromise.then((function(t){t&&e&&!f.current&&(f.current=!0,t.initCustomCheckout(r).then((function(e){e&&(p(t,e),e.on("change",c))})))})),function(){e=!1}}),[a,m,r,c]);var h=S(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 y=S(r);t.useEffect((function(){var e,t;if(m.customCheckoutSdk){!r.clientSecret||P(y)||x(r.clientSecret,y.clientSecret)||console.warn("Unsupported prop change: options.client_secret is not a mutable property.");var n=null==y||null===(e=y.elementsOptions)||void 0===e?void 0:e.appearance,o=null==r||null===(t=r.elementsOptions)||void 0===t?void 0:t.appearance;o&&!x(o,n)&&m.customCheckoutSdk.changeAppearance(o)}}),[r,y,m.customCheckoutSdk]),t.useEffect((function(){T(m.stripe)}),[m.stripe]);var b=t.useMemo((function(){return $(m.customCheckoutSdk,l)}),[m.customCheckoutSdk,l]);return m.customCheckoutSdk?t.createElement(q.Provider,{value:m},t.createElement(H.Provider,{value:b},o)):null};z.propTypes={stripe:k.any,options:k.shape({clientSecret:k.string.isRequired,elementsOptions:k.object}).isRequired};var V=function(e){var n=t.useContext(q);return U(n,e)},G=function(e){var n=t.useContext(q),r=t.useContext(Y);if(n&&r)throw new Error("You cannot wrap the part of your app that ".concat(e," in both <CustomCheckoutProvider> and <Elements> providers."));return n?U(n,e):M(r,e)},J=function(){V("calls useCustomCheckout()");var e=t.useContext(H);if(!e)throw new Error("Could not find CustomCheckout Context; You need to wrap the part of your app that calls useCustomCheckout() in an <CustomCheckoutProvider> 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){G("mounts <".concat(r,">"));var n=e.id,o=e.className;return t.createElement("div",{id:n,className:o})}:function(n){var o,a=n.id,i=n.className,l=n.options,c=void 0===l?{}
1:l,u=n.onBlur,m=n.onFocus,d=n.onReady,p=n.onChange,f=n.onEscape,h=n.onClick,y=n.onLoadError,b=n.onLoaderStart,v=n.onNetworksChange,g=n.onConfirm,E=n.onCancel,w=n.onShippingAddressChange,k=n.onShippingRateChange,P=G("mounts <".concat(r,">")),F="elements"in P?P.elements:null,N="customCheckoutSdk"in P?P.customCheckoutSdk:null,j=s(t.useState(null),2),x=j[0],O=j[1],B=t.useRef(null),R=t.useRef(null);C(x,"blur",u),C(x,"focus",m),C(x,"escape",f),C(x,"click",h),C(x,"loaderror",y),C(x,"loaderstart",b),C(x,"networkschange",v),C(x,"confirm",g),C(x,"cancel",E),C(x,"shippingaddresschange",w),C(x,"shippingratechange",k),C(x,"change",p),d&&(o="expressCheckout"===e?d:function(){d(x)}),C(x,"ready",o),t.useLayoutEffect((function(){if(null===B.current&&null!==R.current&&(F||N)){var t=null;N?t=N.createElement(e,c):F&&(t=F.create(e,c)),B.current=t,O(t),t&&t.mount(R.current)}}),[F,N,c]);var T=S(c);return t.useEffect((function(){if(B.current){var e=A(c,T,["paymentRequest"]);e&&B.current.update(e)}}),[c,T]),t.useLayoutEffect((function(){return function(){if(B.current&&"function"==typeof B.current.destroy)try{B.current.destroy(),B.current=null}catch(e){}}}),[]),t.createElement("div",{id:a,className:i,ref:R})};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("<EmbeddedCheckout> must be used within <EmbeddedCheckoutProvider>");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,a=t.useMemo((function(){return R(n,ne)}),[n]),i=t.useRef(null),l=t.useRef(null),c=s(t.useState({embeddedCheckout:null}),2),u=c[0],m=c[1];t.useEffect((function(){if(!l.current&&!i.current){var e=function(e){l.current||i.current||(l.current=e,i.current=l.current.initEmbeddedCheckout(r).then((function(e){m({embeddedCheckout:e})})))};"async"!==a.tag||l.current||!r.clientSecret&&!r.fetchClientSecret?"sync"!==a.tag||l.current||!r.clientSecret&&!r.fetchClientSecret||e(a.stripe):a.stripePromise.then((function(t){t&&e(t)}))}}),[a,r,u,l]),t.useEffect((function(){return function(){u.embeddedCheckout?(i.current=null,u.embeddedCheckout.destroy()):i.current&&i.current.then((function(){i.current=null,u.embeddedCheckout&&u.embeddedCheckout.destroy()}))}}),[u.embeddedCheckout]),t.useEffect((function(){T(l)}),[l]);var d=S(n);t.useEffect((function(){null!==d&&d!==n&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the `stripe` prop after setting it.")}),[d,n]);var p=S(r);return t.useEffect((function(){null!=p&&(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!=p.clientSecret&&r.clientSecret!==p.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!=p.fetchClientSecret&&r.fetchClientSecret!==p.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!=p.onComplete&&r.onComplete!==p.onComplete&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onComplete option after setting it."),null!=p.onShippingDetailsChange&&r.onShippingDetailsChange!==p.onShippingDetailsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onShippingDetailsChange option after setting it.")):console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot unset options after setting them."))}),[p,r]),t.createElement(ee.Provider,{value:u},o)},oe=function(e){var n=e.id,r=e.className,o=te().embeddedCheckout,a=t.useRef(!1),i=t.useRef(null);return t.useLayoutEffect((function(){return!a.current&&o&&null!==i.current&&(o.mount(i.current),a.current=!0),function(){if(a.current&&o)try{o.unmount(),a.current=!1}catch(e){}}}),[o]),t.createElement("div",{ref:i,id:n,className:r})},ae=function(e){var n=e.id,r=e.className;return te(),t.createElement("div",{id:n,className:r})},ie=Z?ae:oe,le=function(){return G("calls useStripe()").stripe},se=X("auBankAccount",Z),ce=X("card",Z),ue=X("cardNumber",Z),me=X("cardExpiry",Z),de=X("cardCvc",Z),pe=X("fpxBank",Z),fe=X("iban",Z),he=X("idealBank",Z),ye=X("p24Bank",Z),be=X("epsBank",Z),ve=X("payment",Z),ge=X("expressCheckout",Z),Ee=X("paymentRequestButton",Z),we=X("linkAuthentication",Z),ke=X("address",Z),Ce=X("shippingAddress",Z),Se=X("paymentMethodMessaging",Z),Pe=X("affirmMessage",Z),Fe=X("afterpayClearpayMessage",Z);e.AddressElement=ke,e.AffirmMessageElement=Pe,e.AfterpayClearpayMessageElement=Fe,e.AuBankAccountElement=se,e.CardCvcElement=de,e.CardElement=ce,e.CardExpiryElement=me,e.CardNumberElement=ue,e.CustomCheckoutProvider=z,e.Elements=_,e.ElementsConsumer=D,e.EmbeddedCheckout=ie,e.EmbeddedCheckoutProvider=re,e.EpsBankElement=be,e.ExpressCheckoutElement=ge,e.FpxBankElement=pe,e.IbanElement=fe,e.IdealBankElement=he,e.LinkAuthenticationElement=we,e.P24BankElement=ye,e.PaymentElement=ve,e.PaymentMethodMessagingElement=Se,e.PaymentRequestButtonElement=Ee,e.ShippingAddressElement=Ce,e.useCustomCheckout=J,e.useElements=W,e.useStripe=le}(t,n(96540))},37427:function(e,t,n){"use strict";n.d(t,{c:function(){return f}});var r,o="https://js.stripe.com/v3",a=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,i="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",l=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".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 <body> element.");return r.appendChild(n),n},s=null,c=null,u=null,m=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(i),window.Stripe)t(window.Stripe);else try{var r=function(){for(var e=document.querySelectorAll('script[src^="'.concat(o,'"]')),t=0;t<e.length;t++){var n=e[t];if(a.test(n.src))return n}return null}();if(r&&e)console.warn(i);else if(r){if(r&&null!==u&&null!==c){var s;r.removeEventListener("load",u),r.removeEventListener("error",c),null===(s=r.parentNode)||void 0===s||s.removeChild(r),r=l(e)}}else r=l(e);u=function(e,t){return function(){window.Stripe?e(window.Stripe):t(new Error("Stripe.js not available"))}}(t,n),c=function(e){return function(){e(new Error("Failed to load Stripe.js"))}}(n),r.addEventListener("load",u),r.addEventListener("error",c)}catch(m){return void n(m)}else t(null)}))).catch((function(e){return s=null,Promise.reject(e)}))}
1,d=!1,p=function(){return r||(r=m(null).catch((function(e){return r=null,Promise.reject(e)})))};Promise.resolve().then((function(){return p()})).catch((function(e){d||console.warn(e)}));var f=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d=!0;var r=Date.now();return p().then((function(e){return function(e,t,n){if(null===e)return null;var r=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"2.4.0",startTime:t})}(r,n),r}(e,t,r)}))}},6813:function(e,t,n){"use strict";n.d(t,{A:function(){return l}});var r=n(96540),o="counter-module--disabled--b553c",a="counter-module--input--032f0",i="counter-module--spacer--326e2";var l=e=>{let{setNumber:t,number:n,min:l,max:s}=e;return r.createElement("div",{className:"counter-module--wrapper--1b9d9"},r.createElement("div",{onClick:()=>{n>l&&t(n-1)},className:`${a} ${n===l&&o}`},"-"),r.createElement("div",{className:i}),r.createElement("div",{className:"counter-module--number--a886a"},n),r.createElement("div",{className:i}),r.createElement("div",{onClick:()=>{n<s&&t(n+1)},className:`${a} ${n===s&&o}`},"+"))}},41723:function(e,t,n){"use strict";n.d(t,{A:function(){return j}});var r=n(96540),o=n(6813),a=n(88544),i=n(87586),l=n(78311),s=n(16787),c=n(7425),u=n(73885),m=n(22969),d=n(36402),p=n(71083),f=n(25615),h=n(64966),y=n(48032),b=n(9931);var v=e=>{let{show:t,handleClose:n}=e;return r.createElement(y.A,{show:t,onHide:n,centered:!0,size:"lg",dialogClassName:"primaryModal"},r.createElement(y.A.Header,{closeButton:!0}),r.createElement(y.A.Body,null,r.createElement(b.A,null)))},g=n(77765);var E=e=>{let{id:t="",callback:n,source:o,setLeadFriend:a,quantity:i=2,buttonMsg:l="Proceed to payment"}=e;const{0:y,1:b}=(0,r.useState)(!1),{0:E,1:w}=(0,r.useState)(!1),{0:k,1:C}=(0,r.useState)({});return r.createElement("div",{className:"mt-3",id:t},r.createElement("div",{className:"brochure-form"},r.createElement("div",null,r.createElement(c.l1,{initialValues:{email:"",name:"",surname:"",address_1:"",address_2:"",postcode:"",city:"",county:"",phone:"",confirmation:!1},onSubmit:e=>{var t;w(!0),e.quantity=i,e.postcode=e.postcode?e.postcode.toUpperCase():"",e.postal_optin=!0,e.sms_optin=!0,e.referral_id=(0,g.mq)(),a(e);const r=`${null!==(t={}.GATSBY_PORTAL_URL)&&void 0!==t?t:g.Pl}api/v3/subscriptions`;(0,p.A)({method:"post",headers:{"Content-Type":"application/json"},url:r,data:{...e,type:(0,g.v2)(),source:o},timeout:1e4}).then((e=>{n(e.data)})).catch((e=>{let{response:t}=e;const{data:n}=t;C(n.errors)})).finally((()=>{w(!1)}))}},(e=>{const{handleChange:t,handleBlur:n,handleSubmit:o}=e,a=e=>{if(k[e.target.name]){let t=k;delete t[e.target.name],C((()=>t))}t(e)},i=e=>{if(k[e.target.name]){let t=k;delete t[e.target.name],C((()=>t))}n(e)};return r.createElement(d.A,{onSubmit:o},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-sm-12 col-md-6"},r.createElement(d.A.Control,{required:!0,type:"text",name:"name",placeholder:"First Name",onChange:a,onBlur:i})),r.createElement("div",{className:"col-sm-12 col-md-6 mt-3 mt-md-0"},r.createElement(d.A.Control,{required:!0,type:"text",name:"surname",placeholder:"Last Name",onChange:a,onBlur:i})),k.name&&r.createElement("div",{className:"col-sm-12 mt-1"},r.createElement(m.K,{fromBottom:1},k.name[0])),r.createElement("div",{className:"col-sm-12 mt-3"},r.createElement(d.A.Control,{required:!0,type:"email",name:"email",placeholder:"Email",onChange:a,onBlur:i}),k.email&&r.createElement(m.K,{fromBottom:1},k.email[0])),r.createElement("div",{className:"col-sm-12 mt-3"},r.createElement(s.A,Object.assign({manual:!1},e)),k.postcode&&r.createElement(m.K,{fromBottom:1},k.postcode),!k.postcode&&k.address_1&&r.createElement(m.K,{fromBottom:1},"Please click the button above and select your address.")),r.createElement("div",{className:"col-sm-12 mt-3"},r.createElement(d.A.Control,{type:"phone",name:"phone",placeholder:"Mobile Number",onChange:a,onBlur:i}),k.phone&&r.createElement(m.K,{fromBottom:1},k.phone[0])),r.createElement("div",{className:"col-12 mt-4"},r.createElement("p",{className:"mt-2"},"Throughout your membership, we will send you Friends offers via email, SMS and post so that you never miss out. You can unsubscribe from these channels at any time by contacting our friendly sales team.")),r.createElement("div",{className:"col-12 mt-3"},r.createElement(h.p,{as:"checkbox",label:r.createElement(r.Fragment,null,"Please tick this box to confirm you have read and accept the"," ",r.createElement("a",{style:{textDecoration:"underline"},href:"/",onClick:e=>{e.preventDefault(),b(!0)}},r.createElement("strong",null,"Friends Terms & Conditions"))),name:"confirmation",id:"confirmation",onChange:a,onBlur:i}),k.confirmation&&r.createElement(m.K,{fromBottom:1},"Please accept the terms and conditions.")),r.createElement("div",{className:"mt-3"},r.createElement(f.A,{type:"submit",disabled:E,variant:"friends",className:"btn-white-border"},E?r.createElement(u.m,null):l))))})),r.createElement(v,{show:y,handleClose:()=>{b(!1)}}))))},w=n(22926),k=n(37427),C=n(21499),S=n(78943);const P=(0,k.c)((0,g.jj)()),F=e=>{if(e%1!=0){let t=parseFloat(e).toFixed(2).toString().split(".");return r.createElement("span",null,t[0],".",r.createElement("span",{className:"afterDecimal"},t[1]))}return r.createElement("span",null,e,".",r.createElement("span",{className:"afterDecimal"},"00"))},N=e=>{let{location:t,total:n}=e;const{0:o,1:a}=(0,r.useState)(!1),{0:i,1:l}=(0,r.useState)(),s=(0,w.useStripe)(),c=(0,w.useElements)();return r.createElement(r.Fragment,null,r.createElement("form",{onSubmit:async e=>{l({}),e.preventDefault(),a(!0);const{error:n}=await s.confirmPayment({elements:c,confirmParams:{return_url:`${t.origin}/friends/payment/?referral_id=${(0,g.mq)()}`}});l(n),n&&(a(!1),console.error(n))}},r.createElement("div",{className:"text-center"},r.createElement(w.PaymentElement,{options:{}}),r.createElement("p",{className:"mt-3"},"Total: £",F(n/100)),i&&i.message&&r.createElement(r.Fragment,null,r.createElement("p",{style:{color:"red"}},"Unfortunately your payment wasn't successful, please try again.",r.createElement("br",null),"Rest assured, no money has been taken from your account."),r.createElement("p",{style:{color:"red"}},"Reason for error:",r.createElement("br",null),i&&i.message))),r.createElement("button",{className:"btn btn-friends",disabled:o,type:"submit"},o?r.createElement(u.m,null):"Pay Now")),r.createElement(y.A,{show:o,centered:!0},r.createElement(y.A.Body,{className:"text-center"},r.createElement(C.U,{color:"rgb(24,25,55)",fill:"rgb(24,25,55)"}),r.createElement("p",null,"We are trying to process your payment..."))))};var j=e=>{let{disabled:t,price:n=99,name:s,friendConfigSet:c,source:u}=e;if(t)return r.createElement(r.Fragment,null,r.createElement("div",{className:"col-12 col-md-8 offset-md-2 text-center"},r.createElement("h2",{id:"join"},"BRB - Just Doing a Little Maintenance"),r.createElement("p",null,"You’re in the right place – our Friends sign-up page is just having a quick update."),r.createElement("p",null,"We’re so excited that you want to join Friends, and we’ll be back in a few hours so you can do just that. Please check back later today – and thanks ever so much for bearing with us!")));const{0:m,1:d}=(0,r.useState)(""),{0:p,1:f}=(0,r.useState)(1),{0:h,1:y}=(0,r.useState)(2),{0:b,1:v}=(0,r.useState)(0),[,g]=(0,a.A)("subscription_id"),k=(0,i.A)();return r.createElement(r.Fragment,null,r.createElement("div",{className:"col-12 col-md-8 offset-md-2 text-center"},r.createElement("h2",{id:"join",className:"mb-1"},"BECOME A FRIEND TODAY"),1===p&&r.createElement(r.Fragment,null,r.createElement("p",null,r.createElement("strong",null,"We are so excited you are joining!")),r.createElement("p",{className:"mb-5"},r.createElement("strong",null,"First of all, how many Friends will you be signing up today?")),r.createElement(o.A,{min:1,max:9,setNumber:y,number:h}),r.createElement("p",{className:"mt-3",style:{fontSize:20}},"Your total price will be ",r.createElement("strong",null,"£",n*h)),r.createElement("p",{className:"mt-5"},"To keep all Friends offers exclusive, every person on a booking will need to become a Friend to qualify for the saving. But don’t worry, with our ‘First Stay Promise’, everyone is guaranteed to save their membership fee with their first Friends offer booking."),r.createElement(l.h,{variant:"friends",className:"btn-white-border",type:"onClick",onClick:()=>f(p+1)},"Continue"),r.createElement("br",null),r.createElement("small",null,"Every Friend must be over 18 to join. On family breaks at Hopton-on-Sea, accompanying children will be eligible for Friends savings if all adults on the booking are members."))),r.createElement("div",{className:"col-12 col-md-8 offset-md-2 text-center"},2===p&&!m&&r.createElement(r.Fragment,null,r.createElement("p",{className:"mb-1"},r.createElement("strong",null,"Excellent, we can’t wait for"," ",h>1?h>2?"all of you":"both of you":"you"," ","to join!")),r.createElement("p",null,"Now, who w
1ould you like to look after the memberships?"),r.createElement(E,{quantity:h,setLeadFriend:e=>{c(e)},callback:e=>{g(e.subscription_id),d(e.clientSecret),v(e.total)},source:u}),r.createElement("a",{href:"/",style:{textDecoration:"underline"},className:"mt-3",type:"onClick",onClick:e=>{e.preventDefault(),f(p-1)}},"Change Number of Memberships")),m&&r.createElement(r.Fragment,null,r.createElement("p",null,r.createElement("strong",null,"Brilliant, you're so close ",s)),r.createElement("p",null,"Today you"," ",h-1==0?"":r.createElement(r.Fragment,null,"and ",h-1," friend",h-1>1?"s":"")," ","are joining our Friends club for one year for £",F(b/100)),r.createElement("div",{className:S.wR},r.createElement(w.Elements,{stripe:P,options:{clientSecret:m}},r.createElement(N,{total:b,location:k}))),r.createElement("p",null,"Your membership will automatically renew in a year’s time so don’t worry, you won’t miss out on any exclusive content or offers. You can cancel your membership at any time."),r.createElement("p",null,"Your security is our top priority. All transactions are taken through Stripe which encrypts sensitive data both in transit and at rest for your protection."))))}},36090:function(e,t,n){"use strict";var r=n(96540);const o=(0,r.forwardRef)(((e,t)=>{var n;let{as:o="h2",children:a,className:i,...l}=e;const s=`${o}`,c=null!==(n=l.style)&&void 0!==n?n:{};return r.createElement(s,Object.assign({className:`subHeader ${i}`,ref:t},l,{style:{...c,textWrap:"balance"}}),a)}));t.A=o},9931:function(e,t,n){"use strict";var r=n(96540);t.A=()=>r.createElement(r.Fragment,null,r.createElement("h2",{className:"subHeader"},"Friends Terms and Conditions"),r.createElement("p",null,"The following Friends Terms & Conditions cover the important elements of your Friends Membership and offers."),r.createElement("p",null,r.createElement("strong",null,"Your Membership")),r.createElement("p",null,"Friends is an invitation-only loyalty club for Potters Resorts. You can only join if Potters Resorts or an existing Friend invites you."),r.createElement("p",null,"Friends Membership is £99 per person per year. This must be taken as one payment to activate membership. It will automatically renew on the same date each year after the first payment unless you cancel. We will only contact you before renewal if your card has since expired."),r.createElement("p",null,"Membership applies for one year from the date of purchase and is non-transferable in whole or part."),r.createElement("p",null,"Only Friends Members can use Friends offers. If you are bringing guests who are not Friends, you can invite them to become members, or they can book without your Friends offer."),r.createElement("p",null,"To join, you must enter your name, address and email address, before completing payment. Once you’ve joined, you will have to enter this same information for additional guests so they can become friends. These additional Friends members cannot be swapped or transferred later."),r.createElement("p",null,"Your next step will be to complete your Friends membership welcome survey. We need this information to help you get the best out of your Friends membership, giving you tailored offers for the types of break you want, at the times you want to visit Potters. You will not receive any offers until you have completed your welcome survey."),r.createElement("p",null,"The additional Friends on your account will also be sent this survey. They must complete this to receive offers. Due to all offers being tailored, they may receive different offers from you. However, you will always be able to use their offers if you choose."),r.createElement("p",null,"If you choose to cancel your membership renewal, your account will run until the end of your billing period. Any other Friends on your profile would be invited to re-join themselves. You will not be entitled to any refund for cancelling your membership or reducing the number of Friends on your account."),r.createElement("p",null,"We reserve the right to remove savings from guests who are not Friends members. If this happens, we will c
1ontact the lead booker and require the remaining payment within 48 hours. If this is not possible, the booking will unfortunately be cancelled."),r.createElement("p",null,"We reserve the right to check photo ID to ensure those using a Friends saving are bona fide Friends members."),r.createElement("p",null,"As a Friends member, you get the exclusive benefit of being able to book your breaks seven days before they're made available to the general public. Your Early Booking Window will start after we have completed rebookings from the previous year. As a result, you may find that some rooms and room types are unavailable during your Early Booking Window."),r.createElement("p",null,"By signing up to Friends, we will send you regular emails with offers. You can opt-out at any time. When signing up, you can opt-in or opt-out of receiving offers via SMS and with your posted brochures or Life On Resorts."),r.createElement("p",null,"As a valued Friend, you'll receive outstanding offers that reflect the best prices available to you at that moment. We're committed to providing great value to our Friends, but it's important to note that these prices may not always be the lowest you'll encounter. Our Friends offers are subject to change and might become even more enticing based on availability. Keep an eye on upcoming offers as we love treating our Friends to fantastic savings whenever possible!"),r.createElement("p",null,r.createElement("strong",null,"Your Offers")),r.createElement("p",null,"Once you join, you will be regularly sent tailored offers based on your Friends welcome survey and booking history. We will honour all Friends offers for any Friend, even if you did not receive the offer."),r.createElement("p",null,"Friends offers are subject to promotional rate availability and are distributed at the discretion of Potters Resorts. All offers are for new bookings only and cannot be used with any other offer or promotion. Offers do not apply to infants. Potters Resorts reserves the right to change or withdraw offers at any time and without prior notice."),r.createElement("p",null,"Your specific Friends code must be used at the time of booking. Existing bookings are not eligible for a saving if later offered through Friends, and the total price will remain as quoted at the time of booking. We ask that under no circumstance you request The Potter Family, Management or Team to waive or amend this condition of Friends. All prices shown for Potters Resorts Hopton-on-Sea are per person and based on Bungalow accommodation; Bungalow Plus and Hotel supplements apply. All prices shown for Potters Resorts Five Lakes are per person and based on Premier accommodation; Premier Plus, Deluxe, Deluxe Plus and Hotel Suite supplements apply."),r.createElement("p",null,"Friends bookings may be subject to random verification checks on arrival at the resort. If selected, you may be asked to provide photo identification that matches the name on your Friends membership. Please ensure you have suitable photo ID available when you travel to avoid any delay in accessing your Friends benefits and discounts."),r.createElement("p",null,r.createElement("strong",null,"Late Bookings")),r.createElement("p",null,"Some of the offers you will receive will be for breaks within the next four weeks. For these breaks, bookings cannot be provisionally held, and they are offered on a “first to confirm and pay” basis, which is fair to all. Full payment must be taken at the time of booking."),r.createElement("p",null,"When making a late booking, you will unlikely be allocated your preferred accommodation or room type, and special requests will not normally be fulfilled."),r.createElement("p",null,"You will also get a Friends 72 Hour Before Benefit, where you can book any break at Potters Resorts Hopton-on-Sea or Potters Resorts Five Lakes for £100 per person per night within 72 hours of the break’s start date. Supplements apply for Bungalow Plus and Hotel accommodation at Hopton-on-Sea and Premier Plus, Deluxe, Deluxe Plus and Hotel Suite accommodation at Five Lakes. Subject to promotional rate availability."),r.createElement("p",null,r.createElement("strong",null,"Your Promises")),r.createElement("p",null,"1. First Stay Promise - Your Membership Pays For Itself"),r.createElement("p",null,"We promise that the first time you book using a Friends offer with us, your membership fee will pay for itself with the savings 
1you receive compared to the full brochure price. If it doesn’t, we’ll give you double your money back. That’s our ‘First Stay Promise’."),r.createElement("p",null,"2. Your Annual Booking Assurance"),r.createElement("p",null,"If you don't manage to book a break during your membership year, you can request credit for the full value of your membership fee towards a future stay with us. You'll have 12 months from the end of that membership year to claim your credit and book your break. The break itself can be at any time."),r.createElement("p",null,"These terms apply to memberships taken out or renewed on or after 2nd September 2026."),r.createElement("p",null,r.createElement("strong",null,"Your Renewal")),r.createElement("p",null,"Payment will be automatically taken from the card on file from your initial payment each year. Please remember that date as refunds cannot be given."),r.createElement("p",null,"If your card has expired, we will send you a reminder 14 days before your membership is up with a link for you to update your payment information."),r.createElement("p",null,"If your payment is missed, we will attempt to retake the payment two more times over the following week. Your account will be frozen until payment is received. If you have not renewed within 14 days, your account will be deleted, and you must be invited to join again."),r.createElement("p",null,"We may change the annual membership fee from time to time. Any change will only apply at the member's next renewal date and we will provide advance notice before the new fee is charged."),r.createElement("p",null,r.createElement("strong",null,"Your Notifications")),r.createElement("p",{className:"mb-0"},"When you sign up for Friends, we will email you your offers by default. You will also be able to enter your mobile number to receive SMS notifications."),r.createElement("br",null),r.createElement("br",null),"---",r.createElement("br",null),r.createElement("br",null),r.createElement("p",null,"For Potters Resorts’ booking terms and conditions, please visit"," ",r.createElement("a",{style:{textDecoration:"underline"},href:"/terms-and-conditions"},r.createElement("strong",null,"www.pottersresorts.com/terms-and-conditions"))),r.createElement("p",null,"Calls are charged at a national rate and, in many cases, count toward inclusive minutes on landline and mobile contracts."))},66773:function(e,t,n){"use strict";var r=n(96540),o=n(9183);t.A=e=>{let{type:t,id:n,color:a="#043676"}=e;return r.createElement("div",null,r.createElement("div",{className:"pottersDivider",id:null!=n?n:""},r.createElement("hr",{style:{background:`linear-gradient(90deg, transparent, ${a}, transparent)`},className:`pottersHr ${null!=t?t:""}`}),r.createElement(o.A,{highlight:a,width:"39px",height:"39px",base:"none"})))}},21499:function(e,t,n){"use strict";n.d(t,{U:function(){return o}});var r=n(96540);const o=e=>{let{fill:t="#c8a45d"}=e;return r.createElement("div",{className:"potters-logo-spinner-module--spinnerWrapper--eb6de"},r.createElement("div",{className:"potters-logo-spinner-module--spinner--fabdd"},r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 38 38"},r.createElement("g",{fill:"none",stroke:t,strokeWidth:"2",transform:"translate(1 1)"},r.createElement("circle",{cx:"18",cy:"18",r:"18",strokeOpacity:".5"}),r.createElement("path",{d:"M36 18c0-9.9-8.1-18-18-18"},r.createElement("animateTransform",{fill:"remove",accumulate:"none",additive:"replace",attributeName:"transform",calcMode:"linear",dur:"1s",from:"0 18 18",repeatCount:"indefinite",restart:"always",to:"360 18 18",type:"rotate"}))),r.createElement("path",{fill:t,d:"M18.8 12.4c.7-.1 1.3-.1 2-.1 3.8 0 4.6 2.2 4.6 4.4 0 2.9-2 5-5.1 5-.5 0-1.2 0-1.5-.1v-9.2zm-.3-7.6c-4.8.3-8.5 4-8.5 8.6 0 3.9 2.7 7.1 6.5 8.2v5.9c0 1.3-.4 2-1.9 2h-.3s-.1 0-.1.1.1.1.1.1h7.4s.1 0 .1-.1-.1-.1-.1-.1h-.6c-1.8 0-2.3-.9-2.3-2.5v-4.9c.4.1.9.1 1.3.1h1.8c3.8-.2 6.2-2.3 6.2-5.4 0-2.2-1.4-5-7.3-5-.8 0-3.3.1-4.7.2-1.4.1-1.4.1-2.2.2 0 0-.1 0-.1.1s.1.1.1.1H15c1 0 1.5.7 1.5 1.7V21c-4.3-1.4-7.1-5.4-6.2-9.4 1-4.4 6-7.2 11.2-6.2h.2C27.6 7 32 12.3 32 
118.7c0 7.5-6.1 13.5-13.5 13.5C11 32.2 5 26.1 5 18.7c0-2.4.6-4.7 1.8-6.7h-.1c-1.2 2.1-1.9 4.5-1.9 7 0 7.9 6.4 14.2 14.2 14.2 7.9 0 14.2-6.4 14.2-14.2 0-7.3-5.7-13.6-12.5-14.2-.5 0-.9-.1-1.4 0h-.8"}))))}},9183:function(e,t,n){"use strict";var r=n(96540);const o=e=>{const{base:t="#043676",highlight:n="#FFFFFF",width:o="27",height:a="27",style:i}=e;return r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 125.6 125.7",width:o,height:a,style:i,"aria-labelledby":"logo-title"},r.createElement("circle",{cx:"62.8",cy:"62.9",r:"62.8",fill:t}),r.createElement("path",{fill:n,d:"M62.1 33.8c3-.5 5.7-.5 8.6-.5 16.6 0 20.5 9.6 20.5 19.3 0 12.6-8.7 21.8-22.3 21.8-2.4 0-5.1-.2-6.7-.6v-40zM60.5.1C39.5 1.3 23 17.8 23 37.8 23 54.9 35.1 69.3 51.7 74v26.1c0 5.9-1.9 8.8-8.4 8.8h-1.4s-.5 0-.5.4.5.4.5.4h32.7s.4 0 .4-.4-.4-.4-.4-.4H72c-7.9 0-10-4.2-10-11.1V76.3c1.9.4 3.8.5 5.7.5h3.7c1 0 3.3 0 4.3-.1 16.7-1 27.1-10 27.1-23.7 0-9.6-6-22.1-32.1-22.1-3.4 0-14.4.6-20.8 1-6.1.4-6.2.4-9.7.7 0 0-.3 0-.3.3 0 .2.3.3.3.3l1.7.1 2.9.1c4.6.1 6.8 3 6.8 7.6v30.6c-18.9-6.3-31.4-23.9-27.5-41.3 4.4-19.4 26.7-31.4 49.5-27 .3.1.7.1 1 .2 26.1 6.4 45.5 29.9 45.5 58 0 33-26.7 59.7-59.7 59.7S.7 94.5.7 61.5c0-10.7 2.8-20.8 7.8-29.4l-.3-.2C3 41 0 51.6 0 62.9c0 34.7 28.1 62.8 62.8 62.8 34.7 0 62.8-28.1 62.8-62.8 0-32-25-59.8-55.2-62.6-2-.3-4.1-.3-6.2-.3h-1.9c-.8.1-1.5.1-1.8.1"}))};t.A=r.memo(o)},78943:function(e,t,n){"use strict";n.d(t,{b1:function(){return a},iE:function(){return l},uK:function(){return r},wH:function(){return i},wR:function(){return o}});var r="friends-form-module--option--9d4cb",o="friends-form-module--paymentWrapper--180e0",a="friends-form-module--question--363f6",i="friends-form-module--selected--68f13",l="friends-form-module--wrapper--7f11a"}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.