1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3461],{25469:e=>{e.exports={placeholder:"content-picture_placeholder__WAUcX"}},63461:(e,a,t)=>{"use strict";t.r(a),t.d(a,{AccommodationGallery:()=>C,default:()=>R});var l=t(95155),o=t(22831),r=t(9662),s=t(54589),n=t(18723),i=t(65714),m=t(5215),c=t(67842),d=t(194),x=t(78513),_=t(90669),g=t(27290),p=t(25442),u=t(69730),h=t.n(u),y=t(12115),j=t(47650),v=t(99898),b=t(77432),N=t(97406),I=t(31108),f=t(74315),P=t.n(f);let k=({matterportId:e,showLabel:a=!0})=>{let[t,o]=(0,y.useState)(!1),r=(0,y.useId)();return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{className:P().matterPortRoot,children:(0,l.jsxs)("button",{type:"button",onClick:()=>o(!0),className:P().matterPortButton,children:[(0,l.jsx)("img",{className:P().matterPortImage,src:`https://my.matterport.com/api/v1/player/models/${e}/thumb`,alt:"Matterport virtual tour"}),(0,l.jsx)("span",{className:"srOnly",children:"Open virtual tour"}),(0,l.jsxs)("span",{className:P().decoration,children:[(0,l.jsx)(I.A,{src:(0,b.A)("virtual-tour
1-dark-blue.svg"),alt:"",className:P().icon}),a&&(0,l.jsx)("p",{className:P().description,children:"Virtual tour"})]})]})}),(0,l.jsx)(m.Ay,{open:t,level:2,backButton:!0,backButtonLabel:"Back",desktopVariant:m.RU.FULLSCREEN,setPanelOpen:()=>o(!1),children:(0,l.jsx)("div",{className:P().matterPortFrameContent,children:(0,l.jsx)(N.A,{url:`https://my.matterport.com/show/?m=${e}&play=1&fp=0`,width:"100%",height:"100%",id:r,allowFullScreen:!0,allow:"xr-spatial-tracking",display:"inline",position:"relative"})})})]})};var A=t(84205),T=t.n(A);let B=({index:e,numberOfImages:a,text:t,showText:o=!0})=>(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{className:T().imageNumber,children:`${e+1} of ${a}`}),o&&(0,l.jsx)("span",{children:t})]}),C=({activeTab:e="accommodation",backButtonLabel:a="Back to search",open:t=!1,resultToShowInGalleryGeneral:u,setGalleryOpen:b,showLegalText:N=!0,galleryType:I="accommodation",withParkInfo:f=!0,isCaravanSearch:P,caravanImagesSource:A="",showFooter:C=!1,doneButtonLabel:R,isSoldOut:w,overlayButtonClick:F,overlayButtonLabel:L})=>{let{caravanImages:E,parkFeatures:G,floorPlan:$,matterPortId:O,accomType:z,accomGrade:S,parkName:V,accommodationName:U,parkCode:M,products:D,video:H}=u,J=E&&!P?u?.caravanImages.map(e=>({...e,title:e.altText,lazy:!0})):[],Y=J.length,q=(0,_.$)(G),[Z,X]=(0,y.useState)(e),K=(0,y.useId)(),W=$&&$.length>0&&(P?$:JSON.parse($)),Q=!!O&&O.length>0,ee=e=>{let a=document.getElementById(K);a?.scrollIntoView(),X(e),(0,p.H)(e,z?.toLowerCase()||"",S?.toLowerCase()||"",!!W,Q,D,P,A)},ea=P&&!Q&&!W&&q?.length<1,et=!!F&&!!L;return t?(0,j.createPortal)((0,l.jsx)(l.Fragment,{children:(0,l.jsx)(m.Ay,{open:!0,setPanelOpen:b,backButton:!0,backButtonLabel:a,showFooter:C,closeButton:!0,close:()=>b(!1),doneButtonLabel:R,desktopVariant:m.RU.FULLSCREEN,level:1,children:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{id:K}),(0,l.jsxs)("div",{className:h()(T().accommodationGalleryAlternateRoot,{[T().overlayButtonEnabled]:et}),children:[!ea&&(0,l.jsxs)("div",{className:T().tabList,children:[(0,l.jsx)("button",{className:`${T().tabItem} ${"accommodation"===Z?T().tabItemActive:""}`,type:"button",onClick:()=>ee("accommodation"),tabIndex:"accommodation"===Z?-1:0,children:"Accommodation"}),f&&(0,l.jsx)("button",{className:`${T().tabItem} ${"park"===Z?T().tabItemActive:""}`,type:"button",onClick:()=>ee("park"),tabIndex:"park"===Z?-1:0,children:"Park"}),(Q||W)&&(0,l.jsxs)("button",{className:`${T().tabItem} ${"matterport"===Z?T().tabItemActive:""}`,type:"button",onClick:()=>ee("matterport"),tabIndex:"matterport"===Z?-1:0,children:[Q&&W&&"Virtual tour & floor plan",Q&&!W&&"Virtual tour",!Q&&W&&"Floor plan"]})]}),N&&(0,l.jsx)("div",{className:T().legalText,children:"caravan"===I?"Images may show optional extras, such as decking, which are not included in the price but may be available at an additional cost.":"accommodation"===I?"Please note: All imagery shown is for representative purposes only. Appearance, size and views will vary by park and location.":void 0}),"park"===Z&&(0,l.jsx)("div",{className:T().accommodationGalleryRoot,children:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(i.A,{scale:3,className:T().title,children:[V," (",(0,d.tb)(x.z.HOLIDAY,M)?.region.name,")"]}),(0,l.jsx)("ul",{className:T().imageGallery,children:q?.map(({id:e,title:a,images:[t]},r)=>(0,l.jsxs)("li",{className:T().imageItem,children:[(0,l.jsx)("div",{className:T().imageContainer,children:(0,l.jsx)(n.z,{className:T().image,alt:t.altText||"",url:t.url||"",profiles:o.P3})}),(0,l.jsx)(B,{index:r,numberOfImages:q.length,text:a,showText:!P})]},e))})]})}),"accommodation"===Z&&(0,l.jsx)("div",{className:T().accommodationGalleryRoot,children:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.A,{scale:3,className:T().title,children:U}),(0,l.jsxs)("ul",{className:T().imageGallery,children:[!P&&(0,l.jsxs)(l.Fragment,{children:[H?.videoUrl?(0,l.jsx)("li",{className:T().imageItem,children:(0,l.jsx)(c.Ay,{video:H.videoUrl,poster:H.posterImage?.url,title:H.title||void 0,analytics:e=>(0,g.z)(e,!1),muted:!0})},H.title):null,J.map((e,a)=>(0,l.jsxs)("li",{className:T().imageItem,children:[(0,l.jsx)("div",{className:T().imageContainer,children:(0,l.jsx)(s.G,{className:T().image,src:e?.url,profiles:o.P3,alt:e?.altText})}),(0,l.jsx)(B,{index:a,numberOfImages:Y,text:e.altText,showText:!P})]},e.id))]}),P&&(u?.caravanImages).map((e,a)=>(0,l.jsxs)("li",{className:T().imageItem,children:[(0,l.jsx)(v.A,{image:e,className:T().picture,size:"defaultSrc"},`image${e.altText}_${a}`),(0,l.jsx)(B,{index:a,numberOfImages:u?.caravanImages.length,text:e.altText,showText:!P})]},e.altText))]})]})}),"matterport"===Z&&(!!O&&O.length>0||W)&&(0,l.jsxs)("div",{className:T().accommodationGalleryRoot,children:[!!O&&O.length>0&&(0,l.jsx)(k,{matterportId:O}),(0,l.jsxs)("div",{className:T().floorPlanRoot,children:[(0,l.jsx)("div",{className:T().floorPlanImage,children:P?(0,l.jsx)(v.A,{image:{altText:"floorPlan",sizes:{defaultSrc:W}}}):(0,l.jsx)(n.z,{alt:W?.altText||"",url:W?.url||"",profiles:o.P3})}),(0,l.jsx)("p",{className:T().floorPlanDescription,children:"Floor plan"})]})]})]}),et&&(0,l.jsx)("div",{className:T().overlayButtonContainer,children:(0,l.jsx)(r.Ay,{className:T().inactiveButton,theme:r.Sx.PRIMARY_THEME,block:!0,onClick:F,disabled:w,"data-testid":"overlayButton",children:L})})]})})}),document.getElementById("portal")):null},R=(0,y.memo)(C)},74315:e=>{e.exports={matterPortButton:"matterport-frame_matterPortButton__dyNMe",matterPortImage:"matterport-frame_matterPortImage__xrJn7",matterPortRoot:"matterport-frame_matterPortRoot__f9jzM",decoration:"matterport-frame_decoration__hlen0",icon:"matterport-frame_icon__P80Mj",matterPortFrameContent:"matterport-frame_matterPortFrameContent__HTUtE",description:"matterport-frame_description__AtlN8"}},84205:e=>{e.exports={imageItem:"accommodation-gallery_imageItem__PsL6M",tabItem:"accommodation-gallery_tabItem__s9wLP",image:"accommodation-gallery_image__vTwm8",accommodationGalleryAlternateRoot:"accommodation-gallery_accommodationGalleryAlternateRoot__zO23_",overlayButtonEnabled:"accommodation-gallery_overlayButtonEnabled__F14o3",tabList:"accommodation-gallery_tabList__YLm0Z",tabItemActive:"accommodation-gallery_tabItemActive__ZO_Ck",accommodationGalleryRoot:"accommodation-gallery_accommodationGalleryRoot__k_24D",title:"accommodation-gallery_title__TEVrI",imageGallery:"accommodation-gallery_imageGallery__ZjJgf",imageNumber:"accommodation-gallery_imageNumber__Oq5Kc",imageTitle:"accommodation-gallery_imageTitle__Y2c7p",imageContainer:"accommodation-gallery_imageContainer__qPnId",legalText:"accommodation-gallery_legalText__xJt5f",floorPlanRoot:"accommodation-gallery_floorPlanRoot__ha3rc",floorPlanImage:"accommodation-gallery_floorPlanImage__oV5_D",floorPlanDescription:"accommodation-gallery_floorPlanDescription__PJqmT",picture:"accommodation-gallery_picture__nRXtP",overlayButtonContainer:"accommodation-gallery_overlayButtonContainer__fHBOV"}},90669:(e,a,t)=>{"use strict";t.d(a,{$:()=>l}),t(86326);let l=e=>e?e.filter(({images:e,icon:a})=>e&&e[0]&&a).slice(0,10):[]},99898:(e,a,t)=>{"use strict";t.d(a,{k:()=>s,A:()=>s});
1var l=t(95155),o=t(25469),r=t.n(o);let s=({image:e,className:a,size:t="defaultSrc"})=>{let o=e.sizes?.[t]||e.sizes?.defaultSrc;return(0,l.jsx)("picture",{className:a,children:o?(0,l.jsx)("img",{src:o,alt:e.altText}):(0,l.jsx)("div",{className:r().placeholder})})}}}]);
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.