1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8450],{4274:(e,t,r)=>{"use strict";r.d(t,{CloudinaryProvider:()=>i});var a=r(95155),s=r(47583),o=r(17012);function i(e){let{children:t}=e,r=(0,o.G)(e=>e.siteConfig.cloudinary.cloudName);return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(s.Gc,{secure:!0,cloudName:r,children:t})})}},6953:(e,t,r)=>{"use strict";r.d(t,{default:()=>ev});var a=r(95155),s=r(12115),o=r(6404),i=r(21001),n=r.n(i),l=r(95069),c=r(62238),d=r(33577),u=r(88957),h=r(10584),p=r(86019),y=r(21379),m=r(5323),v=r(67029),g=r(59806),w=r(62010),f=r(93498),k=r(49802),A=r(46537);let b={body:[]},R=(0,g.Z0)({name:"bookflowAccommodation",initialState:b,reducers:{setBookflowAccommodationBody(e,t){e.body=t.payload},clearBookflowAccommodationBody(e){e.body=b.body}},extraReducers:e=>{e.addCase(A.v,e=>{e.body=b.body})}}),{setBookflowAccommodationBody:S,clearBookflowAccommodationBody:P}=R.actions,x=R.reducer;var I=r(8671),C=r(86663),L=r(48868),E=r(17693),D=r(19495),T=r(1867),j=r(75515),_=r(26317),M=r(79204),z=r(94148),O=r(54754),B=r(96841),G=r(32151),H=r(30361),U=r(10728),F=r(78926),K=r(54303),N=r(50985),q=r(18365),V=r(92530),Q=r(71496),Z=r(45568),X=r(96247),Y=r(64857),W=r(72448),J=r(66808),$=r(34149),ee=r(20302),et=r(23846);let er=(0,v.HY)({booking:T.Ay,extras:G.Ay,payment:Q.A,insurance:F.Ay,travelV3:$.Ay,partyPage:q.Ay,preCheckIn:X.Ay,stays:W.A}),ea=(0,w.rL)({key:"utm",version:1,storage:k.A,blacklist:["pageDataLayer"]},et.Ay),es=(0,w.rL)({key:"basket",version:1,storage:f.A},O.Ay),eo=(0,w.rL)({key:"myEurocamp",version:2,storage:f.A,blacklist:["preCheckIn"],migrate:(0,w.Am)({2:e=>({...e,booking:{...e.booking,bookingHistory:e.booking.bookingHistory||{carts:[],parcs:{},accommodations:{}}}})},{debug:!0})},er),ei=(0,w.rL)({key:"booking",version:1,storage:f.A},B.Ay),en=(0,w.rL)({key:"travelV3",version:1,storage:f.A,blacklist:["vehicleMakesAndModels","routesLoading"]},ee.Ay),el=(0,w.rL)({key:"searchPanel",version:1,storage:k.A,whitelist:["selectedCountry","selectedRegion","travelDate","parties","regionsData","initialized"]},u.Ay),ec=(0,w.rL)({key:"itinerarySearchPanel",version:1,storage:k.A,whitelist:["selectedCountry","selectedRegion","travelDate","parties","initialized"]},d.Ay),ed=(0,w.rL)({key:"bookflowTabs",version:1,storage:f.A},I.Ay),eu=(0,w.rL)({key:"searchResults",version:1,whitelist:["selectedParc","selectedAccommodation"],storage:f.A},Y.Ay),eh=(0,w.rL)({key:"itinerarySearchResults",version:1,whitelist:["selectedItem"],storage:f.A},N.Ay),ep=(0,w.rL)({key:"stays",version:1,storage:f.A},J.A),ey=(0,w.rL)({key:"bookflowAccommodation",version:1,storage:f.A},x),em=(0,w.rL)({key:"payment",version:1,storage:k.A,whitelist:["options","selectedPlan","selectedInstalment","selectedMethod","partialPaymentAmount"]},Z.A);function ev(e){let{siteConfig:t,siteLabels:r,seasonType:i,children:n}=e,v=(0,s.useRef)(void 0);if(!v.current){v.current=(()=>{let e="PREPROD",t=!["PROD","PREPROD"].includes(e),r=(0,g.U1)({reducer:{basket:es,bookflowAccommodation:ey,bookflowBookedHoliday:E.Ay,bookflowTabs:ed,booking:ei,fallback:U.Ay,map:L.Ay,itineraryMap:C.Ay,searchPanel:el,itinerarySearchPanel:ec,filterPanel:M.Ay,siteConfig:h.Ay,siteLabels:p.Ay,searchSummary:j.Ay,itinerarySearchSummary:D.Ay,accommodationFilter:_.Ay,searchResults:eu,itinerarySearchResults:eh,stays:ep,parcSearchResultsCarousel:z.Ay,partyPage:V.Ay,extras:H.Ay,payment:em,insurance:K.Ay,travelV3:en,tracking:y.Ay,utm:ea,myEurocamp:eo},devTools:t,middleware:e=>e({serializableCheck:!1})});return["DEV","UAT"].includes(e)&&(window.setTheme=e=>{r.dispatch({type:"siteConfig/setTheme",payload:e})}),{store:r,persistor:(0,w.GM)(r,void 0)}})();let{store:e}=v.current;e.dispatch((0,h.og)(t)),e.dispatch((0,p.BR)(r)),e.dispatch((0,y.Kn)(i))}return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(o.Kq,{store:v.current.store,children:(0,a.jsx)(m.v,{persistor:v.current.persistor,children:(0,a.jsx)(l.Q,{persistor:v.current.persistor,loading:(0,a.jsx)(c.Y,{}),onBeforeLift:()=>{var e;let a=null==(e=v.current)?void 0:e.store;if(!a)return;let s=a.getState().searchPanel,o=eg(s,null==t?void 0:t.search);!s.initialized&&(null==t?void 0:t.search)&&(null==r?void 0:r.search)&&!o&&a.dispatch((0,u.br)({config:t.search,labels:r.search}));let i=a.getState().itinerarySearchPanel,n=eg(i,null==t?void 0:t.search);!i.initialized&&(null==t?void 0:t.search)&&(null==r?void 0:r.search)&&!n&&a.dispatch((0,d.o)({config:t.search,labels:r.search}))},children:n})})})})}let eg=(e,t)=>{var r;return e.initialized&&n()(e.travelDate.startDate).isAfter(n()().add(null!=(r=null==t?void 0:t.minLeadTimeDays)?r:0,"days"))}},10728:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>i,KC:()=>s,bu:()=>o});let a=(0,r(59806).Z0)({name:"fallback",initialState:{mapboxAvailable:!0},reducers:{disableMapbox(e){console.error("Failed to load mapbox"),e.mapboxAvailable=!1}}}),{disableMapbox:s}=a.actions,o=e=>e.fallback.mapboxAvailable,i=a.reducer},12452:(e,t,r)=>{Promise.resolve().then(r.bind(r,5705)),Promise.resolve().then(r.t.bind(r,41402,23)),Promise.resolve().then(r.bind(r,99232)),Promise.resolve().then(r.bind(r,4274)),Promise.resolve().then(r.bind(r,46312)),Promise.resolve().then(r.bind(r,94180)),Promise.resolve().then(r.bind(r,88088)),Promise.resolve().then(r.bind(r,46988)),Promise.resolve().then(r.bind(r,47442)),Promise.resolve().then(r.bind(r,30008)),Promise.resolve().then(r.bind(r,95986)),Promise.resolve().then(r.bind(r,45228)),Promise.resolve().then(r.bind(r,59294)),Promise.resolve().then(r.bind(r,6953)),Promise.resolve().then(r.t.bind(r,93836,23)),Promise.resolve().then(r.t.bind(r,33383,23)),Promise.resolve().then(r.t.bind(r,76227,23))},30008:(e,t,r)=>{"use strict";r.d(t,{DatadogRUM:()=>o});var a=r(12115),s=r(88059);
1function o(e){let{config:t}=e;return(0,a.useEffect)(()=>{t&&(s.L.init({applicationId:t.ddApplication,clientToken:t.ddToken,site:"datadoghq.eu",service:"phoenix-web-app",env:t.ddAppEnv,version:t.ddVersion,sampleRate:t.ddSampleRate,sessionSampleRate:t.ddSampleRate,sessionReplaySampleRate:t.ddReplaySampleRate,trackInteractions:!0,trackResources:!0,trackLongTasks:!0,defaultPrivacyLevel:"mask-user-input",traceSampleRate:Number(t.ddSampleRate),allowedTracingUrls:[/https:\/\/.*\.alpha.eurocamp.co.uk/,/https:\/\/.*\.phoenix.eurocamp.co.uk/,"https://www.eurocamp.co.uk","https://www.eurocamp.fr","https://www.eurocamp.de","https://www.eurocamp-camping.es","https://www.eurocamp.pl","https://www.eurocamp.dk","https://www.eurocamp.nl","https://www.eurocamp-camping.it","https://www.eurocamp.be","https://www.eurocamp.ch","https://www.eurocamp.at","https://www.eurocamp.ie","https://www.eurocamp.si","https://fr.eurocamp.be"]}),s.L.startSessionReplayRecording())},[]),null}},45228:(e,t,r)=>{"use strict";r.d(t,{ConsentProvider:()=>n,S:()=>i});var a=r(95155),s=r(12115);let o=(0,s.createContext)(void 0);function i(){let e=(0,s.useContext)(o);if(void 0===e)throw Error("useConsent must be used within a ConsentProvider");return e}function n(e){let[t,r]=(0,s.useState)([]);return(0,s.useEffect)(()=>{let e=()=>{let e=[];window.OneTrust&&(e=(window.OptanonActiveGroups||"").split(",").filter(Boolean)),r(e)};return e(),window.addEventListener("consent.onetrust",e),()=>{window.removeEventListener("consent.onetrust",e)}},[]),(0,a.jsx)(o.Provider,{value:t,children:e.children})}},46312:(e,t,r)=>{"use strict";r.d(t,{GtmParamsPersistor:()=>l});var a=r(12115),s=r(20063),o=r(23846);let i=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"];var n=r(17012);function l(){let e=(0,n.j)(),t=(0,s.useRouter)(),r=(0,s.useSearchParams)(),l=(0,n.G)(o.$O);return(0,a.useEffect)(()=>{let a={};if(i.forEach(e=>{let t=r.get(e);t&&(a[e]=t)}),Object.keys(a).length>0)e((0,o.fI)(a));else if(l){let r=new URL(window.location.href);Object.entries(l).forEach(e=>{let[t,a]=e;r.searchParams.set(t,a)}),t.replace(r.toString(),{scroll:!1}),e((0,o.Yr)())}},[e,t]),null}},46988:(e,t,r)=>{"use strict";r.d(t,{ServerSideTestingProvider:()=>i});var a=r(95155),s=r(42456),o=r(45228);function i(e){let{envId:t,apiKey:r,consentFlag:i,children:n}=e,l=(0,o.S)();return t&&r?(0,a.jsx)(s._,{envId:t,apiKey:r,visitorData:{hasConsented:!!i&&l.includes(i)},logLevel:7,children:n}):(0,a.jsx)(a.Fragment,{children:n})}},47442:(e,t,r)=>{"use strict";r.d(t,{default:()=>y});var a=r(95155),s=r(12115),o=r(95893),i=r(53957),n=r(6199),l=r(90955),c=r(59294),d=r(10248),u=r(90876),h=r(88059),p=r(11929);function y(e){let{locale:t,apiEndpoint:r,children:y}=e,m=(0,c.g)(),v=(0,s.useCallback)(()=>(function(e,t,r){var a,s;let c=new d.P({uri:t,credentials:"same-origin",headers:{"x-session-id":null!=(s=null==(a=h.L.getInternalContext())?void 0:a.session_id)?s:(0,p.A)()}}),y=(0,i.o)((e,t)=>{var a;let{headers:s}=t;return{headers:{...s,"x-market":r,"x-requested-by":null!=(a=window.location.pathname)?a:"/"}}});return new n.Ri({link:(0,o.H)([y,e?c:new u.z({delay:{initial:300,max:1e3,jitter:!0},attempts:{max:3,retryIf:e=>!!e}}).concat(c)]),cache:new n.D9({typePolicies:{Cart:{keyFields:e=>(0,l.M)(e.id)?e.reservations.map(e=>e.id).join("-"):e.id}}}),defaultOptions:{query:{errorPolicy:"all",fetchPolicy:"network-only"},mutate:{errorPolicy:"all",fetchPolicy:"network-only"},watchQuery:{errorPolicy:"all",fetchPolicy:"network-only"}}})})(m,r,t),[m,r,t]);return(0,a.jsx)(n.TO,{makeClient:v,children:y})}},64857:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>A,sP:()=>c,lG:()=>d,zd:()=>m,Nf:()=>f,q2:()=>k,R9:()=>g,fj:()=>y,sD:()=>v,vY:()=>p,DS:()=>w,y9:()=>h,Rm:()=>i,h9:()=>l,XS:()=>n});var a=r(59806);let s={loading:!0,seasonType:void 0,searchedArrivalDate:void 0,countryAndRegionSelected:!1,parcs:{results:[],loadedIndex:-1},suggestions:{results:[],loadedIndex:-1},filteredResultCount:0},o=(0,a.Z0)({name:"searchResults",initialState:s,reducers:{setParcResults(e,t){let r=new Map(t.payload.map(e=>[e.code,e])),a=[...e.parcs.results];for(let t=0;t<e.parcs.results.length;t++){let e=a[t];
1if("PartialSearchResult"!==e.__typename)continue;let s=r.get(e.siteCode);s&&(a[t]={...e,__typename:"FullSearchResult",parc:s})}e.parcs.results=a;let s=[...e.suggestions.results];for(let t=0;t<e.suggestions.results.length;t++){let e=s[t];if("PartialSearchResult"!==e.__typename)continue;let a=r.get(e.siteCode);a&&(s[t]={...e,__typename:"FullSearchResult",parc:a})}e.suggestions.results=s},incrementParcResultsIndex(e,t){e.parcs.loadedIndex=e.parcs.loadedIndex+t.payload},incrementParcSuggestionsIndex(e,t){e.suggestions.loadedIndex=e.suggestions.loadedIndex+t.payload},setLoadingSearchResults(e,t){e.loading=t.payload},setSearchResults:(e,t)=>({...e,loading:!1,searchedArrivalDate:{arrivalDate:t.payload.arrivalDate,nights:t.payload.nights},countryAndRegionSelected:t.payload.countryAndRegionSelected,filters:t.payload.filters,parcs:{results:t.payload.results,loadedIndex:t.payload.loadMoreCount-1},suggestions:{results:t.payload.suggestions,loadedIndex:t.payload.suggestionsLoadMoreCount-1},seasonType:t.payload.seasonType}),clearSearchResults(e){e.parcs=s.parcs},setHoveredParc:(e,t)=>({...e,hoveredParc:t.payload})}}),{setLoadingSearchResults:i,setSearchResults:n,setParcResults:l,incrementParcResultsIndex:c,incrementParcSuggestionsIndex:d,clearSearchResults:u,setHoveredParc:h}=o.actions,p=e=>e.searchResults.loading,y=e=>e.searchResults,m=e=>e.searchResults.parcs.results.filter(e=>!0!==e.isMissing).length,v=e=>e.searchResults.parcs.results.length,g=e=>e.searchResults.filteredResultCount,w=e=>e.searchResults.suggestions.results.length,f=e=>e.searchResults.countryAndRegionSelected,k=e=>e.searchResults.hoveredParc,A=o.reducer},86663:(e,t,r)=>{"use strict";r.d(t,{CJ:()=>s,Ay:()=>u,WZ:()=>l,rc:()=>c,Hr:()=>d,Mu:()=>o,ru:()=>i,hI:()=>n});let a=(0,r(59806).Z0)({name:"itineraryMap",initialState:{hoveredStateId:void 0,selectedSearchResult:void 0,viewport:{zoom:4,latitude:47.8,longitude:6}},reducers:{clearSelectedSearchResult(e){e.selectedSearchResult=void 0},setHoveredStateId(e,t){e.hoveredStateId=t.payload},setSelectedSearchResult(e,t){e.selectedSearchResult=t.payload},setViewport(e,t){e.viewport.latitude=t.payload.latitude,e.viewport.longitude=t.payload.longitude,e.viewport.zoom=t.payload.zoom}}}),{clearSelectedSearchResult:s,setHoveredStateId:o,setSelectedSearchResult:i,setViewport:n}=a.actions,l=e=>e.itineraryMap.hoveredStateId,c=e=>e.itineraryMap.selectedSearchResult,d=e=>e.itineraryMap.viewport,u=a.reducer},88088:(e,t,r)=>{"use strict";r.d(t,{GoogleRecaptchaProvider:()=>i});var a=r(95155),s=r(10201),o=r(52853);function i(e){let{children:t}=e;return(0,a.jsxs)(s.G3,{reCaptchaKey:"6LdTlmIkAAAAAMPWJwH8KffkAboQUtgQqEXK2EXa",scriptProps:{appendTo:"head"},container:{element:"recaptcha-footer",parameters:{badge:"inline"}},children:[t,(0,a.jsx)(o.A,{id:"recaptcha-footer",visibility:"hidden",maxWidth:0,maxHeight:0,position:"fixed",sx:{"& .grecaptcha-badge":{visibility:"hidden"}}})]})}},93836:()=>{},94148:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>i,bk:()=>o,XS:()=>s});let a=(0,r(59806).Z0)({name:"parcSearchResultsCarousel",initialState:{parcs:{results:[],loadedIndex:0},searchedArrivalDate:void 0,suggestions:{results:[],loadedIndex:0},selectedAccommodation:void 0},reducers:{setSearchResults(e,t){e.searchedArrivalDate={arrivalDate:t.payload.arrivalDate,nights:t.payload.nights},e.filters=t.payload.filters,e.parcs={results:t.payload.results,loadedIndex:t.payload.loadMoreCount-1},e.suggestions={results:t.payload.results,loadedIndex:t.payload.suggestionsLoadMoreCount-1}}}}),{setSearchResults:s}=a.actions,o=e=>e.parcSearchResultsCarousel,i=a.reducer},94180:(e,t,r)=>{"use strict";r.d(t,{ExpireBookingSessionProvider:()=>l});var a=r(12115),s=r(414),o=r(67122),i=r(17712),n=r(58328);function l(){let e=(0,i.Y)(),t=(0,s.m)(),{isAuthenticated:r,getContext:l}=(0,o.z)();return(0,a.useEffect)(()=>{["DEV","UAT"].includes("PREPROD")&&(window.expireBookingSession=async e=>{if(!r)return void console.error("User is not authenticated");try{let r=await l(),a=await t.mutate({mutation:n.D_,variables:{cartId:e},context:r});console.log(["Expiring",e?"Cart":void 0,"Session"].filter(Boolean).join(" "),a.data)}catch(e){console.error(e)}})},[e,t,r,l]),null}},95986:(e,t,r)=>{"use strict";r.d(t,{KeycloakProvider:()=>y});var a=r(95155),s=r(12115),o=r(32143),i=r(93498),n=r(59655),l=r(22929);
1class c extends Event{constructor(){super("keycloakInitialised")}}let d="keycloakToken",u="keycloakRefreshToken",h="keycloakIdToken",p=(e,t)=>{t?localStorage.setItem(e,t):localStorage.removeItem(e)};function y(e){let{config:t,initOptions:r,children:y}=e,m=(0,s.useMemo)(()=>{if(t.domain&&t.realm&&t.clientId)return new o.A({url:t.domain,realm:t.realm,clientId:t.clientId})},[t.domain,t.realm,t.clientId]),[v,g]=(0,s.useState)(!1),[w,f]=(0,s.useState)(!1),[k,A]=(0,s.useState)(),[b,R]=(0,s.useState)(!1),S=(0,s.useCallback)(async()=>{var e,t,a;if(!m||m.didInitialize)return;let s=null!=(e=localStorage.getItem(u))?e:void 0;g(m.didInitialize);let o=()=>{var e;f(null!=(e=m.authenticated)&&e),A(m.tokenParsed),m.authenticated?(p(d,m.token),p(u,m.refreshToken),p(h,m.idToken)):(p(d,null),p(u,null),p(h,null))};m.onReady=async()=>{g(!0),o()},m.onAuthSuccess=o,m.onAuthError=o,m.onAuthRefreshSuccess=o,m.onAuthRefreshError=o,m.onAuthLogout=()=>{R(!0),o(),i.A.removeItem("persist:myEurocamp"),setTimeout(()=>{R(!1)},0)},(0,n.m)();try{await m.init({onLoad:"check-sso",silentCheckSsoRedirectUri:"".concat(window.location.origin,"/silent-check-sso.html"),token:null!=(t=localStorage.getItem(d))?t:void 0,refreshToken:s,idToken:null!=(a=localStorage.getItem(h))?a:void 0,...r})}catch(e){throw e}window.dispatchEvent(new c)},[m]);return(0,s.useEffect)(()=>{S()},[S]),(0,a.jsx)(l.N.Provider,{value:{client:m,initialised:v,authenticated:w,token:k,loggingOut:b},children:y})}},99232:(e,t,r)=>{"use strict";r.d(t,{AgentInvalidQuoteProvider:()=>h});var a=r(12115),s=r(88381),o=r(20063),i=r(54754),n=r(46537),l=r(39771),c=r(17012),d=r(67122),u=r(58328);function h(){var e,t;let r=(0,o.useRouter)(),{initialised:h,token:p}=(0,d.z)(),y=(null==p||null==(e=p.eurocamp)?void 0:e.agentCode)||(null==p||null==(t=p.eurocamp)?void 0:t.altAgentCode)||"",m=(0,c.G)((0,i.Xl)("bookflow")),v=(0,c.j)(),[g]=(0,s.n)(u.Ub),w=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{if(!h||!y||!m||w.current||!m.reservations||m.reservations.length<1)return;let e=null==m?void 0:m.reservations[0];e.agent||(async()=>{let t=e.siteCode;w.current=!0;try{var a;if(!(null==(a=(await g({variables:{cartId:m.id}})).data)?void 0:a.cancelQuote)){w.current=!1;return}v((0,l.g)()),v((0,n.v)({isRedirecting:!0})),t&&r.push("/".concat(t))}finally{w.current=!1}})().catch(e=>{var t;console.error("Failed to cancel quote for cart ".concat(null!=(t=null==m?void 0:m.id)?t:"unknown"),e)})},[h,y,m,g,v,r]),null}}},e=>{e.O(0,[8814,1096,3970,2922,8476,4870,8441,586,1255,7358],()=>e(e.s=12452)),_N_E=e.O()}]);
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.