1import{$ as e,$n as s,Bn as a,Ir as r,Kr as t,Or as i,Qn as l,Sr as o,Tn as n,Ur as c,Xn as d,_r as p,br as m,cr as b,dn as u,er as f,mr as h,nr as g,or as y,tr as _,tt as v,yn as w}from"./app.l-9nc_by.js";import{p as x,t as P}from"./searchStore.CF-Xrl9n.js";import{t as S}from"./usePropParseJson.Bkk3HdFa.js";import{t as F}from"./BreadcrumbsWidget.YeOtVIJH.js";import{t as D}from"./FiltersSection.BzevKJx8.js";import{t as k}from"./ListingPage.DISrYGDq.js";var O=b({__name:"FlexibleDatesOffers",props:{closePromos:{default:()=>[]},compact:{type:Boolean,default:!1},heading:{default:""}},setup(s,{expose:a}){a();const t=s,o=r(),c=r(!1),d=x(),m=l((()=>t.closePromos.length>0)),b=l((()=>t.closePromos.slice(0,3))),f=l((()=>b.value.length)),g=l((()=>t.heading||"Are your dates flexible?")),y=()=>({slidesPerView:1,spaceBetween:t.compact?12:16,allowTouchMove:!0,pagination:{clickable:!0},injectStyles:["\n .swiper-pagination {\n bottom: 0;\n position: relative;\n margin-top: 1.6rem;\n }\n .swiper-pagination-bullet {\n width: 0.8rem;\n height: 0.8rem;\n background: #b0b0b0;\n opacity: 1;\n }\n .swiper-pagination-bullet-active {\n background: #1a1a1a;\n }\n @media (min-width: 769px) {\n .swiper-pagination {\n display: none;\n }\n }\n "],breakpoints:{769:{slidesPerView:3,spaceBetween:24,allowTouchMove:!1}}}),_=async()=>{await h(),o.value&&0!==f.value&&(Object.assign(o.value,y()),o.value.initialize(),c.value=!0)},P=async()=>{if(await h(),!o.value)return;if(0===f.value){const e=o.value.swiper;return e&&e.destroy(!0,!0),void(c.value=!1)}const e=o.value.swiper;e&&c.value?(Object.assign(o.value,y()),e.updateSize(),e.updateSlides(),e.update(),e.slideTo(0,0)):await _()};i((()=>b.value.map((e=>e.promoCode)).join("|")),(async()=>{await P()})),p((()=>{f.value>0&&_()}));const S=["search.uid","search.type","search.keyword"],F=e=>Object.fromEntries(new URLSearchParams(e).entries()),D=e=>w(((s,a)=>S.includes(a)?s:u(a,e[a],s)),{},n(e)),k=()=>{const e=F(window.location.search),s=d.selectedFilters.locations;return D(e["search.uid"]&&!e["search.locations"]&&s.length>0?{...e,"search.locations":s.join(",")}:e)},O={props:t,sliderRef:o,swiperInitialized:c,filtersStore:d,isVisible:m,limitedPromos:b,displayCount:f,displayHeading:g,buildSwiper:y,initSwiper:_,refreshSwiper:P,getPromoMessage:s=>s.extension>0?`Book ${e("night")(s.extension)} more to receive ${s.title.toLowerCase()}.`:s.shift>0?`Shift your dates by ${e("day")(s.shift)} to qualify for ${s.title.toLowerCase()}.`:s.cities.length>0?`Available in ${s.cities.join(", ")}.`:s.tacText||s.validDatesText||"",destinationIdentityKeys:S,parseQueryParams:F,omitDestinationIdentity:D,getMoreDetailsQueryParams:k,onMoreDetailsClick:e=>{const s=v(e.url,{...k(),promoCode:e.promoCode,"search.page":"1","search.from":e.checkIn,"search.to":e.checkOut,"search.exactDates":"true"});window.location.assign(s)}};return Object.defineProperty(O,"__isScriptSetup",{enumerable:!1,value:!0}),O}}),$=["onClick"];var j=a(O,[["render",function(e,a,r,i,l,n){return i.isVisible?(m(),g("section",{key:0,class:c({[e.$style.container]:!0,[e.$style.compact]:r.compact})},[s("h2",{class:c(e.$style.heading)},t(i.displayHeading),3),s("swiper-container",{ref:"sliderRef",class:c(e.$style.slider),init:"false"},[(m(!0),g(d,null,o(i.limitedPromos,(a=>(m(),g("swiper-slide",{key:a.promoCode,class:c(e.$style.slideWrapper)},[s("div",{class:c([e.$style.card,a.extension>0?e.$style.extend:a.shift>0?e.$style.shift:null])},[s("span",{class:c(e.$style.badge)},t(a.extension>0?"Stay longer & save":a.shift>0?"Shift dates & save":"Flexible dates"),3),s("h3",{class:c(e.$style.cardTitle)},t(a.title),3),s("p",{class:c(e.$style.cardDescription)},t(i.getPromoMessage(a)),3),s("button",{type:"button",class:c(e.$style.cardLink),onClick:e=>i.onMoreDetailsClick(a)}," More details ",10,$)],2)],2)))),128))],2)],2)):_("",!0)}],["__cssModules",{$style:{container:"FlexibleDatesOffers__container--obfhele5",compact:"FlexibleDatesOffers__compact--obfhele5",heading:"FlexibleDatesOffers__heading--obfhele5",card:"FlexibleDatesOffers__card--obfhele5",cardTitle:"FlexibleDatesOffers__cardTitle--obfhele5",cardDescription:"FlexibleDatesOffers__cardDescription--obfhele5",slider:"FlexibleDatesOffers__slider--obfhele5",slideWrapper:"FlexibleDatesOffers__slideWrapper--obfhele5",badge:"FlexibleDatesOffers__badge--obfhele5",extend:"FlexibleDatesOffers__extend--obfhele5",shift:"FlexibleDatesOffers__shift--obfhele5",cardLink:"FlexibleDatesOffers__cardLink--obfhele5"}}],["__file","FlexibleDatesOffers.vue"]]),C=b({__name:"SearchPage",props:{sortDropdown:{default:()=>({})},searchParams:{},listPageType:{},isGeographicFilterEnabled:{type:Boolean,default:!0},phoneNumber:{},breadcrumbs:{},useGeoFilters:{type:Boolean},siteName:{}},setup(e,{expose:s}){s();const a=e;S(a);const r={props:a,searchStore:P(),filtersStore:x(),breadcrumbsItems:l((()=>a.breadcrumbs?.reduce(((e,s)=>s.item2?[...e,{name:s.item1,url:s.item2}]:e),[])||[])),breadcrumbsName:l((()=>a.breadcrumbs?.reduce(((e,s)=>s.item2?e:e+s.item1+" Results"),"")||"")),FiltersSection:D,ListingPage:k,BreadcrumbsWidget:F,FlexibleDatesOffers:j};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),B={id:"listing-body"},T={key:1,class:"breadcrumbs-container"},M={class:"active-breadcrumb"},L={key:0},I={key:1};var N=a(C,[["render",function(e,a,r,i,l,o){return m(),g("div",null,[s("div",B,[y(i.FiltersSection,{class:c(e.$style.filtersContainer),"sort-dropdown":r.sortDropdown,"search-params":r.searchParams,"page-type":r.listPageType,"is-geographic-filter-enabled":r.
1isGeographicFilterEnabled},null,8,["class","sort-dropdown","search-params","page-type","is-geographic-filter-enabled"]),y(i.FlexibleDatesOffers,{"close-promos":i.filtersStore.closePromos},null,8,["close-promos"]),s("h1",{class:c(e.$style.breadcrumbs)},[r.useGeoFilters&&r.breadcrumbs&&r.breadcrumbs.length>0?(m(),f(i.BreadcrumbsWidget,{key:0,items:i.breadcrumbsItems,name:i.breadcrumbsName},null,8,["items","name"])):(m(),g("div",T,[s("div",M,[i.filtersStore.selectedFilters.keyword?(m(),g("div",I," Browse "+t(i.filtersStore.selectedFilters.keyword)+" Rentals ",1)):(m(),g("div",L," Browse "+t(r.siteName),1))])]))],2),y(i.ListingPage,{"phone-number":r.phoneNumber,footer:!0,"search-params":r.searchParams,"page-type":r.listPageType,"is-geographic-filter-enabled":r.isGeographicFilterEnabled,"close-promos":i.filtersStore.closePromos},null,8,["phone-number","search-params","page-type","is-geographic-filter-enabled","close-promos"])])])}],["__cssModules",{$style:{filtersContainer:"SearchPage__filtersContainer--0my0236j",breadcrumbs:"SearchPage__breadcrumbs--0my0236j"}}],["__file","SearchPage.vue"]]);export{N as default};
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.