(window.__LOADABLE_LOADED_CHUNKS__=window.__LOADABLE_LOADED_CHUNKS__||[]).push([[96],{469:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return q}));var i=a(39),r=a(0),n=a.n(r),l=a(150),o=a(672),c=a(740),s=a(193),d=a(11),m=a.n(d),u=a(22),p=a(2),g=a(1),f=a(10),b=a(15),h=a(17),x=a(18),y=a(28);const O=Object(x.b)("accommodation-card",[{name:"top-image-container",modifiers:["4-by-3"]},"title","price","campus","campus-icon","features",{name:"feature",modifiers:["selected"]},"icon","content","link-wrap","link-icon","link-arrow"]);var E=p.d.li.withConfig({componentId:"sc-9tgiw3-0"})(["",""],()=>Object(p.c)(["&.","{position:relative;background-color:",";display:flex;flex-direction:column;&:hover{::after{content:'';display:block;position:absolute;bottom:0;width:100%;border-bottom:4px solid ",";}.","{fill:",";}.","{text-decoration:underline;}}}.","{position:relative;width:100%;aspect-ratio:16/9;flex:0 0 auto;}.","{aspect-ratio:4 / 3;}.","{padding:24px;display:flex;flex-direction:column;flex-grow:1;}.","{color:",";font-size:14px;line-height:22px;display:flex;margin-bottom:16px;}.","{font-size:15px;line-height:20px;margin:0 0 8px;font-weight:",";color:",";}.","{padding-bottom:24px;border-bottom:1px solid ",";}.","{width:16px;min-width:16px;margin-right:8px;fill:",";}.","{list-style:none;padding:0;margin:24px 0;line-height:1.5em;}.","{display:flex;align-items:flex-start;margin-bottom:5px;}.","{.","{fill:",";}}.","{width:30px;min-width:30px;padding-top:4px;padding-right:10px;fill:",";}.","{display:flex;flex-grow:1;align-self:flex-end;}.","{height:24px;width:24px;align-self:flex-end;}.","{display:flex;flex-direction:column;text-decoration:none;&::after{position:absolute;inset:0;content:'';display:block;cursor:pointer;}@media (hover:hover){&:focus-visible{background-color:"," !important;color:"," !important;}&:focus-visible:after{border:"," solid ",";border-radius:",";}}}@media (hover:hover){&:has(.",":focus-visible){"," .",":focus-visible{outline:none;}.","{border-color:"," !important;}.","{color:"," !important;}.","{text-decoration:underline !important;}}}",""],O.className,g.a.white,g.a.red,O["link-icon"],g.a.red,O.title,O["top-image-container"],O["top-image-container"]["4-by-3"],O.content,O.campus,g.a.red,O.title,h.a.Bold,g.a.charcoal,O.price,g.a.cloud,O["campus-icon"],g.a.red,O.features,O.feature,O.feature.selected,O.icon,g.a.forestLineHighlight,O.icon,g.a.red,O["link-arrow"],O["link-icon"],O["link-wrap"],y.a.backgroundColor,y.a.textColor,y.a.backgroundSize,y.a.textColor,y.a.backgroundSize,O["link-wrap"],Object(y.c)(),O["link-wrap"],O.price,y.a.textColor,O.campus,y.a.textColor,O.title,Object(f.a)(b.a.small,Object(p.c)([".","{padding:32px;}.","{line-height:22px;font-size:18px;}"],O.content,O.title)))),N=a(29),v=a(88),w=a(34),j=a(638),k=a(147),S=a(751),C=a(209);function I(e){let{className:t,title:a,buildingName:i,uri:r=null,trackingTitle:l=null,image:o,price:c,campus:s=null,features:d=[],image4By3:p=!1,imageSizes:g=T}=e;const f=Object(j.b)(k.a.H3,k.a.H2,S.a);return n.a.createElement(E,{className:m()(t,O.className)},o&&n.a.createElement("div",{className:m()(O["top-image-container"].className,{[O["top-image-container"]["4-by-3"]]:p}),"aria-hidden":!0},n.a.createElement(C.d,{src:Object(v.a)(o),alt:"",layout:C.a.Fill,sizes:D(g),sourceImageSettings:{aspectRatio:{ratio:p?4/3:600/460}},objectFit:C.b.Cover})),n.a.createElement("div",{className:O.content},n.a.createElement("div",{className:O.campus},n.a.createElement(N.b,{iconId:N.a.LocationDot,className:O["campus-icon"],ariaHidden:!0}),s.title),n.a.createElement(w.a,{uri:r,className:O["link-wrap"],onClick:()=>{Object(u.d)({actionOrActions:[u.b.CLICK,l,a],label:[r]})}},n.a.createElement(f,{className:O.title},a)),n.a.createElement("div",{className:O.price},"Pendle"===i?"from "+c:""+c),n.a.createElement("ul",{className:O.features},d.map(e=>n.a.createElement("li",{key:e.id,className:m()(O.feature,{[O.feature.selected]:e.isSelected})},n.a.createElement(N.b,{iconId:e.icon,className:O.icon,ariaHidden:!0}),e.title))),n.a.createElement("div",{className:O["link-arrow"]},n.a.createElement(N.b,{iconId:N.a.ArrowRight,className:O["link-icon"]}))))}const T={[b.a.xxxsmall]:"100vw",[b.a.small]:"50vw",[b.a.xlarge]:"33vw",default:"600px"};function D(e){var t;return`${Object.keys(e).filter(e=>"default"!==e).map(t=>{const a=e[t];return`(max-width: ${b.c[t].pxString}) ${a}`}).join(",\n")},\n${null!=(t=e.default)?t:"600px"}`}const L=Object(x.b)("accommodation-listing",["results-text","cards"]);var A=p.d.div.withConfig({componentId:"sc-1wmzxwd-0"})(["&.","{}.","{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(1,1fr);gap:16px;}.","{font-weight:",";margin-bottom:56px;}",""],L.className,L.cards,L["results-text"],h.a.Bold,Object(f.a)(b.a.small,Object(p.c)([".","{grid-template-columns:repeat(2,1fr);}"],L.cards))),F=a(370),P=a(718),B=a(6),$=a(818),_=a(165),R=a(108),z=a(819),H=a(670);const G={isSingleSelect:!0,key:"order-by-internal-key",title:"Sort by",items:[{key:"price-high-low",isSelected:!1,title:"Price (high to low)",field:"pricePerPersonPerWeek",orderDirection:R.a.DESCENDING},{key:"price-low-high",isSelected:!1,title:"Price (low to high)",field:"pricePerPersonPerWeek",orderDirection:R.a.ASCENDING}]};function W(){const{results:e,resultsInfo:t,paging:a,updatePageIndex:i,filters:d,clearFilters:m,updateSelectedFilters:u,updateSortOrder:p,sortOrder:g}=Object(l.f)({mappers:{resultsInfo:c.a,navigate:P.a}}),f=Object(r.useMemo)(()=>Object.entries(d).map(e=>{let[t,a]=e;return Object.assign({key:t,selectedCount:a.items.filter(e=>!0===e.isSelected).length},a)}),[d]),b=Object(r.useMemo)(()=>function(e,t){if(Object(B.a)(e))if(1===e.length&&"default"===e[0])for(const e of t.items)e.isSelected=!1;else for(const a of e){let e=0,i=R.a.ASCENDING;a.startsWith("-")&&(e=1,i=R.a.DESCENDING);const r=a.slice(e),n=t.items.filter(e=>e.field===r);for(const e of n)e.isSelected=e.orderDirection===i}return t}(g,Object.assign({},G)),[g]),h=Object(r.useMemo)(()=>function(e,t){return e.map(e=>Object.assign({},e,{features:e.features.map(e=>{var a;const i=null==(a=t[F.b.FEATURES].items)?void 0:a.some(t=>t.key===e.id&&t.isSelected);return Object.assign({},e,{isSelected:i,icon:i?"circle-check":e.icon})})}))}(e,d),[e,d]),x=()=>{p("default")};return n.a.createElement(A,{className:L.className},e.map(e=>n.a.createElement(_.a,{key:e.id,json:Object($.a)(e)})),n.a.createElement(s.a,{filters:f,updateClearFilters:m,updateSelectedFilters:u,orderByFilter:b,clearOrderFilter:x,toggleOrderByFilter:e=>{const t=b.items.find(t=>t.key===e);var a,i;!0!==(null==t?void 0:t.isSelected)?(a=t.field,i=t.orderDirection,p(`${i===R.a.DESCENDING?"-":""}${a}`)):x()},trackingTitle:"accommodation-listing"}),n.a.createElement("div",{className:L["results-text"]},t.resultsText,n.a.createElement(z.a,{hasNoResults:t.hasNoResults,title:"No matches found",description:"Sorry, there are no halls that meet your requirements. Please check your filters or remove them to see our full list of halls."})),n.a.createElement(H.b,{paging:a}),n.a.createElement("ul",{className:L.cards},h.map(e=>n.a.createElement(I,{key:e.uri,title:e.title,features:e.features,campus:e.campus,image:e.image,uri:e.uri,price:e.price,trackingTitle:"accommodation-listing",buildingName:e.buildingName}))),n.a.createElement(o.a,{paging:a,updatePageIndex:i}))}var U=a(274),K=a(151),M=a(640);function q(e){var t;let{entry:a}=e;return n.a.createElement(i.b,{entry:a},n.a.createElement(i.c,null,n.a.createElement(M.e,{title:a.entryTitle,image:null==(t=a.heroBanner)?void 0:t.image,subtitle:a.subtitle,ctas:a.headingCTAs,tags:a.headingTags}),n.a.createElement(U.b,{composer:a.composer}),n.a.createElement(p.a,{theme:K.b},n.a.createElement(U.a,{collapsePaddingTop:!0},n.a.createElement(i.a,null,n.a.createElement(W,null))))))}},718:function(e,t,a){"use strict";a.d(t,"a",(function(){return p}));var i=a(47),r=a(150),n=a(36),l=a(21);const{getSelectedFilters:o,getSearchTerm:c,getSearchContext:s,getCurrent:d,getCurrentFacet:m}=r.d,u={path:e=>{let{state:t,facet:a,pageIndex:i}=e;const r=s(t),o=Object(n.d)(t)||l.g;if("listings"!==r){const e=a||m(t),r=e?`${o}/${e}`:o;return i?`${r}/${i+1}`:r}return o},search:e=>{let{state:t,facet:a,pageIndex:i,term:r,orderBy:n}=e;const l=s(t),m=d(t,l),u=new URLSearchParams(!r&&t.routing.location.search||void 0);r||Object.entries(o(t,m,l)).forEach(e=>{let[t,a]=e;const i=Array.isArray(a)?a.join(","):a;i?u.set(t,i):u.delete(t)});const p=c(t);return p?u.set("term",p):u.delete("term"),a&&a!==m&&u.set("facet",a),i?u.set("pageIndex",i+1):0===i&&u.delete("pageIndex"),n&&u.set("orderBy",n),u.toString()},hash:e=>{let{state:t}=e;return(t.routing.location.hash||"#").replace("#","")}};function p(e){return Object(i.a)(e,u)}},740:function(e,t,a){"use strict";var i=a(150),r=a(288);const{getCurrent:n,getListing:l,getIsLoading:o,getResults:c,getTotalCount:s,getPaging:d,getSearchTerm:m}=i.d.selectListing,{getSearchTotalCount:u}=i.d.selectFacets,p=e=>n(e),g={currentListing:p,currentPageCount:e=>c(e).length,isLoading:e=>o(e),listingTitle:e=>{var t;return null==(t=l(e))?void 0:t.title},searchTerm:e=>m(e),hasNoResults:e=>0===(e=>s(e,p(e)))(e),resultsText:e=>{const{pageIndex:t,pageSize:a,totalCount:i,pagesLoaded:r}=d(e);if(!r)return null;const n=(r[0]||t)*a+1;let l=n+a-1;return l>i&&(l=i),i>0?`${n} - ${l} of ${i} results`:i+" results"},searchTotalCount:e=>u(e)};t.a=e=>Object(r.a)(e,g)},751:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));const i=a(147).a.H3},818:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var i=a(6),r=a(210),n=a(115);function l(e){const t=Object.assign({},Object(n.c)("Accommodation"),{accommodationCategory:"Student Accommodation",additionalType:"Halls of Residence",address:e.address,name:e.buildingName+" Halls",numberOfBathroomsTotal:1,numberOfBedrooms:1,numberOfFullBathrooms:1,numberOfRooms:2,petsAllowed:!1,url:Object(r.c)(e.uri),description:e.summary});return e.tenancyWeeks&&(t.leaseLength=Object.assign({},Object(n.d)("QuantitativeValue"),{value:e.tenancyWeeks,unitText:"weeks"})),Object(i.a)(e.features)&&(t.amenityFeature=e.features.map(e=>Object.assign({},Object(n.d)("LocationFeatureSpecification"),{name:e.title,value:!0}))),t}},819:function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));var i=a(0),r=a.n(i),n=a(2),l=a(24),o=a(18);const c=Object(o.a)("no-results"),s=c.element("title"),d=n.d.div.withConfig({componentId:"sc-1ti2bcz-0"})(["",""],e=>{let{theme:t}=e;return Object(n.c)([".","{","}"],s.className,t.typographyStyles.h4Styles)});function m(e){let{hasNoResults:t,title:a,description:i}=e;return t?r.a.createElement(d,{className:c.className},r.a.createElement("h2",{className:s.className},a),i&&r.a.createElement("p",null,i)):l.a}}}]); //# sourceMappingURL=pages-AccommodationListing-page.07cc89cc4827931ed800.mjs.map