@influence-society-web/deshotelsetdesiles 4.2.5 → 4.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pages/CarnetDeVoyage.js +1 -1
- package/dist/pages/DemanderUnDevis.js +1 -1
- package/dist/pages/Destinations.js +1 -1
- package/dist/pages/Excursion.js +1 -1
- package/dist/pages/Home.js +1 -1
- package/dist/pages/HotelEtVilla.js +1 -1
- package/dist/pages/OfferSlug.js +1 -1
- package/dist/pages/Offers.js +1 -1
- package/dist/pages/OffersDeMinute.js +1 -1
- package/dist/pages/OffersReservez.js +1 -1
- package/dist/pages/Themes.js +1 -1
- package/dist/pages/Villas.js +1 -1
- package/package.json +1 -1
package/dist/pages/OfferSlug.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var In=Object.defineProperty;var Cn=(e,t,r)=>t in e?In(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Se=(e,t,r)=>(Cn(e,typeof t!="symbol"?t+"":t,r),r);var $="data",H={startingPriceList:`[${$}=starting-price-list]`,price:`[${$}=price]`,discount:`[${$}=discount]`,discountContainer:`[${$}=discount-container]`,currency:`[${$}=currency]`,beHid:`[${$}-be-hid]`,destination:`[${$}=destination]`,offersList:`[${$}=offers-list]`,offerSlugDetail:`[${$}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${$}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersList2:`[${$}=offer-slug-others-list2], [data-offer-slug-others-list2]`,offerSlugOthersList3:`[${$}=offer-slug-others-list3], [data-offer-slug-others-list3]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${$}=offers-more-wrapper]`,offerOthersTabsMenu:".offer-others_tabs-menu",offerOthersTabLink:".offer-others_tab-link",offerOthersTabPane:".offer-others_tab-pane",offersListContainer:`[${$}=offers-list-container]`,listItem:`[${$}=list-item]`,image:`[${$}=image]`,name:`[${$}=name]`,description:`[${$}=description]`,hotelName:`[${$}=hotel-name]`,hotelLink:`[${$}=hotel-link]`,hotelStartingPriceContainer:`[${$}=hotel-starting-price-container]`,moreDetails:`[${$}=more-details]`,offersPopup:`[${$}=offers-popup]`,offersPopupClose:`[${$}=close-btn]`,hotelReserveLink:`[${$}=hotel-reserve-link]`,hotelVillaReserveLink:`[${$}=hotel-villa-reserve-link]`,hotelURLS:`[${$}=hotel-urls]`,languageDropdown:`[${$}=language-dropdown]`,selectedLanguage:`[${$}=selected-language]`,loadingSpinner:`[${$}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:e=>`[${$}-be-hid=${e}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var qe={en:"Guadeloupe Islands",fr:"Les \xCEles de Guadeloupe",es:"Las islas de Guadalupe",it:"Le isole della Guadalupa"},Er={en:"La Dominique",fr:"La Dominique",es:"Dominica",it:"Dominica"},pt={en:"Saint Lucia",fr:"Sainte-Lucie",es:"Santa Luc\xEDa",it:"Santa Lucia"},On={en:"Martinique",fr:"Martinique",es:"Martinica",it:"Martinica"},We={en:"Mauritius",fr:"\xCEle Maurice",es:"Mauricio",it:"Mauritius"},Sr={en:"Saint Martin",fr:"Saint-Martin",es:"Saint-Martin",it:"Saint Martin"},br={en:"Antigua",fr:"Antigua",es:"Antigua",it:"Antigua"},_n={en:"Anguilla",fr:"Anguilla",es:"Anguila",it:"Anguilla"},Ne={gpgos12767:{destination:qe,slug:"/hotels-et-villas/creole-beach-hotel-spa",codeIPlanet:"FRAN414",cmsId:"67c809b5f63deab8a71cf8e9"},gptro12772:{destination:qe,slug:"/hotels-et-villas/le-jardin-malanga",codeIPlanet:"FRAN416",cmsId:"67c809b5f63deab8a71cf90d"},gpsai12770:{destination:qe,slug:"/hotels-et-villas/la-toubana-hotel-spa",codeIPlanet:"FRAN411",cmsId:"67c809b5f63deab8a71cf8ef"},gpgos12769:{destination:qe,slug:"/hotels-et-villas/mahogany-hotel-residence-spa",codeIPlanet:"FRAN423",cmsId:"67c809b5f63deab8a71cf91f"},gpgua27143:{destination:qe,slug:"/hotels-et-villas/langley-resort-fort-royal",codeIPlanet:"GPAN32",cmsId:"67c809b5f63deab8a71cf8f0"},mqros18592:{destination:Er,slug:"/hotels-et-villas/jungle-bay-dominica",codeIPlanet:"DMAN1",cmsId:"67c809b5f63deab8a71cf8ed"},dmtib00001:{destination:Er,slug:"/hotels-et-villas/secret-bay-dominique",codeIPlanet:"DMAN2",cmsId:"67c809b5f63deab8a71cfefd"},agste21689:{destination:pt,slug:"/hotels-et-villas/jade-mountain",codeIPlanet:"AGAN6",cmsId:"67c809b5f63deab8a71cf92a"},zzzzz25376:{destination:pt,slug:"/hotels-et-villas/windjammer-landing",codeIPlanet:"LCAN4",cmsId:"67c809b5f63deab8a71cf92b"},lcgro30400:{destination:pt,slug:"/hotels-et-villas/cap-maison",codeIPlanet:"LCLC8",cmsId:"67c809b5f63deab8a71cf929"},agste21688:{destination:pt,slug:"/hotels-et-villas/anse-chastanet",codeIPlanet:"AGAN5",cmsId:"67c809b5f63deab8a71cf928"},mqsai18593:{destination:On,slug:"/hotels-et-villas/plein-soleil",codeIPlanet:"MQAN16",cmsId:"67c809b5f63deab8a71cf925"},zzzzz25378:{destination:We,slug:"/hotels-et-villas/shanti-maurice",codeIPlanet:"MUAN22",cmsId:"67c809b5f63deab8a71cf933"},zzzzz25377:{destination:We,slug:"/hotels-et-villas/lux-le-morne",codeIPlanet:"MUAN21",cmsId:"67c809b5f63deab8a71cf931"},zzzzz25379:{destination:We,slug:"/hotels-et-villas/constance-belle-mare-plage",codeIPlanet:"MUAN20",cmsId:"67c809b5f63deab8a71cf92f"},mupos25678:{destination:We,slug:"/hotels-et-villas/constance-le-prince-maurice",codeIPlanet:"MUAN24",cmsId:"67c809b5f63deab8a71cf930"},zzzzz25380:{destination:We,slug:"/hotels-et-villas/anahita-the-resort",codeIPlanet:"MUAN19",cmsId:"67c809b5f63deab8a71cf92e"},agstm21687:{destination:Sr,slug:"/hotels-et-villas/la-samanna",codeIPlanet:"FRAN2350",cmsId:"67c809b5f63deab8a71cf926"},frsai31536:{destination:Sr,slug:"/hotels-et-villas/le-grand-case-beach-club",codeIPlanet:"FRFRA3",cmsId:"67c809b5f63deab8a71cf927"},ageng20433:{destination:br,slug:"/hotels-et-villas/the-inn-at-english-harbour",codeIPlanet:"AGAN4",cmsId:"67c809b5f63deab8a71cf8ec"},agcro20496:{destination:br,slug:"/hotels-et-villas/blue-waters",codeIPlanet:"AGAN1",cmsId:"67c809b5f63deab8a71cf8eb"},gpang25884:{destination:_n,slug:"/hotels-et-villas/aurora-anguilla-resort-golf-club",codeIPlanet:"GPAN30",cmsId:"67c809b5f63deab8a71cf8ea"}},Lr={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},yr={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"},Ke={"DERNI\xC8RE MINUTE":"735fe5e0858671cf3a5c14cbcc2470fe","R\xC9SERVEZ T\xD4T":"c5abb23caf056891f3902ff42ae2f9e0"};var Ye="https://deshotelsetdesiles.ccordier.workers.dev/v2/",Tr="https://deshotelsetdesiles.i-planet.fr/dhdi-public/searchform.cgi",Et="FR",Dr="1*q1lzz9*_gcl_au*MTMyMzcyMDY5NC4xNzM5Mjg5MzYx*_ga*NTAxMzI1MzMwLjE3MzkyODkzNjE.*_ga_Q0RXHLR7D4*MTczOTI5NzEzNC4zLjAuMTczOTI5NzE3Mi4yMi4wLjA.";var zt=async()=>new Promise(e=>{geoip2.country(t=>{e(t.country.iso_code)},()=>{e(Et)})});var $t=e=>{let t="?";for(let[r,n]of Object.entries(e))n&&(t+=`${r}=${n}&`);return t};var je=class{async getGroupOffersData(t){let r=Ye+"groupOffers"+$t(t),i=await(await fetch(r)).json();return i.error||!i.data?null:i}async getSingleHotelOffersData(t){let r=Ye+"offers"+$t(t),i=await(await fetch(r)).json();return i.error||!i.data?null:i}async getCMSOffers(){let t=Ye+"cmsOffers",n=await(await fetch(t)).json();return n.items?n:null}async getCountries(){let t=Ye+"cmsCountries",n=await(await fetch(t)).json();return n.items?n:null}};var Ir=()=>{let e=Cr();if(!e){let t=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(t)}window.Weglot.on("languageChanged",()=>{if(e)window.location.reload();else{let t=window.Weglot.getCurrentLang();localStorage.setItem("wglang",t),window.loadFromServer&&window.loadFromServer()}})},Cr=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",Ut=()=>{let e=Xe();return yr[e]},Xe=()=>{if(!Cr())return localStorage.getItem("wglang")||"fr";try{let e=window.Weglot.getCurrentLang();if(e)return e}catch(e){return console.error("Error getting language",e),"fr"}return"fr"},Vt=()=>{let e={};return Object.entries(Ne).forEach(([t,r])=>{e[r.cmsId]=t}),e},j=(e,t)=>`${e.toLowerCase().trim()}-${t.toLowerCase().trim()}`,Or=(e,t,r)=>{let n=Xe().toUpperCase(),i=Ne[t].codeIPlanet.toUpperCase(),s=`${Tr}?Lang=${n}¤cy=${e.toUpperCase()}&HotelCode=${i}`,a=Ar("_ga"),o=Dr,u=Ar("_gcl_au");return s+=`&_ga=${a}&_gl=${o}&_gcl_au=${u}`,r&&(s=`${s}&HotelPromo=${r}`),s},Ar=e=>{let t=document.cookie.match(new RegExp("(^| )"+e+"=([^;]+)"));return t?t[2]:null};var Bt=(e,t,r,n)=>{let{quotation:i,rate:{distribution:s}}=t,{pricePerNight:a,currency:o,plainBookLink:u}=i,{accessCode:c}=s||{},d="";c&&c.length>0&&([d]=c),Mn(e,a,o);let g=e.querySelector(H.hotelReserveLink);g&&g.addEventListener("click",v=>{v.preventDefault(),v.stopPropagation(),window.open(u,"_blank")});let h=e.querySelector(H.hotelVillaReserveLink);if(h&&h.addEventListener("click",v=>{v.preventDefault(),v.stopPropagation(),window.open(Or(o,r,d),"_blank")}),n){let{fieldData:{"discount-percentage":v}}=n,l=e.querySelector(H.discount);l&&v&&(l.innerHTML=`-${v}%`);let f=e.querySelector(H.discountContainer);f&&!v&&(f.style.display="none")}},Mn=(e,t,r)=>{let n=e.querySelector(H.price);n&&(n.innerHTML=Math.floor(t).toString());let i=e.querySelector(H.currency);i&&(i.innerHTML=Lr[r])};var St=class{constructor(t,r){this.listInstance=t;this.itemTemplateElement=r;Se(this,"loadingSpinner");Se(this,"cmsFilterEmptyState");Se(this,"offerLookup",{});Se(this,"apiClient",new je);Se(this,"countryCode");Se(this,"availableCountries",{});Se(this,"countryCodeFilter",t=>{let{fieldData:r}=t;return!r["supported-countries"]||r["supported-countries"].length===0?!0:r["supported-countries"].map(i=>this.availableCountries[i]).includes(this.countryCode)});this.cmsFilterEmptyState=document.querySelector(H.cmsFilterEmptyState),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.add("hide-empty-state"),t.clearItems(),Ir(),this.loadingSpinner=document.querySelector(H.loadingSpinner),this.countryCode=Et}async getGroupOffers(t){let{clearItems:r=!0,filter:n}=t||{};r&&this.listInstance.clearItems();let i=await this.apiClient.getCMSOffers();if(!i)return;let s=await this.apiClient.getCountries();if(!s)return;s.items.forEach(l=>{this.availableCountries[l.id]=l.fieldData.title?.trim()}),this.countryCode=await zt();let a=i.items.filter(n).filter(this.countryCodeFilter),o=this.generateHotelIds(a),u=this.generateHotelIds(a).join(","),c=o.length===1;c&&(u=[u,u].join(","));let{offerMetaData:d}=this.generateOfferData(a),g=Ut(),h=await this.apiClient.getGroupOffersData({hids:u,locale:g});if(!h||h.error||!h.data){this.hideSpinnerAndShowFilter();return}c&&(h.data=[h.data[0]]);let v=this.getAllOffers(h,d);this.addHotelToCollection(v),this.hideSpinnerAndShowFilter()}async getGroupCategoryOffers(t,r=!1){let n=i=>{let{isArchived:s,isDraft:a,fieldData:o}=i;return s||a?!1:r?(!o.thematiques||o.thematiques.length===0)&&!o.slug.includes("derniere-minute")&&!o.slug.includes("reservez-tot"):o.category===t};await this.getGroupOffers({filter:n})}async getGroupThemeOffers(t){let r=n=>{let{isArchived:i,isDraft:s,fieldData:a}=n;return i||s||!a.thematiques?!1:a.thematiques.includes(t)};await this.getGroupOffers({filter:r})}async getGroupOtherThemedOffers(t){let r=n=>{let{isArchived:i,isDraft:s,fieldData:a}=n;return i||s||a.slug===t?!1:Array.isArray(a.thematiques)&&a.thematiques.length>0};await this.getGroupOffers({filter:r})}async getGroupSlugOffers(t){let r=n=>{let{isArchived:i,isDraft:s,fieldData:a}=n;return i||s?!1:a.slug===t};await this.getGroupOffers({filter:r})}async getGroupOtherOffers(t,r){let n=i=>{let{isArchived:s,isDraft:a,fieldData:o}=i;return s||a||o.slug===t?!1:r?o.category===r:(!o.thematiques||o.thematiques.length===0)&&!o.slug.includes("derniere-minute")&&!o.slug.includes("reservez-tot")};await this.getGroupOffers({filter:n})}hideSpinnerAndShowFilter(){this.loadingSpinner&&(this.loadingSpinner.style.display="none"),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.remove("hide-empty-state")}generateHotelIds(t){let r=[],n=Vt();return t.forEach(i=>{let{fieldData:{"hotel-villa":s}}=i;r.push(n[s])}),Array.from(new Set(r))}getAllOffers(t,r){let n=[];return t.data.forEach(i=>{let{prop:{hid:s},rates:a}=i;a.forEach(o=>{let{name:u,title:c}=o.rate;(r.includes(j(s,u))||r.includes(j(s,c)))&&n.push({...i,rates:[o]})})}),n.sort((i,s)=>{let a=this.offerLookup[j(i.prop.hid,i.rates[0].rate.title)]||this.offerLookup[j(i.prop.hid,i.rates[0].rate.name)],o=this.offerLookup[j(s.prop.hid,s.rates[0].rate.title)]||this.offerLookup[j(s.prop.hid,s.rates[0].rate.name)],u=Number(a.fieldData.order)||0,c=Number(o.fieldData.order)||0;return u-c}),n}generateOfferData(t){let r=[];return t.forEach(n=>{let{fieldData:{"hotel-or-property-api-id":i,"offer-api-name":s}}=n,a=j(i,s);r.push(a),this.offerLookup[a]=n}),{offerMetaData:r}}addHotelToCollection(t){for(let{prop:r,rates:n}of t){let i=n.map(s=>this.createItem(r,s,this.itemTemplateElement));this.listInstance.addItems(i)}}createItem(t,r,n){let{rate:i}=r,{hid:s,title:a,property:o}=t,{image:u,title:c,name:d}=i,g=this.offerLookup[j(s||o,c)]||this.offerLookup[j(s||o,d)],h=n.cloneNode(!0),v=Ne[s||o];if(!v)return h;let{destination:l,slug:f}=v;this.bindOffersMetaData(h,{destination:l,image:u,hotelName:a,title:c,slug:f}),Bt(h,r,s,g);let m=h.querySelector(H.moreDetails);return m&&m.addEventListener("click",()=>{let b=this.getOffersCmsSlug(s,o,d);window.location.href=`/offers/${b}`}),h.style.display="flex",h}getOffersCmsSlug(t,r,n){return this.offerLookup[j(t||r,n)]?.fieldData.slug}bindOffersMetaData(t,{destination:r,image:n,hotelName:i,title:s,slug:a,description:o}){let u=t.querySelector(H.destination),c=t.querySelector(H.image),d=t.querySelector(H.hotelName),g=t.querySelector(H.name),h=t.querySelector(H.description),v=t.querySelector(H.hotelLink),l=Xe();u&&(u.textContent=r[l]),c&&(c.src=n?.url),d&&(d.innerHTML=i),g&&(g.innerHTML=s),h&&o&&(h.innerHTML=o),v&&a&&v.addEventListener("click",()=>{window.location.href=a})}};function Rn(e,{destination:t,image:r,hotelName:n,title:i,slug:s,description:a}){let o=e.querySelectorAll(H.destination),u=e.querySelectorAll(H.hotelName),c=e.querySelectorAll(H.name),d=e.querySelectorAll(H.description),g=e.querySelectorAll(H.hotelLink),h=Xe();o&&o.forEach(v=>{v.textContent=t[h]}),r?.url&&e.querySelectorAll(H.image).forEach(l=>{l.src=r.url}),u&&u.forEach(v=>{v.innerHTML=n}),c&&c.forEach(v=>{v.innerHTML=i}),d&&a&&d.forEach(v=>{v.innerHTML=a}),g&&s&&g.forEach(v=>{v.addEventListener("click",l=>{l.preventDefault(),window.location.href=s})})}async function _r(e,t){let r=new je,n=await r.getCMSOffers();if(!n)return;let i=await r.getCountries();if(!i)return;let s={};i.items.forEach(A=>{s[A.id]=A.fieldData.title?.trim()});let a=await zt(),o=A=>{let{fieldData:I}=A;return!I["supported-countries"]||I["supported-countries"].length===0?!0:I["supported-countries"].map(y=>s[y]).includes(a)},u=A=>{let{isArchived:I,isDraft:L,fieldData:y}=A;return I||L?!1:y.slug===e},c=n.items.filter(u).filter(o);if(c.length===0)return;let d=Vt(),g=Array.from(new Set(c.map(A=>d[A.fieldData["hotel-villa"]]).filter(A=>A!=null)));if(g.length===0)return;let h=g.join(",");g.length===1&&(h=[h,h].join(","));let v={},l=[];c.forEach(A=>{let{fieldData:{"hotel-or-property-api-id":I,"offer-api-name":L}}=A,y=j(I,L);l.push(y),v[y]=A});let f=Ut(),m=await r.getGroupOffersData({hids:h,locale:f});if(!m?.data||m.error)return;let b=g.length===1?[m.data[0]]:m.data,p=[];b.forEach(A=>{let{prop:{hid:I},rates:L}=A;L.forEach(y=>{let{name:C,title:k}=y.rate;(l.includes(j(I,C))||l.includes(j(I,k)))&&p.push({...A,rates:[y]})})}),p.sort((A,I)=>{let L=v[j(A.prop.hid,A.rates[0].rate.title)]||v[j(A.prop.hid,A.rates[0].rate.name)],y=v[j(I.prop.hid,I.rates[0].rate.title)]||v[j(I.prop.hid,I.rates[0].rate.name)];return(Number(L?.fieldData.order)||0)-(Number(y?.fieldData.order)||0)});let E=p[0];if(!E?.rates?.[0])return;let{prop:N,rates:_}=E,P=N.hid||N.property,S=_[0],M=v[j(P,S.rate.title)]||v[j(P,S.rate.name)];try{let A=Ne[P];A&&Rn(t,{destination:A.destination,image:S.rate.image,hotelName:N.title,title:S.rate.title,slug:A.slug,description:S.rate.html_description}),Bt(t,S,P,M)}catch{}}function Ce(e){let t=e.querySelector(H.listItem);return!t&&(e.matches(H.offerSlugOthersList)||e.matches(H.offerSlugOthersList2)||e.matches(H.offerSlugOthersList3))&&(t=e.querySelector(H.offerSlugOthersListItem)),t?wn({items:[{element:t}],clearItems(n=!0){n&&(e.innerHTML="")},addItems(n){for(let i of n)e.appendChild(i);return Promise.resolve()}}):null}var wn=e=>{let[t]=e.items;if(!t)throw new Error("No items found in the list instance");let r=t.element;return new St(e,r)};function Mr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Nn(e,t,r){return t&&Mr(e.prototype,t),r&&Mr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var Rr="(prefers-reduced-motion: reduce)",ke=1,Pn=2,xe=3,$e=4,ot=5,Lt=6,At=7,Hn={CREATED:ke,MOUNTED:Pn,IDLE:xe,MOVING:$e,SCROLLING:ot,DRAGGING:Lt,DESTROYED:At};function pe(e){e.length=0}function De(e,t,r){return Array.prototype.slice.call(e,t,r)}function V(e){return e.bind.apply(e,[null].concat(De(arguments,1)))}var qr=setTimeout,jt=function(){};function wr(e){return requestAnimationFrame(e)}function _t(e,t){return typeof t===e}function Je(e){return!rr(e)&&_t("object",e)}var tr=Array.isArray,Wr=V(_t,"function"),Le=V(_t,"string"),lt=V(_t,"undefined");function rr(e){return e===null}function Kr(e){try{return e instanceof(e.ownerDocument.defaultView||window).HTMLElement}catch{return!1}}function ut(e){return tr(e)?e:[e]}function ae(e,t){ut(e).forEach(t)}function nr(e,t){return e.indexOf(t)>-1}function yt(e,t){return e.push.apply(e,ut(t)),e}function he(e,t,r){e&&ae(t,function(n){n&&e.classList[r?"add":"remove"](n)})}function ce(e,t){he(e,Le(t)?t.split(" "):t,!0)}function ct(e,t){ae(t,e.appendChild.bind(e))}function ir(e,t){ae(e,function(r){var n=(t||r).parentNode;n&&n.insertBefore(r,t)})}function et(e,t){return Kr(e)&&(e.msMatchesSelector||e.matches).call(e,t)}function Yr(e,t){var r=e?De(e.children):[];return t?r.filter(function(n){return et(n,t)}):r}function ft(e,t){return t?Yr(e,t)[0]:e.firstElementChild}var tt=Object.keys;function _e(e,t,r){return e&&(r?tt(e).reverse():tt(e)).forEach(function(n){n!=="__proto__"&&t(e[n],n)}),e}function rt(e){return De(arguments,1).forEach(function(t){_e(t,function(r,n){e[n]=t[n]})}),e}function be(e){return De(arguments,1).forEach(function(t){_e(t,function(r,n){tr(r)?e[n]=r.slice():Je(r)?e[n]=be({},Je(e[n])?e[n]:{},r):e[n]=r})}),e}function Nr(e,t){ae(t||tt(e),function(r){delete e[r]})}function fe(e,t){ae(e,function(r){ae(t,function(n){r&&r.removeAttribute(n)})})}function G(e,t,r){Je(t)?_e(t,function(n,i){G(e,i,n)}):ae(e,function(n){rr(r)||r===""?fe(n,t):n.setAttribute(t,String(r))})}function Fe(e,t,r){var n=document.createElement(e);return t&&(Le(t)?ce(n,t):G(n,t)),r&&ct(r,n),n}function oe(e,t,r){if(lt(r))return getComputedStyle(e)[t];rr(r)||(e.style[t]=""+r)}function nt(e,t){oe(e,"display",t)}function jr(e){e.setActive&&e.setActive()||e.focus({preventScroll:!0})}function le(e,t){return e.getAttribute(t)}function Pr(e,t){return e&&e.classList.contains(t)}function ie(e){return e.getBoundingClientRect()}function Me(e){ae(e,function(t){t&&t.parentNode&&t.parentNode.removeChild(t)})}function Xr(e){return ft(new DOMParser().parseFromString(e,"text/html").body)}function ve(e,t){e.preventDefault(),t&&(e.stopPropagation(),e.stopImmediatePropagation())}function Zr(e,t){return e&&e.querySelector(t)}function sr(e,t){return t?De(e.querySelectorAll(t)):[]}function ge(e,t){he(e,t,!1)}function Xt(e){return e.timeStamp}function Oe(e){return Le(e)?e:e?e+"px":""}var dt="splide",ar="data-"+dt;function Ze(e,t){if(!e)throw new Error("["+dt+"] "+(t||""))}var ye=Math.min,It=Math.max,Ct=Math.floor,it=Math.ceil,re=Math.abs;function Qr(e,t,r){return re(e-t)<r}function Tt(e,t,r,n){var i=ye(t,r),s=It(t,r);return n?i<e&&e<s:i<=e&&e<=s}function Pe(e,t,r){var n=ye(t,r),i=It(t,r);return ye(It(n,e),i)}function Zt(e){return+(e>0)-+(e<0)}function Qt(e,t){return ae(t,function(r){e=e.replace("%s",""+r)}),e}function or(e){return e<10?"0"+e:""+e}var Hr={};function kn(e){return""+e+or(Hr[e]=(Hr[e]||0)+1)}function Jr(){var e=[];function t(a,o,u,c){i(a,o,function(d,g,h){var v="addEventListener"in d,l=v?d.removeEventListener.bind(d,g,u,c):d.removeListener.bind(d,u);v?d.addEventListener(g,u,c):d.addListener(u),e.push([d,g,h,u,l])})}function r(a,o,u){i(a,o,function(c,d,g){e=e.filter(function(h){return h[0]===c&&h[1]===d&&h[2]===g&&(!u||h[3]===u)?(h[4](),!1):!0})})}function n(a,o,u){var c,d=!0;return typeof CustomEvent=="function"?c=new CustomEvent(o,{bubbles:d,detail:u}):(c=document.createEvent("CustomEvent"),c.initCustomEvent(o,d,!1,u)),a.dispatchEvent(c),c}function i(a,o,u){ae(a,function(c){c&&ae(o,function(d){d.split(" ").forEach(function(g){var h=g.split(".");u(c,h[0],h[1])})})})}function s(){e.forEach(function(a){a[4]()}),pe(e)}return{bind:t,unbind:r,dispatch:n,destroy:s}}var we="mounted",kr="ready",Te="move",vt="moved",en="click",Fn="active",Gn="inactive",xn="visible",zn="hidden",X="refresh",ne="updated",st="resize",lr="resized",$n="drag",Un="dragging",Vn="dragged",ur="scroll",Ue="scrolled",Bn="overflow",tn="destroy",qn="arrows:mounted",Wn="arrows:updated",Kn="pagination:mounted",Yn="pagination:updated",rn="navigation:mounted",nn="autoplay:play",jn="autoplay:playing",sn="autoplay:pause",an="lazyload:loaded",on="sk",ln="sh",Ot="ei";function W(e){var t=e?e.event.bus:document.createDocumentFragment(),r=Jr();function n(s,a){r.bind(t,ut(s).join(" "),function(o){a.apply(a,tr(o.detail)?o.detail:[])})}function i(s){r.dispatch(t,s,De(arguments,1))}return e&&e.event.on(tn,r.destroy),rt(r,{bus:t,on:n,off:V(r.unbind,t),emit:i})}function Mt(e,t,r,n){var i=Date.now,s,a=0,o,u=!0,c=0;function d(){if(!u){if(a=e?ye((i()-s)/e,1):1,r&&r(a),a>=1&&(t(),s=i(),n&&++c>=n))return h();o=wr(d)}}function g(b){b||l(),s=i()-(b?a*e:0),u=!1,o=wr(d)}function h(){u=!0}function v(){s=i(),a=0,r&&r(a)}function l(){o&&cancelAnimationFrame(o),a=0,o=0,u=!0}function f(b){e=b}function m(){return u}return{start:g,rewind:v,pause:h,cancel:l,set:f,isPaused:m}}function Xn(e){var t=e;function r(i){t=i}function n(i){return nr(ut(i),t)}return{set:r,is:n}}function Zn(e,t){var r=Mt(t||0,e,null,1);return function(){r.isPaused()&&r.start()}}function Qn(e,t,r){var n=e.state,i=r.breakpoints||{},s=r.reducedMotion||{},a=Jr(),o=[];function u(){var l=r.mediaQuery==="min";tt(i).sort(function(f,m){return l?+f-+m:+m-+f}).forEach(function(f){d(i[f],"("+(l?"min":"max")+"-width:"+f+"px)")}),d(s,Rr),g()}function c(l){l&&a.destroy()}function d(l,f){var m=matchMedia(f);a.bind(m,"change",g),o.push([l,m])}function g(){var l=n.is(At),f=r.direction,m=o.reduce(function(b,p){return be(b,p[1].matches?p[0]:{})},{});Nr(r),v(m),r.destroy?e.destroy(r.destroy==="completely"):l?(c(!0),e.mount()):f!==r.direction&&e.refresh()}function h(l){matchMedia(Rr).matches&&(l?be(r,s):Nr(r,tt(s)))}function v(l,f,m){be(r,l),f&&be(Object.getPrototypeOf(r),l),(m||!n.is(ke))&&e.emit(ne,r)}return{setup:u,destroy:c,reduce:h,set:v}}var Rt="Arrow",wt=Rt+"Left",Nt=Rt+"Right",un=Rt+"Up",cn=Rt+"Down";var Fr="rtl",Pt="ttb",qt={width:["height"],left:["top","right"],right:["bottom","left"],x:["y"],X:["Y"],Y:["X"],ArrowLeft:[un,Nt],ArrowRight:[cn,wt]};function Jn(e,t,r){function n(s,a,o){o=o||r.direction;var u=o===Fr&&!a?1:o===Pt?0:-1;return qt[s]&&qt[s][u]||s.replace(/width|left|right/i,function(c,d){var g=qt[c.toLowerCase()][u]||c;return d>0?g.charAt(0).toUpperCase()+g.slice(1):g})}function i(s){return s*(r.direction===Fr?1:-1)}return{resolve:n,orient:i}}var me="role",Ge="tabindex",ei="disabled",ue="aria-",ht=ue+"controls",fn=ue+"current",Gr=ue+"selected",se=ue+"label",cr=ue+"labelledby",dn=ue+"hidden",fr=ue+"orientation",at=ue+"roledescription",xr=ue+"live",zr=ue+"busy",$r=ue+"atomic",dr=[me,Ge,ei,ht,fn,se,cr,dn,fr,at],de=dt+"__",Ae="is-",Wt=dt,Ur=de+"track",ti=de+"list",Ht=de+"slide",vn=Ht+"--clone",ri=Ht+"__container",vr=de+"arrows",kt=de+"arrow",hn=kt+"--prev",gn=kt+"--next",Ft=de+"pagination",mn=Ft+"__page",ni=de+"progress",ii=ni+"__bar",hr=de+"toggle",Os=hr+"__play",_s=hr+"__pause",si=de+"spinner",ai=de+"sr",oi=Ae+"initialized",Re=Ae+"active",pn=Ae+"prev",En=Ae+"next",Jt=Ae+"visible",er=Ae+"loading",Sn=Ae+"focus-in",bn=Ae+"overflow",li=[Re,Jt,pn,En,er,Sn,bn],ui={slide:Ht,clone:vn,arrows:vr,arrow:kt,prev:hn,next:gn,pagination:Ft,page:mn,spinner:si};function ci(e,t){if(Wr(e.closest))return e.closest(t);for(var r=e;r&&r.nodeType===1&&!et(r,t);)r=r.parentElement;return r}var fi=5,Vr=200,Ln="touchstart mousedown",Kt="touchmove mousemove",Yt="touchend touchcancel mouseup click";function di(e,t,r){var n=W(e),i=n.on,s=n.bind,a=e.root,o=r.i18n,u={},c=[],d=[],g=[],h,v,l;function f(){E(),N(),p()}function m(){i(X,b),i(X,f),i(ne,p),s(document,Ln+" keydown",function(S){l=S.type==="keydown"},{capture:!0}),s(a,"focusin",function(){he(a,Sn,!!l)})}function b(S){var M=dr.concat("style");pe(c),ge(a,d),ge(h,g),fe([h,v],M),fe(a,S?M:["style",at])}function p(){ge(a,d),ge(h,g),d=P(Wt),g=P(Ur),ce(a,d),ce(h,g),G(a,se,r.label),G(a,cr,r.labelledby)}function E(){h=_("."+Ur),v=ft(h,"."+ti),Ze(h&&v,"A track/list element is missing."),yt(c,Yr(v,"."+Ht+":not(."+vn+")")),_e({arrows:vr,pagination:Ft,prev:hn,next:gn,bar:ii,toggle:hr},function(S,M){u[M]=_("."+S)}),rt(u,{root:a,track:h,list:v,slides:c})}function N(){var S=a.id||kn(dt),M=r.role;a.id=S,h.id=h.id||S+"-track",v.id=v.id||S+"-list",!le(a,me)&&a.tagName!=="SECTION"&&M&&G(a,me,M),G(a,at,o.carousel),G(v,me,"presentation")}function _(S){var M=Zr(a,S);return M&&ci(M,"."+Wt)===a?M:void 0}function P(S){return[S+"--"+r.type,S+"--"+r.direction,r.drag&&S+"--draggable",r.isNavigation&&S+"--nav",S===Wt&&Re]}return rt(u,{setup:f,mount:m,destroy:b})}var ze="slide",Ve="loop",gt="fade";function vi(e,t,r,n){var i=W(e),s=i.on,a=i.emit,o=i.bind,u=e.Components,c=e.root,d=e.options,g=d.isNavigation,h=d.updateOnMove,v=d.i18n,l=d.pagination,f=d.slideFocus,m=u.Direction.resolve,b=le(n,"style"),p=le(n,se),E=r>-1,N=ft(n,"."+ri),_;function P(){E||(n.id=c.id+"-slide"+or(t+1),G(n,me,l?"tabpanel":"group"),G(n,at,v.slide),G(n,se,p||Qt(v.slideLabel,[t+1,e.length]))),S()}function S(){o(n,"click",V(a,en,F)),o(n,"keydown",V(a,on,F)),s([vt,ln,Ue],L),s(rn,A),h&&s(Te,I)}function M(){_=!0,i.destroy(),ge(n,li),fe(n,dr),G(n,"style",b),G(n,se,p||"")}function A(){var w=e.splides.map(function(D){var R=D.splide.Components.Slides.getAt(t);return R?R.slide.id:""}).join(" ");G(n,se,Qt(v.slideX,(E?r:t)+1)),G(n,ht,w),G(n,me,f?"button":""),f&&fe(n,at)}function I(){_||L()}function L(){if(!_){var w=e.index;y(),C(),he(n,pn,t===w-1),he(n,En,t===w+1)}}function y(){var w=x();w!==Pr(n,Re)&&(he(n,Re,w),G(n,fn,g&&w||""),a(w?Fn:Gn,F))}function C(){var w=K(),D=!w&&(!x()||E);if(e.state.is([$e,ot])||G(n,dn,D||""),G(sr(n,d.focusableNodes||""),Ge,D?-1:""),f&&G(n,Ge,D?-1:0),w!==Pr(n,Jt)&&(he(n,Jt,w),a(w?xn:zn,F)),!w&&document.activeElement===n){var R=u.Slides.getAt(e.index);R&&jr(R.slide)}}function k(w,D,R){oe(R&&N||n,w,D)}function x(){var w=e.index;return w===t||d.cloneStatus&&w===r}function K(){if(e.is(gt))return x();var w=ie(u.Elements.track),D=ie(n),R=m("left",!0),z=m("right",!0);return Ct(w[R])<=it(D[R])&&Ct(D[z])<=it(w[z])}function q(w,D){var R=re(w-t);return!E&&(d.rewind||e.is(Ve))&&(R=ye(R,e.length-R)),R<=D}var F={index:t,slideIndex:r,slide:n,container:N,isClone:E,mount:P,destroy:M,update:L,style:k,isWithin:q};return F}function hi(e,t,r){var n=W(e),i=n.on,s=n.emit,a=n.bind,o=t.Elements,u=o.slides,c=o.list,d=[];function g(){h(),i(X,v),i(X,h)}function h(){u.forEach(function(L,y){f(L,y,-1)})}function v(){_(function(L){L.destroy()}),pe(d)}function l(){_(function(L){L.update()})}function f(L,y,C){var k=vi(e,y,C,L);k.mount(),d.push(k),d.sort(function(x,K){return x.index-K.index})}function m(L){return L?P(function(y){return!y.isClone}):d}function b(L){var y=t.Controller,C=y.toIndex(L),k=y.hasFocus()?1:r.perPage;return P(function(x){return Tt(x.index,C,C+k-1)})}function p(L){return P(L)[0]}function E(L,y){ae(L,function(C){if(Le(C)&&(C=Xr(C)),Kr(C)){var k=u[y];k?ir(C,k):ct(c,C),ce(C,r.classes.slide),M(C,V(s,st))}}),s(X)}function N(L){Me(P(L).map(function(y){return y.slide})),s(X)}function _(L,y){m(y).forEach(L)}function P(L){return d.filter(Wr(L)?L:function(y){return Le(L)?et(y.slide,L):nr(ut(L),y.index)})}function S(L,y,C){_(function(k){k.style(L,y,C)})}function M(L,y){var C=sr(L,"img"),k=C.length;k?C.forEach(function(x){a(x,"load error",function(){--k||y()})}):y()}function A(L){return L?u.length:d.length}function I(){return d.length>r.perPage}return{mount:g,destroy:v,update:l,register:f,get:m,getIn:b,getAt:p,add:E,remove:N,forEach:_,filter:P,style:S,getLength:A,isEnough:I}}function gi(e,t,r){var n=W(e),i=n.on,s=n.bind,a=n.emit,o=t.Slides,u=t.Direction.resolve,c=t.Elements,d=c.root,g=c.track,h=c.list,v=o.getAt,l=o.style,f,m,b;function p(){E(),s(window,"resize load",Zn(V(a,st))),i([ne,X],E),i(st,N)}function E(){f=r.direction===Pt,oe(d,"maxWidth",Oe(r.width)),oe(g,u("paddingLeft"),_(!1)),oe(g,u("paddingRight"),_(!0)),N(!0)}function N(F){var w=ie(d);(F||m.width!==w.width||m.height!==w.height)&&(oe(g,"height",P()),l(u("marginRight"),Oe(r.gap)),l("width",M()),l("height",A(),!0),m=w,a(lr),b!==(b=q())&&(he(d,bn,b),a(Bn,b)))}function _(F){var w=r.padding,D=u(F?"right":"left");return w&&Oe(w[D]||(Je(w)?0:w))||"0px"}function P(){var F="";return f&&(F=S(),Ze(F,"height or heightRatio is missing."),F="calc("+F+" - "+_(!1)+" - "+_(!0)+")"),F}function S(){return Oe(r.height||ie(h).width*r.heightRatio)}function M(){return r.autoWidth?null:Oe(r.fixedWidth)||(f?"":I())}function A(){return Oe(r.fixedHeight)||(f?r.autoHeight?null:I():S())}function I(){var F=Oe(r.gap);return"calc((100%"+(F&&" + "+F)+")/"+(r.perPage||1)+(F&&" - "+F)+")"}function L(){return ie(h)[u("width")]}function y(F,w){var D=v(F||0);return D?ie(D.slide)[u("width")]+(w?0:x()):0}function C(F,w){var D=v(F);if(D){var R=ie(D.slide)[u("right")],z=ie(h)[u("left")];return re(R-z)+(w?0:x())}return 0}function k(F){return C(e.length-1)-C(0)+y(0,F)}function x(){var F=v(0);return F&&parseFloat(oe(F.slide,u("marginRight")))||0}function K(F){return parseFloat(oe(g,u("padding"+(F?"Right":"Left"))))||0}function q(){return e.is(gt)||k(!0)>L()}return{mount:p,resize:N,listSize:L,slideSize:y,sliderSize:k,totalSize:C,getPadding:K,isOverflow:q}}var mi=2;function pi(e,t,r){var n=W(e),i=n.on,s=t.Elements,a=t.Slides,o=t.Direction.resolve,u=[],c;function d(){i(X,g),i([ne,st],v),(c=m())&&(l(c),t.Layout.resize(!0))}function g(){h(),d()}function h(){Me(u),pe(u),n.destroy()}function v(){var b=m();c!==b&&(c<b||!b)&&n.emit(X)}function l(b){var p=a.get().slice(),E=p.length;if(E){for(;p.length<b;)yt(p,p);yt(p.slice(-b),p.slice(0,b)).forEach(function(N,_){var P=_<b,S=f(N.slide,_);P?ir(S,p[0].slide):ct(s.list,S),yt(u,S),a.register(S,_-b+(P?0:E),N.index)})}}function f(b,p){var E=b.cloneNode(!0);return ce(E,r.classes.clone),E.id=e.root.id+"-clone"+or(p+1),E}function m(){var b=r.clones;if(!e.is(Ve))b=0;else if(lt(b)){var p=r[o("fixedWidth")]&&t.Layout.slideSize(0),E=p&&it(ie(s.track)[o("width")]/p);b=E||r[o("autoWidth")]&&e.length||r.perPage*mi}return b}return{mount:d,destroy:h}}function Ei(e,t,r){var n=W(e),i=n.on,s=n.emit,a=e.state.set,o=t.Layout,u=o.slideSize,c=o.getPadding,d=o.totalSize,g=o.listSize,h=o.sliderSize,v=t.Direction,l=v.resolve,f=v.orient,m=t.Elements,b=m.list,p=m.track,E;function N(){E=t.Transition,i([we,lr,ne,X],_)}function _(){t.Controller.isBusy()||(t.Scroll.cancel(),S(e.index),t.Slides.update())}function P(D,R,z,J){D!==R&&F(D>z)&&(L(),M(I(k(),D>z),!0)),a($e),s(Te,R,z,D),E.start(R,function(){a(xe),s(vt,R,z,D),J&&J()})}function S(D){M(C(D,!0))}function M(D,R){if(!e.is(gt)){var z=R?D:A(D);oe(b,"transform","translate"+l("X")+"("+z+"px)"),D!==z&&s(ln)}}function A(D){if(e.is(Ve)){var R=y(D),z=R>t.Controller.getEnd(),J=R<0;(J||z)&&(D=I(D,z))}return D}function I(D,R){var z=D-q(R),J=h();return D-=f(J*(it(re(z)/J)||1))*(R?1:-1),D}function L(){M(k(),!0),E.cancel()}function y(D){for(var R=t.Slides.get(),z=0,J=1/0,Q=0;Q<R.length;Q++){var Ee=R[Q].index,T=re(C(Ee,!0)-D);if(T<=J)J=T,z=Ee;else break}return z}function C(D,R){var z=f(d(D-1)-K(D));return R?x(z):z}function k(){var D=l("left");return ie(b)[D]-ie(p)[D]+f(c(!1))}function x(D){return r.trimSpace&&e.is(ze)&&(D=Pe(D,0,f(h(!0)-g()))),D}function K(D){var R=r.focus;return R==="center"?(g()-u(D,!0))/2:+R*u(D)||0}function q(D){return C(D?t.Controller.getEnd():0,!!r.trimSpace)}function F(D){var R=f(I(k(),D));return D?R>=0:R<=b[l("scrollWidth")]-ie(p)[l("width")]}function w(D,R){R=lt(R)?k():R;var z=D!==!0&&f(R)<f(q(!1)),J=D!==!1&&f(R)>f(q(!0));return z||J}return{mount:N,move:P,jump:S,translate:M,shift:I,cancel:L,toIndex:y,toPosition:C,getPosition:k,getLimit:q,exceededLimit:w,reposition:_}}function Si(e,t,r){var n=W(e),i=n.on,s=n.emit,a=t.Move,o=a.getPosition,u=a.getLimit,c=a.toPosition,d=t.Slides,g=d.isEnough,h=d.getLength,v=r.omitEnd,l=e.is(Ve),f=e.is(ze),m=V(k,!1),b=V(k,!0),p=r.start||0,E,N=p,_,P,S;function M(){A(),i([ne,X,Ot],A),i(lr,I)}function A(){_=h(!0),P=r.perMove,S=r.perPage,E=F();var T=Pe(p,0,v?E:_-1);T!==p&&(p=T,a.reposition())}function I(){E!==F()&&s(Ot)}function L(T,U,te){if(!Ee()){var Y=C(T),ee=q(Y);ee>-1&&(U||ee!==p)&&(z(ee),a.move(Y,ee,N,te))}}function y(T,U,te,Y){t.Scroll.scroll(T,U,te,function(){var ee=q(a.toIndex(o()));z(v?ye(ee,E):ee),Y&&Y()})}function C(T){var U=p;if(Le(T)){var te=T.match(/([+\-<>])(\d+)?/)||[],Y=te[1],ee=te[2];Y==="+"||Y==="-"?U=x(p+ +(""+Y+(+ee||1)),p):Y===">"?U=ee?w(+ee):m(!0):Y==="<"&&(U=b(!0))}else U=l?T:Pe(T,0,E);return U}function k(T,U){var te=P||(Q()?1:S),Y=x(p+te*(T?-1:1),p,!(P||Q()));return Y===-1&&f&&!Qr(o(),u(!T),1)?T?0:E:U?Y:q(Y)}function x(T,U,te){if(g()||Q()){var Y=K(T);Y!==T&&(U=T,T=Y,te=!1),T<0||T>E?!P&&(Tt(0,T,U,!0)||Tt(E,U,T,!0))?T=w(D(T)):l?T=te?T<0?-(_%S||S):_:T:r.rewind?T=T<0?E:0:T=-1:te&&T!==U&&(T=w(D(U)+(T<U?-1:1)))}else T=-1;return T}function K(T){if(f&&r.trimSpace==="move"&&T!==p)for(var U=o();U===c(T,!0)&&Tt(T,0,e.length-1,!r.rewind);)T<p?--T:++T;return T}function q(T){return l?(T+_)%_||0:T}function F(){for(var T=_-(Q()||l&&P?1:S);v&&T-- >0;)if(c(_-1,!0)!==c(T,!0)){T++;break}return Pe(T,0,_-1)}function w(T){return Pe(Q()?T:S*T,0,E)}function D(T){return Q()?ye(T,E):Ct((T>=E?_-1:T)/S)}function R(T){var U=a.toIndex(T);return f?Pe(U,0,E):U}function z(T){T!==p&&(N=p,p=T)}function J(T){return T?N:p}function Q(){return!lt(r.focus)||r.isNavigation}function Ee(){return e.state.is([$e,ot])&&!!r.waitForTransition}return{mount:M,go:L,scroll:y,getNext:m,getPrev:b,getAdjacent:k,getEnd:F,setIndex:z,getIndex:J,toIndex:w,toPage:D,toDest:R,hasFocus:Q,isBusy:Ee}}var bi="http://www.w3.org/2000/svg",Li="m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z",bt=40;function yi(e,t,r){var n=W(e),i=n.on,s=n.bind,a=n.emit,o=r.classes,u=r.i18n,c=t.Elements,d=t.Controller,g=c.arrows,h=c.track,v=g,l=c.prev,f=c.next,m,b,p={};function E(){_(),i(ne,N)}function N(){P(),E()}function _(){var y=r.arrows;y&&!(l&&f)&&A(),l&&f&&(rt(p,{prev:l,next:f}),nt(v,y?"":"none"),ce(v,b=vr+"--"+r.direction),y&&(S(),L(),G([l,f],ht,h.id),a(qn,l,f)))}function P(){n.destroy(),ge(v,b),m?(Me(g?[l,f]:v),l=f=null):fe([l,f],dr)}function S(){i([we,vt,X,Ue,Ot],L),s(f,"click",V(M,">")),s(l,"click",V(M,"<"))}function M(y){d.go(y,!0)}function A(){v=g||Fe("div",o.arrows),l=I(!0),f=I(!1),m=!0,ct(v,[l,f]),!g&&ir(v,h)}function I(y){var C='<button class="'+o.arrow+" "+(y?o.prev:o.next)+'" type="button"><svg xmlns="'+bi+'" viewBox="0 0 '+bt+" "+bt+'" width="'+bt+'" height="'+bt+'" focusable="false"><path d="'+(r.arrowPath||Li)+'" />';return Xr(C)}function L(){if(l&&f){var y=e.index,C=d.getPrev(),k=d.getNext(),x=C>-1&&y<C?u.last:u.prev,K=k>-1&&y>k?u.first:u.next;l.disabled=C<0,f.disabled=k<0,G(l,se,x),G(f,se,K),a(Wn,l,f,C,k)}}return{arrows:p,mount:E,destroy:P,update:L}}var Ti=ar+"-interval";function Di(e,t,r){var n=W(e),i=n.on,s=n.bind,a=n.emit,o=Mt(r.interval,e.go.bind(e,">"),S),u=o.isPaused,c=t.Elements,d=t.Elements,g=d.root,h=d.toggle,v=r.autoplay,l,f,m=v==="pause";function b(){v&&(p(),h&&G(h,ht,c.track.id),m||E(),P())}function p(){r.pauseOnHover&&s(g,"mouseenter mouseleave",function(A){l=A.type==="mouseenter",_()}),r.pauseOnFocus&&s(g,"focusin focusout",function(A){f=A.type==="focusin",_()}),h&&s(h,"click",function(){m?E():N(!0)}),i([Te,ur,X],o.rewind),i(Te,M)}function E(){u()&&t.Slides.isEnough()&&(o.start(!r.resetProgress),f=l=m=!1,P(),a(nn))}function N(A){A===void 0&&(A=!0),m=!!A,P(),u()||(o.pause(),a(sn))}function _(){m||(l||f?N(!1):E())}function P(){h&&(he(h,Re,!m),G(h,se,r.i18n[m?"play":"pause"]))}function S(A){var I=c.bar;I&&oe(I,"width",A*100+"%"),a(jn,A)}function M(A){var I=t.Slides.getAt(A);o.set(I&&+le(I.slide,Ti)||r.interval)}return{mount:b,destroy:o.cancel,play:E,pause:N,isPaused:u}}function Ai(e,t,r){var n=W(e),i=n.on;function s(){r.cover&&(i(an,V(o,!0)),i([we,ne,X],V(a,!0)))}function a(u){t.Slides.forEach(function(c){var d=ft(c.container||c.slide,"img");d&&d.src&&o(u,d,c)})}function o(u,c,d){d.style("background",u?'center/cover no-repeat url("'+c.src+'")':"",!0),nt(c,u?"none":"")}return{mount:s,destroy:V(a,!1)}}var Ii=10,Ci=600,Oi=.6,_i=1.5,Mi=800;function Ri(e,t,r){var n=W(e),i=n.on,s=n.emit,a=e.state.set,o=t.Move,u=o.getPosition,c=o.getLimit,d=o.exceededLimit,g=o.translate,h=e.is(ze),v,l,f=1;function m(){i(Te,N),i([ne,X],_)}function b(S,M,A,I,L){var y=u();if(N(),A&&(!h||!d())){var C=t.Layout.sliderSize(),k=Zt(S)*C*Ct(re(S)/C)||0;S=o.toPosition(t.Controller.toDest(S%C))+k}var x=Qr(y,S,1);f=1,M=x?0:M||It(re(S-y)/_i,Mi),l=I,v=Mt(M,p,V(E,y,S,L),1),a(ot),s(ur),v.start()}function p(){a(xe),l&&l(),s(Ue)}function E(S,M,A,I){var L=u(),y=S+(M-S)*P(I),C=(y-L)*f;g(L+C),h&&!A&&d()&&(f*=Oi,re(C)<Ii&&b(c(d(!0)),Ci,!1,l,!0))}function N(){v&&v.cancel()}function _(){v&&!v.isPaused()&&(N(),p())}function P(S){var M=r.easingFunc;return M?M(S):1-Math.pow(1-S,4)}return{mount:m,destroy:N,scroll:b,cancel:_}}var He={passive:!1,capture:!0};function wi(e,t,r){var n=W(e),i=n.on,s=n.emit,a=n.bind,o=n.unbind,u=e.state,c=t.Move,d=t.Scroll,g=t.Controller,h=t.Elements.track,v=t.Media.reduce,l=t.Direction,f=l.resolve,m=l.orient,b=c.getPosition,p=c.exceededLimit,E,N,_,P,S,M=!1,A,I,L;function y(){a(h,Kt,jt,He),a(h,Yt,jt,He),a(h,Ln,k,He),a(h,"click",q,{capture:!0}),a(h,"dragstart",ve),i([we,ne],C)}function C(){var O=r.drag;pr(!O),P=O==="free"}function k(O){if(A=!1,!I){var B=ee(O);Y(O.target)&&(B||!O.button)&&(g.isBusy()?ve(O,!0):(L=B?h:window,S=u.is([$e,ot]),_=null,a(L,Kt,x,He),a(L,Yt,K,He),c.cancel(),d.cancel(),F(O)))}}function x(O){if(u.is(Lt)||(u.set(Lt),s($n)),O.cancelable)if(S){c.translate(E+te(Q(O)));var B=Ee(O)>Vr,Ie=M!==(M=p());(B||Ie)&&F(O),A=!0,s(Un),ve(O)}else R(O)&&(S=D(O),ve(O))}function K(O){u.is(Lt)&&(u.set(xe),s(Vn)),S&&(w(O),ve(O)),o(L,Kt,x),o(L,Yt,K),S=!1}function q(O){!I&&A&&ve(O,!0)}function F(O){_=N,N=O,E=b()}function w(O){var B=z(O),Ie=J(B),Be=r.rewind&&r.rewindByDrag;v(!1),P?g.scroll(Ie,0,r.snap):e.is(gt)?g.go(m(Zt(B))<0?Be?"<":"-":Be?">":"+"):e.is(ze)&&M&&Be?g.go(p(!0)?">":"<"):g.go(g.toDest(Ie),!0),v(!0)}function D(O){var B=r.dragMinThreshold,Ie=Je(B),Be=Ie&&B.mouse||0,An=(Ie?B.touch:+B)||10;return re(Q(O))>(ee(O)?An:Be)}function R(O){return re(Q(O))>re(Q(O,!0))}function z(O){if(e.is(Ve)||!M){var B=Ee(O);if(B&&B<Vr)return Q(O)/B}return 0}function J(O){return b()+Zt(O)*ye(re(O)*(r.flickPower||600),P?1/0:t.Layout.listSize()*(r.flickMaxPages||1))}function Q(O,B){return U(O,B)-U(T(O),B)}function Ee(O){return Xt(O)-Xt(T(O))}function T(O){return N===O&&_||N}function U(O,B){return(ee(O)?O.changedTouches[0]:O)["page"+f(B?"Y":"X")]}function te(O){return O/(M&&e.is(ze)?fi:1)}function Y(O){var B=r.noDrag;return!et(O,"."+mn+", ."+kt)&&(!B||!et(O,B))}function ee(O){return typeof TouchEvent<"u"&&O instanceof TouchEvent}function Dn(){return S}function pr(O){I=O}return{mount:y,disable:pr,isDragging:Dn}}var Ni={Spacebar:" ",Right:Nt,Left:wt,Up:un,Down:cn};function gr(e){return e=Le(e)?e:e.key,Ni[e]||e}var Br="keydown";function Pi(e,t,r){var n=W(e),i=n.on,s=n.bind,a=n.unbind,o=e.root,u=t.Direction.resolve,c,d;function g(){h(),i(ne,v),i(ne,h),i(Te,f)}function h(){var b=r.keyboard;b&&(c=b==="global"?window:o,s(c,Br,m))}function v(){a(c,Br)}function l(b){d=b}function f(){var b=d;d=!0,qr(function(){d=b})}function m(b){if(!d){var p=gr(b);p===u(wt)?e.go("<"):p===u(Nt)&&e.go(">")}}return{mount:g,destroy:v,disable:l}}var Qe=ar+"-lazy",Dt=Qe+"-srcset",Hi="["+Qe+"], ["+Dt+"]";function ki(e,t,r){var n=W(e),i=n.on,s=n.off,a=n.bind,o=n.emit,u=r.lazyLoad==="sequential",c=[vt,Ue],d=[];function g(){r.lazyLoad&&(h(),i(X,h))}function h(){pe(d),v(),u?b():(s(c),i(c,l),l())}function v(){t.Slides.forEach(function(p){sr(p.slide,Hi).forEach(function(E){var N=le(E,Qe),_=le(E,Dt);if(N!==E.src||_!==E.srcset){var P=r.classes.spinner,S=E.parentElement,M=ft(S,"."+P)||Fe("span",P,S);d.push([E,p,M]),E.src||nt(E,"none")}})})}function l(){d=d.filter(function(p){var E=r.perPage*((r.preloadPages||1)+1)-1;return p[1].isWithin(e.index,E)?f(p):!0}),d.length||s(c)}function f(p){var E=p[0];ce(p[1].slide,er),a(E,"load error",V(m,p)),G(E,"src",le(E,Qe)),G(E,"srcset",le(E,Dt)),fe(E,Qe),fe(E,Dt)}function m(p,E){var N=p[0],_=p[1];ge(_.slide,er),E.type!=="error"&&(Me(p[2]),nt(N,""),o(an,N,_),o(st)),u&&b()}function b(){d.length&&f(d.shift())}return{mount:g,destroy:V(pe,d),check:l}}function Fi(e,t,r){var n=W(e),i=n.on,s=n.emit,a=n.bind,o=t.Slides,u=t.Elements,c=t.Controller,d=c.hasFocus,g=c.getIndex,h=c.go,v=t.Direction.resolve,l=u.pagination,f=[],m,b;function p(){E(),i([ne,X,Ot],p);var I=r.pagination;l&&nt(l,I?"":"none"),I&&(i([Te,ur,Ue],A),N(),A(),s(Kn,{list:m,items:f},M(e.index)))}function E(){m&&(Me(l?De(m.children):m),ge(m,b),pe(f),m=null),n.destroy()}function N(){var I=e.length,L=r.classes,y=r.i18n,C=r.perPage,k=d()?c.getEnd()+1:it(I/C);m=l||Fe("ul",L.pagination,u.track.parentElement),ce(m,b=Ft+"--"+S()),G(m,me,"tablist"),G(m,se,y.select),G(m,fr,S()===Pt?"vertical":"");for(var x=0;x<k;x++){var K=Fe("li",null,m),q=Fe("button",{class:L.page,type:"button"},K),F=o.getIn(x).map(function(D){return D.slide.id}),w=!d()&&C>1?y.pageX:y.slideX;a(q,"click",V(_,x)),r.paginationKeyboard&&a(q,"keydown",V(P,x)),G(K,me,"presentation"),G(q,me,"tab"),G(q,ht,F.join(" ")),G(q,se,Qt(w,x+1)),G(q,Ge,-1),f.push({li:K,button:q,page:x})}}function _(I){h(">"+I,!0)}function P(I,L){var y=f.length,C=gr(L),k=S(),x=-1;C===v(Nt,!1,k)?x=++I%y:C===v(wt,!1,k)?x=(--I+y)%y:C==="Home"?x=0:C==="End"&&(x=y-1);var K=f[x];K&&(jr(K.button),h(">"+x),ve(L,!0))}function S(){return r.paginationDirection||r.direction}function M(I){return f[c.toPage(I)]}function A(){var I=M(g(!0)),L=M(g());if(I){var y=I.button;ge(y,Re),fe(y,Gr),G(y,Ge,-1)}if(L){var C=L.button;ce(C,Re),G(C,Gr,!0),G(C,Ge,"")}s(Yn,{list:m,items:f},I,L)}return{items:f,mount:p,destroy:E,getAt:M,update:A}}var Gi=[" ","Enter"];function xi(e,t,r){var n=r.isNavigation,i=r.slideFocus,s=[];function a(){e.splides.forEach(function(l){l.isParent||(c(e,l.splide),c(l.splide,e))}),n&&d()}function o(){s.forEach(function(l){l.destroy()}),pe(s)}function u(){o(),a()}function c(l,f){var m=W(l);m.on(Te,function(b,p,E){f.go(f.is(Ve)?E:b)}),s.push(m)}function d(){var l=W(e),f=l.on;f(en,h),f(on,v),f([we,ne],g),s.push(l),l.emit(rn,e.splides)}function g(){G(t.Elements.list,fr,r.direction===Pt?"vertical":"")}function h(l){e.go(l.index)}function v(l,f){nr(Gi,gr(f))&&(h(l),ve(f))}return{setup:V(t.Media.set,{slideFocus:lt(i)?n:i},!0),mount:a,destroy:o,remount:u}}function zi(e,t,r){var n=W(e),i=n.bind,s=0;function a(){r.wheel&&i(t.Elements.track,"wheel",o,He)}function o(c){if(c.cancelable){var d=c.deltaY,g=d<0,h=Xt(c),v=r.wheelMinThreshold||0,l=r.wheelSleep||0;re(d)>v&&h-s>l&&(e.go(g?"<":">"),s=h),u(g)&&ve(c)}}function u(c){return!r.releaseWheel||e.state.is($e)||t.Controller.getAdjacent(c)!==-1}return{mount:a}}var $i=90;function Ui(e,t,r){var n=W(e),i=n.on,s=t.Elements.track,a=r.live&&!r.isNavigation,o=Fe("span",ai),u=Mt($i,V(d,!1));function c(){a&&(h(!t.Autoplay.isPaused()),G(s,$r,!0),o.textContent="\u2026",i(nn,V(h,!0)),i(sn,V(h,!1)),i([vt,Ue],V(d,!0)))}function d(v){G(s,zr,v),v?(ct(s,o),u.start()):(Me(o),u.cancel())}function g(){fe(s,[xr,$r,zr]),Me(o)}function h(v){a&&G(s,xr,v?"off":"polite")}return{mount:c,disable:h,destroy:g}}var Vi=Object.freeze({__proto__:null,Media:Qn,Direction:Jn,Elements:di,Slides:hi,Layout:gi,Clones:pi,Move:Ei,Controller:Si,Arrows:yi,Autoplay:Di,Cover:Ai,Scroll:Ri,Drag:wi,Keyboard:Pi,LazyLoad:ki,Pagination:Fi,Sync:xi,Wheel:zi,Live:Ui}),Bi={prev:"Previous slide",next:"Next slide",first:"Go to first slide",last:"Go to last slide",slideX:"Go to slide %s",pageX:"Go to page %s",play:"Start autoplay",pause:"Pause autoplay",carousel:"carousel",slide:"slide",select:"Select a slide to show",slideLabel:"%s of %s"},qi={type:"slide",role:"region",speed:400,perPage:1,cloneStatus:!0,arrows:!0,pagination:!0,paginationKeyboard:!0,interval:5e3,pauseOnHover:!0,pauseOnFocus:!0,resetProgress:!0,easing:"cubic-bezier(0.25, 1, 0.5, 1)",drag:!0,direction:"ltr",trimSpace:!0,focusableNodes:"a, button, textarea, input, select, iframe",live:!0,classes:ui,i18n:Bi,reducedMotion:{speed:0,rewindSpeed:0,autoplay:"pause"}};function Wi(e,t,r){var n=t.Slides;function i(){W(e).on([we,X],s)}function s(){n.forEach(function(o){o.style("transform","translateX(-"+100*o.index+"%)")})}function a(o,u){n.style("transition","opacity "+r.speed+"ms "+r.easing),qr(u)}return{mount:i,start:a,cancel:jt}}function Ki(e,t,r){var n=t.Move,i=t.Controller,s=t.Scroll,a=t.Elements.list,o=V(oe,a,"transition"),u;function c(){W(e).bind(a,"transitionend",function(v){v.target===a&&u&&(g(),u())})}function d(v,l){var f=n.toPosition(v,!0),m=n.getPosition(),b=h(v);re(f-m)>=1&&b>=1?r.useScroll?s.scroll(f,b,!1,l):(o("transform "+b+"ms "+r.easing),n.translate(f,!0),u=l):(n.jump(v),l())}function g(){o(""),s.cancel()}function h(v){var l=r.rewindSpeed;if(e.is(ze)&&l){var f=i.getIndex(!0),m=i.getEnd();if(f===0&&v>=m||f>=m&&v===0)return l}return r.speed}return{mount:c,start:d,cancel:g}}var Yi=function(){function e(r,n){this.event=W(),this.Components={},this.state=Xn(ke),this.splides=[],this._o={},this._E={};var i=Le(r)?Zr(document,r):r;Ze(i,i+" is invalid."),this.root=i,n=be({label:le(i,se)||"",labelledby:le(i,cr)||""},qi,e.defaults,n||{});try{be(n,JSON.parse(le(i,ar)))}catch{Ze(!1,"Invalid JSON")}this._o=Object.create(be({},n))}var t=e.prototype;return t.mount=function(n,i){var s=this,a=this.state,o=this.Components;Ze(a.is([ke,At]),"Already mounted!"),a.set(ke),this._C=o,this._T=i||this._T||(this.is(gt)?Wi:Ki),this._E=n||this._E;var u=rt({},Vi,this._E,{Transition:this._T});return _e(u,function(c,d){var g=c(s,o,s._o);o[d]=g,g.setup&&g.setup()}),_e(o,function(c){c.mount&&c.mount()}),this.emit(we),ce(this.root,oi),a.set(xe),this.emit(kr),this},t.sync=function(n){return this.splides.push({splide:n}),n.splides.push({splide:this,isParent:!0}),this.state.is(xe)&&(this._C.Sync.remount(),n.Components.Sync.remount()),this},t.go=function(n){return this._C.Controller.go(n),this},t.on=function(n,i){return this.event.on(n,i),this},t.off=function(n){return this.event.off(n),this},t.emit=function(n){var i;return(i=this.event).emit.apply(i,[n].concat(De(arguments,1))),this},t.add=function(n,i){return this._C.Slides.add(n,i),this},t.remove=function(n){return this._C.Slides.remove(n),this},t.is=function(n){return this._o.type===n},t.refresh=function(){return this.emit(X),this},t.destroy=function(n){n===void 0&&(n=!0);var i=this.event,s=this.state;return s.is(ke)?W(this).on(kr,this.destroy.bind(this,n)):(_e(this._C,function(a){a.destroy&&a.destroy(n)},!0),i.emit(tn),i.destroy(),n&&pe(this.splides),s.set(At)),this},Nn(e,[{key:"options",get:function(){return this._o},set:function(n){this._C.Media.set(n,!0,!0)}},{key:"length",get:function(){return this._C.Slides.getLength(!0)}},{key:"index",get:function(){return this._C.Controller.getIndex()}}]),e}(),mt=Yi;mt.defaults={};mt.STATES=Hn;var yn='[custom="images-slider"]',ji='[custom="offers-slider"]';function Xi(){Array.isArray(window.offersSplides)&&(window.offersSplides.forEach(t=>{try{t.destroy()}catch{}}),window.offersSplides=[]);let e=document.querySelector(yn);if(e&&e.splide)try{e.splide.destroy()}catch{}}function Zi(){let e=document.querySelector(yn);e&&new mt(e,{type:"loop",pagination:!0,speed:600,easing:"ease",gap:"0rem",perPage:1,arrows:!1,destroy:!0,breakpoints:{766:{destroy:!1}}}).mount()}function Qi(e){let t=e.querySelector(".splide__list");return t&&t.children.length>0?!0:e.querySelectorAll(".splide__slide").length>0}function Ji(){let e=document.querySelectorAll(ji);window.offersSplides=[],e.forEach(t=>{if(!Qi(t))return;let r=new mt(t,{autoWidth:!0,type:"loop",gap:"1.25rem",speed:600,easing:"ease",pagination:!1,breakpoints:{766:{gap:"0.625rem"}}}),n=t.querySelector(".splide__progress-bar");r.on("mounted move",()=>{let i=r.Components.Controller.getEnd()+1,s=i>0?Math.min((r.index+1)/i,1):0;n&&(n.style.width=`${100*s}%`)}),r.on("mounted",()=>{let i=r.root.querySelector(".splide__progress"),{length:s}=r;i&&s>0&&i.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation();let{width:o,left:u}=i.getBoundingClientRect();if(o<=0)return;let c=a.clientX-u,d=Math.min(s-1,Math.max(0,Math.floor(c/o*s)));r.go(d)})}),r.mount(),window.offersSplides||(window.offersSplides=[]),window.offersSplides.push(r)})}function mr(){try{Xi(),Zi(),Ji()}catch{}}window.fsAttributes=window.fsAttributes||[];function es(){let t=window.location.pathname.replace(/\/$/,"").match(/^\/offers\/?(.*)$/);return(t?t[1]?.trim():null)||null}function Z(e,t){e&&(e.style.display=t?"":"none")}function ts(e,t,r){let n=[];for(let i of[e,t,r]){if(!i)continue;let s=i.closest(H.offerOthersTabPane);n.push({listEl:i,pane:s,rendered:!1})}return n}function rs(e){let t=e.querySelector(H.offerOthersTabsMenu);if(!t)return null;let r=[...e.querySelectorAll(H.offerOthersTabPane)],i=[...t.querySelectorAll(H.offerOthersTabLink)].findIndex(s=>s.classList.contains("w--current")||s.getAttribute("aria-selected")==="true");return i>=0&&r[i]?r[i]:r[0]??null}function xt(e,t,r){let n=rs(e);if(!n)return;let i=!1;for(let s of t)s.pane===n&&(s.rendered?(Z(r,!1),Z(s.listEl,!0),i=!0):(Z(r,!0),Z(s.listEl,!1)));for(let s of t)!s.pane&&s.rendered&&Z(s.listEl,!0);i&&Tn()}function ns(e,t,r){let n=e.querySelector(H.offerOthersTabsMenu);if(!n)return;let i=()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>xt(e,t,r))})};n.addEventListener("click",s=>{let a=s.target.closest(H.offerOthersTabLink);!a||!n.contains(a)||i()}),n.querySelectorAll(H.offerOthersTabLink).forEach(s=>{new MutationObserver(()=>i()).observe(s,{attributes:!0,attributeFilter:["class","aria-selected"]})}),xt(e,t,r)}var Gt=null;function Tn(){Gt&&clearTimeout(Gt),Gt=setTimeout(()=>{Gt=null,requestAnimationFrame(()=>mr())},80)}async function is(){let e=es();if(!e)return;let t=document.querySelector(H.loadingSpinner),r=document.querySelector(H.offerSlugDetail),n=document.querySelector(H.offersMoreWrapper),i=!1;Z(t,!0),Z(r,!1),Z(n,!1);try{let s=document.querySelector(H.offerSlugDetail);s&&await _r(e,s),Z(r,!0);let a=document.querySelector(H.offerSlugOthersList),o=document.querySelector(H.offerSlugOthersList2),u=document.querySelector(H.offerSlugOthersList3),c=ts(a,o,u),d=!!n?.querySelector(H.offerOthersTabsMenu)&&c.length>0&&c.every(l=>l.pane!==null);d&&Z(t,!1);let g=new Map;for(let l of c)g.set(l.listEl,l);let h=l=>{if(!l)return;let f=g.get(l);f&&(f.rendered=!0),d&&n&&xt(n,c,t)},v=async(l,f)=>{if(l)try{await f()}finally{h(l)}};if(d&&n){i=!0;for(let f of c)Z(f.listEl,!1);Z(n,!0),ns(n,c,t);let l=[];if(a){let f=Ce(a);l.push(v(a,()=>f?f.getGroupOtherOffers(e,Ke["R\xC9SERVEZ T\xD4T"]):Promise.resolve()))}if(o){let f=Ce(o);l.push(v(o,()=>f?f.getGroupOtherOffers(e,Ke["DERNI\xC8RE MINUTE"]):Promise.resolve()))}if(u){let f=Ce(u);l.push(v(u,()=>f?f.getGroupOtherThemedOffers(e):Promise.resolve()))}Promise.all(l).catch(()=>{}).finally(()=>{n&&xt(n,c,t),Tn()})}else{let l=[];if(a){let f=Ce(a);f&&l.push(f.getGroupOtherOffers(e,Ke["R\xC9SERVEZ T\xD4T"]))}if(o){let f=Ce(o);f&&l.push(f.getGroupOtherOffers(e,Ke["DERNI\xC8RE MINUTE"]))}if(u){let f=Ce(u);f&&l.push(f.getGroupOtherThemedOffers(e))}l.length>0&&await Promise.all(l),Z(n,!0),requestAnimationFrame(()=>{mr()})}}catch{Z(t,!1),Z(r,!0),Z(n,!0)}finally{i||Z(t,!1)}}window.loadFromServer=()=>{let e=()=>{is()};document.readyState==="complete"?setTimeout(e,0):window.addEventListener("load",()=>setTimeout(e,0))};window.addEventListener("load",()=>{window.loadFromServer()});})();
|
|
1
|
+
"use strict";(()=>{var On=Object.defineProperty;var Cn=(e,t,r)=>t in e?On(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Se=(e,t,r)=>(Cn(e,typeof t!="symbol"?t+"":t,r),r);var $="data",H={startingPriceList:`[${$}=starting-price-list]`,price:`[${$}=price]`,discount:`[${$}=discount]`,discountContainer:`[${$}=discount-container]`,currency:`[${$}=currency]`,beHid:`[${$}-be-hid]`,destination:`[${$}=destination]`,offersList:`[${$}=offers-list]`,offerSlugDetail:`[${$}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${$}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersList2:`[${$}=offer-slug-others-list2], [data-offer-slug-others-list2]`,offerSlugOthersList3:`[${$}=offer-slug-others-list3], [data-offer-slug-others-list3]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${$}=offers-more-wrapper]`,offerOthersTabsMenu:".offer-others_tabs-menu",offerOthersTabLink:".offer-others_tab-link",offerOthersTabPane:".offer-others_tab-pane",offersListContainer:`[${$}=offers-list-container]`,listItem:`[${$}=list-item]`,image:`[${$}=image]`,name:`[${$}=name]`,description:`[${$}=description]`,hotelName:`[${$}=hotel-name]`,hotelLink:`[${$}=hotel-link]`,hotelStartingPriceContainer:`[${$}=hotel-starting-price-container]`,moreDetails:`[${$}=more-details]`,offersPopup:`[${$}=offers-popup]`,offersPopupClose:`[${$}=close-btn]`,hotelReserveLink:`[${$}=hotel-reserve-link]`,hotelVillaReserveLink:`[${$}=hotel-villa-reserve-link]`,hotelURLS:`[${$}=hotel-urls]`,languageDropdown:`[${$}=language-dropdown]`,selectedLanguage:`[${$}=selected-language]`,loadingSpinner:`[${$}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:e=>`[${$}-be-hid=${e}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var We={en:"Guadeloupe Islands",fr:"Les \xCEles de Guadeloupe",es:"Las islas de Guadalupe",it:"Le isole della Guadalupa"},Er={en:"La Dominique",fr:"La Dominique",es:"Dominica",it:"Dominica"},pt={en:"Saint Lucia",fr:"Sainte-Lucie",es:"Santa Luc\xEDa",it:"Santa Lucia"},_n={en:"Martinique",fr:"Martinique",es:"Martinica",it:"Martinica"},Ke={en:"Mauritius",fr:"\xCEle Maurice",es:"Mauricio",it:"Mauritius"},Sr={en:"Saint Martin",fr:"Saint-Martin",es:"Saint-Martin",it:"Saint Martin"},br={en:"Antigua",fr:"Antigua",es:"Antigua",it:"Antigua"},Mn={en:"Anguilla",fr:"Anguilla",es:"Anguila",it:"Anguilla"},Ne={gpgos12767:{destination:We,slug:"/hotels-et-villas/creole-beach-hotel-spa",codeIPlanet:"FRAN414",cmsId:"67c809b5f63deab8a71cf8e9"},gptro12772:{destination:We,slug:"/hotels-et-villas/le-jardin-malanga",codeIPlanet:"FRAN416",cmsId:"67c809b5f63deab8a71cf90d"},gpsai12770:{destination:We,slug:"/hotels-et-villas/la-toubana-hotel-spa",codeIPlanet:"FRAN411",cmsId:"67c809b5f63deab8a71cf8ef"},gpgos12769:{destination:We,slug:"/hotels-et-villas/mahogany-hotel-residence-spa",codeIPlanet:"FRAN423",cmsId:"67c809b5f63deab8a71cf91f"},gpgua27143:{destination:We,slug:"/hotels-et-villas/langley-resort-fort-royal",codeIPlanet:"GPAN32",cmsId:"67c809b5f63deab8a71cf8f0"},mqros18592:{destination:Er,slug:"/hotels-et-villas/jungle-bay-dominica",codeIPlanet:"DMAN1",cmsId:"67c809b5f63deab8a71cf8ed"},dmtib00001:{destination:Er,slug:"/hotels-et-villas/secret-bay-dominique",codeIPlanet:"DMAN2",cmsId:"67c809b5f63deab8a71cfefd"},agste21689:{destination:pt,slug:"/hotels-et-villas/jade-mountain",codeIPlanet:"AGAN6",cmsId:"67c809b5f63deab8a71cf92a"},zzzzz25376:{destination:pt,slug:"/hotels-et-villas/windjammer-landing",codeIPlanet:"LCAN4",cmsId:"67c809b5f63deab8a71cf92b"},lcgro30400:{destination:pt,slug:"/hotels-et-villas/cap-maison",codeIPlanet:"LCLC8",cmsId:"67c809b5f63deab8a71cf929"},agste21688:{destination:pt,slug:"/hotels-et-villas/anse-chastanet",codeIPlanet:"AGAN5",cmsId:"67c809b5f63deab8a71cf928"},mqsai18593:{destination:_n,slug:"/hotels-et-villas/plein-soleil",codeIPlanet:"MQAN16",cmsId:"67c809b5f63deab8a71cf925"},zzzzz25378:{destination:Ke,slug:"/hotels-et-villas/shanti-maurice",codeIPlanet:"MUAN22",cmsId:"67c809b5f63deab8a71cf933"},zzzzz25377:{destination:Ke,slug:"/hotels-et-villas/lux-le-morne",codeIPlanet:"MUAN21",cmsId:"67c809b5f63deab8a71cf931"},zzzzz25379:{destination:Ke,slug:"/hotels-et-villas/constance-belle-mare-plage",codeIPlanet:"MUAN20",cmsId:"67c809b5f63deab8a71cf92f"},mupos25678:{destination:Ke,slug:"/hotels-et-villas/constance-le-prince-maurice",codeIPlanet:"MUAN24",cmsId:"67c809b5f63deab8a71cf930"},zzzzz25380:{destination:Ke,slug:"/hotels-et-villas/anahita-the-resort",codeIPlanet:"MUAN19",cmsId:"67c809b5f63deab8a71cf92e"},agstm21687:{destination:Sr,slug:"/hotels-et-villas/la-samanna",codeIPlanet:"FRAN2350",cmsId:"67c809b5f63deab8a71cf926"},frsai31536:{destination:Sr,slug:"/hotels-et-villas/le-grand-case-beach-club",codeIPlanet:"FRFRA3",cmsId:"67c809b5f63deab8a71cf927"},ageng20433:{destination:br,slug:"/hotels-et-villas/the-inn-at-english-harbour",codeIPlanet:"AGAN4",cmsId:"67c809b5f63deab8a71cf8ec"},agcro20496:{destination:br,slug:"/hotels-et-villas/blue-waters",codeIPlanet:"AGAN1",cmsId:"67c809b5f63deab8a71cf8eb"},gpang25884:{destination:Mn,slug:"/hotels-et-villas/aurora-anguilla-resort-golf-club",codeIPlanet:"GPAN30",cmsId:"67c809b5f63deab8a71cf8ea"}},Lr={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},yr={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"},Ye={"DERNI\xC8RE MINUTE":"735fe5e0858671cf3a5c14cbcc2470fe","R\xC9SERVEZ T\xD4T":"c5abb23caf056891f3902ff42ae2f9e0"};var je="https://deshotelsetdesiles.ccordier.workers.dev/v2/",Tr="https://deshotelsetdesiles.i-planet.fr/dhdi-public/searchform.cgi",Et="FR",Dr="1*q1lzz9*_gcl_au*MTMyMzcyMDY5NC4xNzM5Mjg5MzYx*_ga*NTAxMzI1MzMwLjE3MzkyODkzNjE.*_ga_Q0RXHLR7D4*MTczOTI5NzEzNC4zLjAuMTczOTI5NzE3Mi4yMi4wLjA.";var zt=async()=>new Promise(e=>{geoip2.country(t=>{e(t.country.iso_code)},()=>{e(Et)})});var $t=e=>{let t="?";for(let[r,n]of Object.entries(e))n&&(t+=`${r}=${n}&`);return t};var Xe=class{async getGroupOffersData(t){let r=je+"groupOffers"+$t(t),i=await(await fetch(r)).json();return i.error||!i.data?null:i}async getSingleHotelOffersData(t){let r=je+"offers"+$t(t),i=await(await fetch(r)).json();return i.error||!i.data?null:i}async getCMSOffers(){let t=je+"cmsOffers",n=await(await fetch(t)).json();return n.items?n:null}async getCountries(){let t=je+"cmsCountries",n=await(await fetch(t)).json();return n.items?n:null}};var Ir=()=>{let e=Or();if(!e){let t=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(t)}window.Weglot.on("languageChanged",()=>{if(e)window.location.reload();else{let t=window.Weglot.getCurrentLang();localStorage.setItem("wglang",t),window.loadFromServer&&window.loadFromServer()}})},Or=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",Ut=()=>{let e=Pe();return yr[e]},Pe=()=>{if(!Or())return localStorage.getItem("wglang")||"fr";try{let e=window.Weglot.getCurrentLang();if(e)return e}catch(e){return console.error("Error getting language",e),"fr"}return"fr"},Rn=()=>!window.location.hostname.includes("webflow.io");function Cr(e){if(!Rn())return`/offers/${e}`;let t=Pe();return!t||t==="fr"?`/offers/${e}`:`/${t}/offers/${e}`}var Vt=()=>{let e={};return Object.entries(Ne).forEach(([t,r])=>{e[r.cmsId]=t}),e},j=(e,t)=>`${e.toLowerCase().trim()}-${t.toLowerCase().trim()}`,_r=(e,t,r)=>{let n=Pe().toUpperCase(),i=Ne[t].codeIPlanet.toUpperCase(),s=`${Tr}?Lang=${n}¤cy=${e.toUpperCase()}&HotelCode=${i}`,a=Ar("_ga"),o=Dr,c=Ar("_gcl_au");return s+=`&_ga=${a}&_gl=${o}&_gcl_au=${c}`,r&&(s=`${s}&HotelPromo=${r}`),s},Ar=e=>{let t=document.cookie.match(new RegExp("(^| )"+e+"=([^;]+)"));return t?t[2]:null};var Bt=(e,t,r,n)=>{let{quotation:i,rate:{distribution:s}}=t,{pricePerNight:a,currency:o,plainBookLink:c}=i,{accessCode:u}=s||{},d="";u&&u.length>0&&([d]=u),wn(e,a,o);let g=e.querySelector(H.hotelReserveLink);g&&g.addEventListener("click",v=>{v.preventDefault(),v.stopPropagation(),window.open(c,"_blank")});let h=e.querySelector(H.hotelVillaReserveLink);if(h&&h.addEventListener("click",v=>{v.preventDefault(),v.stopPropagation(),window.open(_r(o,r,d),"_blank")}),n){let{fieldData:{"discount-percentage":v}}=n,l=e.querySelector(H.discount);l&&v&&(l.innerHTML=`-${v}%`);let f=e.querySelector(H.discountContainer);f&&!v&&(f.style.display="none")}},wn=(e,t,r)=>{let n=e.querySelector(H.price);n&&(n.innerHTML=Math.floor(t).toString());let i=e.querySelector(H.currency);i&&(i.innerHTML=Lr[r])};var St=class{constructor(t,r){this.listInstance=t;this.itemTemplateElement=r;Se(this,"loadingSpinner");Se(this,"cmsFilterEmptyState");Se(this,"offerLookup",{});Se(this,"apiClient",new Xe);Se(this,"countryCode");Se(this,"availableCountries",{});Se(this,"countryCodeFilter",t=>{let{fieldData:r}=t;return!r["supported-countries"]||r["supported-countries"].length===0?!0:r["supported-countries"].map(i=>this.availableCountries[i]).includes(this.countryCode)});this.cmsFilterEmptyState=document.querySelector(H.cmsFilterEmptyState),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.add("hide-empty-state"),t.clearItems(),Ir(),this.loadingSpinner=document.querySelector(H.loadingSpinner),this.countryCode=Et}async getGroupOffers(t){let{clearItems:r=!0,filter:n}=t||{};r&&this.listInstance.clearItems();let i=await this.apiClient.getCMSOffers();if(!i)return;let s=await this.apiClient.getCountries();if(!s)return;s.items.forEach(l=>{this.availableCountries[l.id]=l.fieldData.title?.trim()}),this.countryCode=await zt();let a=i.items.filter(n).filter(this.countryCodeFilter),o=this.generateHotelIds(a),c=this.generateHotelIds(a).join(","),u=o.length===1;u&&(c=[c,c].join(","));let{offerMetaData:d}=this.generateOfferData(a),g=Ut(),h=await this.apiClient.getGroupOffersData({hids:c,locale:g});if(!h||h.error||!h.data){this.hideSpinnerAndShowFilter();return}u&&(h.data=[h.data[0]]);let v=this.getAllOffers(h,d);this.addHotelToCollection(v),this.hideSpinnerAndShowFilter()}async getGroupCategoryOffers(t,r=!1){let n=i=>{let{isArchived:s,isDraft:a,fieldData:o}=i;return s||a?!1:r?(!o.thematiques||o.thematiques.length===0)&&!o.slug.includes("derniere-minute")&&!o.slug.includes("reservez-tot"):o.category===t};await this.getGroupOffers({filter:n})}async getGroupThemeOffers(t){let r=n=>{let{isArchived:i,isDraft:s,fieldData:a}=n;return i||s||!a.thematiques?!1:a.thematiques.includes(t)};await this.getGroupOffers({filter:r})}async getGroupOtherThemedOffers(t){let r=n=>{let{isArchived:i,isDraft:s,fieldData:a}=n;return i||s||a.slug===t?!1:Array.isArray(a.thematiques)&&a.thematiques.length>0};await this.getGroupOffers({filter:r})}async getGroupSlugOffers(t){let r=n=>{let{isArchived:i,isDraft:s,fieldData:a}=n;return i||s?!1:a.slug===t};await this.getGroupOffers({filter:r})}async getGroupOtherOffers(t,r){let n=i=>{let{isArchived:s,isDraft:a,fieldData:o}=i;return s||a||o.slug===t?!1:r?o.category===r:(!o.thematiques||o.thematiques.length===0)&&!o.slug.includes("derniere-minute")&&!o.slug.includes("reservez-tot")};await this.getGroupOffers({filter:n})}hideSpinnerAndShowFilter(){this.loadingSpinner&&(this.loadingSpinner.style.display="none"),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.remove("hide-empty-state")}generateHotelIds(t){let r=[],n=Vt();return t.forEach(i=>{let{fieldData:{"hotel-villa":s}}=i;r.push(n[s])}),Array.from(new Set(r))}getAllOffers(t,r){let n=[];return t.data.forEach(i=>{let{prop:{hid:s},rates:a}=i;a.forEach(o=>{let{name:c,title:u}=o.rate;(r.includes(j(s,c))||r.includes(j(s,u)))&&n.push({...i,rates:[o]})})}),n.sort((i,s)=>{let a=this.offerLookup[j(i.prop.hid,i.rates[0].rate.title)]||this.offerLookup[j(i.prop.hid,i.rates[0].rate.name)],o=this.offerLookup[j(s.prop.hid,s.rates[0].rate.title)]||this.offerLookup[j(s.prop.hid,s.rates[0].rate.name)],c=Number(a.fieldData.order)||0,u=Number(o.fieldData.order)||0;return c-u}),n}generateOfferData(t){let r=[];return t.forEach(n=>{let{fieldData:{"hotel-or-property-api-id":i,"offer-api-name":s}}=n,a=j(i,s);r.push(a),this.offerLookup[a]=n}),{offerMetaData:r}}addHotelToCollection(t){for(let{prop:r,rates:n}of t){let i=n.map(s=>this.createItem(r,s,this.itemTemplateElement));this.listInstance.addItems(i)}}createItem(t,r,n){let{rate:i}=r,{hid:s,title:a,property:o}=t,{image:c,title:u,name:d}=i,g=this.offerLookup[j(s||o,u)]||this.offerLookup[j(s||o,d)],h=n.cloneNode(!0),v=Ne[s||o];if(!v)return h;let{destination:l,slug:f}=v;this.bindOffersMetaData(h,{destination:l,image:c,hotelName:a,title:u,slug:f}),Bt(h,r,s,g);let m=h.querySelector(H.moreDetails);return m&&m.addEventListener("click",()=>{let S=this.getOffersCmsSlug(s,o,d);S&&(window.location.href=Cr(S))}),h.style.display="flex",h}getOffersCmsSlug(t,r,n){return this.offerLookup[j(t||r,n)]?.fieldData.slug}bindOffersMetaData(t,{destination:r,image:n,hotelName:i,title:s,slug:a,description:o}){let c=t.querySelector(H.destination),u=t.querySelector(H.image),d=t.querySelector(H.hotelName),g=t.querySelector(H.name),h=t.querySelector(H.description),v=t.querySelector(H.hotelLink),l=Pe();c&&(c.textContent=r[l]),u&&(u.src=n?.url),d&&(d.innerHTML=i),g&&(g.innerHTML=s),h&&o&&(h.innerHTML=o),v&&a&&v.addEventListener("click",()=>{window.location.href=a})}};function Nn(e,{destination:t,image:r,hotelName:n,title:i,slug:s,description:a}){let o=e.querySelectorAll(H.destination),c=e.querySelectorAll(H.hotelName),u=e.querySelectorAll(H.name),d=e.querySelectorAll(H.description),g=e.querySelectorAll(H.hotelLink),h=Pe();o&&o.forEach(v=>{v.textContent=t[h]}),r?.url&&e.querySelectorAll(H.image).forEach(l=>{l.src=r.url}),c&&c.forEach(v=>{v.innerHTML=n}),u&&u.forEach(v=>{v.innerHTML=i}),d&&a&&d.forEach(v=>{v.innerHTML=a}),g&&s&&g.forEach(v=>{v.addEventListener("click",l=>{l.preventDefault(),window.location.href=s})})}async function Mr(e,t){let r=new Xe,n=await r.getCMSOffers();if(!n)return;let i=await r.getCountries();if(!i)return;let s={};i.items.forEach(A=>{s[A.id]=A.fieldData.title?.trim()});let a=await zt(),o=A=>{let{fieldData:I}=A;return!I["supported-countries"]||I["supported-countries"].length===0?!0:I["supported-countries"].map(y=>s[y]).includes(a)},c=A=>{let{isArchived:I,isDraft:L,fieldData:y}=A;return I||L?!1:y.slug===e},u=n.items.filter(c).filter(o);if(u.length===0)return;let d=Vt(),g=Array.from(new Set(u.map(A=>d[A.fieldData["hotel-villa"]]).filter(A=>A!=null)));if(g.length===0)return;let h=g.join(",");g.length===1&&(h=[h,h].join(","));let v={},l=[];u.forEach(A=>{let{fieldData:{"hotel-or-property-api-id":I,"offer-api-name":L}}=A,y=j(I,L);l.push(y),v[y]=A});let f=Ut(),m=await r.getGroupOffersData({hids:h,locale:f});if(!m?.data||m.error)return;let S=g.length===1?[m.data[0]]:m.data,p=[];S.forEach(A=>{let{prop:{hid:I},rates:L}=A;L.forEach(y=>{let{name:O,title:k}=y.rate;(l.includes(j(I,O))||l.includes(j(I,k)))&&p.push({...A,rates:[y]})})}),p.sort((A,I)=>{let L=v[j(A.prop.hid,A.rates[0].rate.title)]||v[j(A.prop.hid,A.rates[0].rate.name)],y=v[j(I.prop.hid,I.rates[0].rate.title)]||v[j(I.prop.hid,I.rates[0].rate.name)];return(Number(L?.fieldData.order)||0)-(Number(y?.fieldData.order)||0)});let E=p[0];if(!E?.rates?.[0])return;let{prop:N,rates:_}=E,P=N.hid||N.property,b=_[0],M=v[j(P,b.rate.title)]||v[j(P,b.rate.name)];try{let A=Ne[P];A&&Nn(t,{destination:A.destination,image:b.rate.image,hotelName:N.title,title:b.rate.title,slug:A.slug,description:b.rate.html_description}),Bt(t,b,P,M)}catch{}}function Oe(e){let t=e.querySelector(H.listItem);return!t&&(e.matches(H.offerSlugOthersList)||e.matches(H.offerSlugOthersList2)||e.matches(H.offerSlugOthersList3))&&(t=e.querySelector(H.offerSlugOthersListItem)),t?Pn({items:[{element:t}],clearItems(n=!0){n&&(e.innerHTML="")},addItems(n){for(let i of n)e.appendChild(i);return Promise.resolve()}}):null}var Pn=e=>{let[t]=e.items;if(!t)throw new Error("No items found in the list instance");let r=t.element;return new St(e,r)};function Rr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Hn(e,t,r){return t&&Rr(e.prototype,t),r&&Rr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var wr="(prefers-reduced-motion: reduce)",Fe=1,kn=2,ze=3,Ue=4,ot=5,Lt=6,At=7,Fn={CREATED:Fe,MOUNTED:kn,IDLE:ze,MOVING:Ue,SCROLLING:ot,DRAGGING:Lt,DESTROYED:At};function pe(e){e.length=0}function De(e,t,r){return Array.prototype.slice.call(e,t,r)}function V(e){return e.bind.apply(e,[null].concat(De(arguments,1)))}var Wr=setTimeout,jt=function(){};function Nr(e){return requestAnimationFrame(e)}function _t(e,t){return typeof t===e}function Je(e){return!rr(e)&&_t("object",e)}var tr=Array.isArray,Kr=V(_t,"function"),Le=V(_t,"string"),lt=V(_t,"undefined");function rr(e){return e===null}function Yr(e){try{return e instanceof(e.ownerDocument.defaultView||window).HTMLElement}catch{return!1}}function ct(e){return tr(e)?e:[e]}function ae(e,t){ct(e).forEach(t)}function nr(e,t){return e.indexOf(t)>-1}function yt(e,t){return e.push.apply(e,ct(t)),e}function he(e,t,r){e&&ae(t,function(n){n&&e.classList[r?"add":"remove"](n)})}function ue(e,t){he(e,Le(t)?t.split(" "):t,!0)}function ut(e,t){ae(t,e.appendChild.bind(e))}function ir(e,t){ae(e,function(r){var n=(t||r).parentNode;n&&n.insertBefore(r,t)})}function et(e,t){return Yr(e)&&(e.msMatchesSelector||e.matches).call(e,t)}function jr(e,t){var r=e?De(e.children):[];return t?r.filter(function(n){return et(n,t)}):r}function ft(e,t){return t?jr(e,t)[0]:e.firstElementChild}var tt=Object.keys;function _e(e,t,r){return e&&(r?tt(e).reverse():tt(e)).forEach(function(n){n!=="__proto__"&&t(e[n],n)}),e}function rt(e){return De(arguments,1).forEach(function(t){_e(t,function(r,n){e[n]=t[n]})}),e}function be(e){return De(arguments,1).forEach(function(t){_e(t,function(r,n){tr(r)?e[n]=r.slice():Je(r)?e[n]=be({},Je(e[n])?e[n]:{},r):e[n]=r})}),e}function Pr(e,t){ae(t||tt(e),function(r){delete e[r]})}function fe(e,t){ae(e,function(r){ae(t,function(n){r&&r.removeAttribute(n)})})}function x(e,t,r){Je(t)?_e(t,function(n,i){x(e,i,n)}):ae(e,function(n){rr(r)||r===""?fe(n,t):n.setAttribute(t,String(r))})}function xe(e,t,r){var n=document.createElement(e);return t&&(Le(t)?ue(n,t):x(n,t)),r&&ut(r,n),n}function oe(e,t,r){if(lt(r))return getComputedStyle(e)[t];rr(r)||(e.style[t]=""+r)}function nt(e,t){oe(e,"display",t)}function Xr(e){e.setActive&&e.setActive()||e.focus({preventScroll:!0})}function le(e,t){return e.getAttribute(t)}function Hr(e,t){return e&&e.classList.contains(t)}function ie(e){return e.getBoundingClientRect()}function Me(e){ae(e,function(t){t&&t.parentNode&&t.parentNode.removeChild(t)})}function Zr(e){return ft(new DOMParser().parseFromString(e,"text/html").body)}function ve(e,t){e.preventDefault(),t&&(e.stopPropagation(),e.stopImmediatePropagation())}function Qr(e,t){return e&&e.querySelector(t)}function sr(e,t){return t?De(e.querySelectorAll(t)):[]}function ge(e,t){he(e,t,!1)}function Xt(e){return e.timeStamp}function Ce(e){return Le(e)?e:e?e+"px":""}var dt="splide",ar="data-"+dt;function Ze(e,t){if(!e)throw new Error("["+dt+"] "+(t||""))}var ye=Math.min,It=Math.max,Ot=Math.floor,it=Math.ceil,re=Math.abs;function Jr(e,t,r){return re(e-t)<r}function Tt(e,t,r,n){var i=ye(t,r),s=It(t,r);return n?i<e&&e<s:i<=e&&e<=s}function He(e,t,r){var n=ye(t,r),i=It(t,r);return ye(It(n,e),i)}function Zt(e){return+(e>0)-+(e<0)}function Qt(e,t){return ae(t,function(r){e=e.replace("%s",""+r)}),e}function or(e){return e<10?"0"+e:""+e}var kr={};function xn(e){return""+e+or(kr[e]=(kr[e]||0)+1)}function en(){var e=[];function t(a,o,c,u){i(a,o,function(d,g,h){var v="addEventListener"in d,l=v?d.removeEventListener.bind(d,g,c,u):d.removeListener.bind(d,c);v?d.addEventListener(g,c,u):d.addListener(c),e.push([d,g,h,c,l])})}function r(a,o,c){i(a,o,function(u,d,g){e=e.filter(function(h){return h[0]===u&&h[1]===d&&h[2]===g&&(!c||h[3]===c)?(h[4](),!1):!0})})}function n(a,o,c){var u,d=!0;return typeof CustomEvent=="function"?u=new CustomEvent(o,{bubbles:d,detail:c}):(u=document.createEvent("CustomEvent"),u.initCustomEvent(o,d,!1,c)),a.dispatchEvent(u),u}function i(a,o,c){ae(a,function(u){u&&ae(o,function(d){d.split(" ").forEach(function(g){var h=g.split(".");c(u,h[0],h[1])})})})}function s(){e.forEach(function(a){a[4]()}),pe(e)}return{bind:t,unbind:r,dispatch:n,destroy:s}}var we="mounted",Fr="ready",Te="move",vt="moved",tn="click",Gn="active",zn="inactive",$n="visible",Un="hidden",X="refresh",ne="updated",st="resize",lr="resized",Vn="drag",Bn="dragging",qn="dragged",cr="scroll",Ve="scrolled",Wn="overflow",rn="destroy",Kn="arrows:mounted",Yn="arrows:updated",jn="pagination:mounted",Xn="pagination:updated",nn="navigation:mounted",sn="autoplay:play",Zn="autoplay:playing",an="autoplay:pause",on="lazyload:loaded",ln="sk",cn="sh",Ct="ei";function W(e){var t=e?e.event.bus:document.createDocumentFragment(),r=en();function n(s,a){r.bind(t,ct(s).join(" "),function(o){a.apply(a,tr(o.detail)?o.detail:[])})}function i(s){r.dispatch(t,s,De(arguments,1))}return e&&e.event.on(rn,r.destroy),rt(r,{bus:t,on:n,off:V(r.unbind,t),emit:i})}function Mt(e,t,r,n){var i=Date.now,s,a=0,o,c=!0,u=0;function d(){if(!c){if(a=e?ye((i()-s)/e,1):1,r&&r(a),a>=1&&(t(),s=i(),n&&++u>=n))return h();o=Nr(d)}}function g(S){S||l(),s=i()-(S?a*e:0),c=!1,o=Nr(d)}function h(){c=!0}function v(){s=i(),a=0,r&&r(a)}function l(){o&&cancelAnimationFrame(o),a=0,o=0,c=!0}function f(S){e=S}function m(){return c}return{start:g,rewind:v,pause:h,cancel:l,set:f,isPaused:m}}function Qn(e){var t=e;function r(i){t=i}function n(i){return nr(ct(i),t)}return{set:r,is:n}}function Jn(e,t){var r=Mt(t||0,e,null,1);return function(){r.isPaused()&&r.start()}}function ei(e,t,r){var n=e.state,i=r.breakpoints||{},s=r.reducedMotion||{},a=en(),o=[];function c(){var l=r.mediaQuery==="min";tt(i).sort(function(f,m){return l?+f-+m:+m-+f}).forEach(function(f){d(i[f],"("+(l?"min":"max")+"-width:"+f+"px)")}),d(s,wr),g()}function u(l){l&&a.destroy()}function d(l,f){var m=matchMedia(f);a.bind(m,"change",g),o.push([l,m])}function g(){var l=n.is(At),f=r.direction,m=o.reduce(function(S,p){return be(S,p[1].matches?p[0]:{})},{});Pr(r),v(m),r.destroy?e.destroy(r.destroy==="completely"):l?(u(!0),e.mount()):f!==r.direction&&e.refresh()}function h(l){matchMedia(wr).matches&&(l?be(r,s):Pr(r,tt(s)))}function v(l,f,m){be(r,l),f&&be(Object.getPrototypeOf(r),l),(m||!n.is(Fe))&&e.emit(ne,r)}return{setup:c,destroy:u,reduce:h,set:v}}var Rt="Arrow",wt=Rt+"Left",Nt=Rt+"Right",un=Rt+"Up",fn=Rt+"Down";var xr="rtl",Pt="ttb",qt={width:["height"],left:["top","right"],right:["bottom","left"],x:["y"],X:["Y"],Y:["X"],ArrowLeft:[un,Nt],ArrowRight:[fn,wt]};function ti(e,t,r){function n(s,a,o){o=o||r.direction;var c=o===xr&&!a?1:o===Pt?0:-1;return qt[s]&&qt[s][c]||s.replace(/width|left|right/i,function(u,d){var g=qt[u.toLowerCase()][c]||u;return d>0?g.charAt(0).toUpperCase()+g.slice(1):g})}function i(s){return s*(r.direction===xr?1:-1)}return{resolve:n,orient:i}}var me="role",Ge="tabindex",ri="disabled",ce="aria-",ht=ce+"controls",dn=ce+"current",Gr=ce+"selected",se=ce+"label",ur=ce+"labelledby",vn=ce+"hidden",fr=ce+"orientation",at=ce+"roledescription",zr=ce+"live",$r=ce+"busy",Ur=ce+"atomic",dr=[me,Ge,ri,ht,dn,se,ur,vn,fr,at],de=dt+"__",Ae="is-",Wt=dt,Vr=de+"track",ni=de+"list",Ht=de+"slide",hn=Ht+"--clone",ii=Ht+"__container",vr=de+"arrows",kt=de+"arrow",gn=kt+"--prev",mn=kt+"--next",Ft=de+"pagination",pn=Ft+"__page",si=de+"progress",ai=si+"__bar",hr=de+"toggle",Ms=hr+"__play",Rs=hr+"__pause",oi=de+"spinner",li=de+"sr",ci=Ae+"initialized",Re=Ae+"active",En=Ae+"prev",Sn=Ae+"next",Jt=Ae+"visible",er=Ae+"loading",bn=Ae+"focus-in",Ln=Ae+"overflow",ui=[Re,Jt,En,Sn,er,bn,Ln],fi={slide:Ht,clone:hn,arrows:vr,arrow:kt,prev:gn,next:mn,pagination:Ft,page:pn,spinner:oi};function di(e,t){if(Kr(e.closest))return e.closest(t);for(var r=e;r&&r.nodeType===1&&!et(r,t);)r=r.parentElement;return r}var vi=5,Br=200,yn="touchstart mousedown",Kt="touchmove mousemove",Yt="touchend touchcancel mouseup click";function hi(e,t,r){var n=W(e),i=n.on,s=n.bind,a=e.root,o=r.i18n,c={},u=[],d=[],g=[],h,v,l;function f(){E(),N(),p()}function m(){i(X,S),i(X,f),i(ne,p),s(document,yn+" keydown",function(b){l=b.type==="keydown"},{capture:!0}),s(a,"focusin",function(){he(a,bn,!!l)})}function S(b){var M=dr.concat("style");pe(u),ge(a,d),ge(h,g),fe([h,v],M),fe(a,b?M:["style",at])}function p(){ge(a,d),ge(h,g),d=P(Wt),g=P(Vr),ue(a,d),ue(h,g),x(a,se,r.label),x(a,ur,r.labelledby)}function E(){h=_("."+Vr),v=ft(h,"."+ni),Ze(h&&v,"A track/list element is missing."),yt(u,jr(v,"."+Ht+":not(."+hn+")")),_e({arrows:vr,pagination:Ft,prev:gn,next:mn,bar:ai,toggle:hr},function(b,M){c[M]=_("."+b)}),rt(c,{root:a,track:h,list:v,slides:u})}function N(){var b=a.id||xn(dt),M=r.role;a.id=b,h.id=h.id||b+"-track",v.id=v.id||b+"-list",!le(a,me)&&a.tagName!=="SECTION"&&M&&x(a,me,M),x(a,at,o.carousel),x(v,me,"presentation")}function _(b){var M=Qr(a,b);return M&&di(M,"."+Wt)===a?M:void 0}function P(b){return[b+"--"+r.type,b+"--"+r.direction,r.drag&&b+"--draggable",r.isNavigation&&b+"--nav",b===Wt&&Re]}return rt(c,{setup:f,mount:m,destroy:S})}var $e="slide",Be="loop",gt="fade";function gi(e,t,r,n){var i=W(e),s=i.on,a=i.emit,o=i.bind,c=e.Components,u=e.root,d=e.options,g=d.isNavigation,h=d.updateOnMove,v=d.i18n,l=d.pagination,f=d.slideFocus,m=c.Direction.resolve,S=le(n,"style"),p=le(n,se),E=r>-1,N=ft(n,"."+ii),_;function P(){E||(n.id=u.id+"-slide"+or(t+1),x(n,me,l?"tabpanel":"group"),x(n,at,v.slide),x(n,se,p||Qt(v.slideLabel,[t+1,e.length]))),b()}function b(){o(n,"click",V(a,tn,F)),o(n,"keydown",V(a,ln,F)),s([vt,cn,Ve],L),s(nn,A),h&&s(Te,I)}function M(){_=!0,i.destroy(),ge(n,ui),fe(n,dr),x(n,"style",S),x(n,se,p||"")}function A(){var w=e.splides.map(function(D){var R=D.splide.Components.Slides.getAt(t);return R?R.slide.id:""}).join(" ");x(n,se,Qt(v.slideX,(E?r:t)+1)),x(n,ht,w),x(n,me,f?"button":""),f&&fe(n,at)}function I(){_||L()}function L(){if(!_){var w=e.index;y(),O(),he(n,En,t===w-1),he(n,Sn,t===w+1)}}function y(){var w=G();w!==Hr(n,Re)&&(he(n,Re,w),x(n,dn,g&&w||""),a(w?Gn:zn,F))}function O(){var w=K(),D=!w&&(!G()||E);if(e.state.is([Ue,ot])||x(n,vn,D||""),x(sr(n,d.focusableNodes||""),Ge,D?-1:""),f&&x(n,Ge,D?-1:0),w!==Hr(n,Jt)&&(he(n,Jt,w),a(w?$n:Un,F)),!w&&document.activeElement===n){var R=c.Slides.getAt(e.index);R&&Xr(R.slide)}}function k(w,D,R){oe(R&&N||n,w,D)}function G(){var w=e.index;return w===t||d.cloneStatus&&w===r}function K(){if(e.is(gt))return G();var w=ie(c.Elements.track),D=ie(n),R=m("left",!0),z=m("right",!0);return Ot(w[R])<=it(D[R])&&Ot(D[z])<=it(w[z])}function q(w,D){var R=re(w-t);return!E&&(d.rewind||e.is(Be))&&(R=ye(R,e.length-R)),R<=D}var F={index:t,slideIndex:r,slide:n,container:N,isClone:E,mount:P,destroy:M,update:L,style:k,isWithin:q};return F}function mi(e,t,r){var n=W(e),i=n.on,s=n.emit,a=n.bind,o=t.Elements,c=o.slides,u=o.list,d=[];function g(){h(),i(X,v),i(X,h)}function h(){c.forEach(function(L,y){f(L,y,-1)})}function v(){_(function(L){L.destroy()}),pe(d)}function l(){_(function(L){L.update()})}function f(L,y,O){var k=gi(e,y,O,L);k.mount(),d.push(k),d.sort(function(G,K){return G.index-K.index})}function m(L){return L?P(function(y){return!y.isClone}):d}function S(L){var y=t.Controller,O=y.toIndex(L),k=y.hasFocus()?1:r.perPage;return P(function(G){return Tt(G.index,O,O+k-1)})}function p(L){return P(L)[0]}function E(L,y){ae(L,function(O){if(Le(O)&&(O=Zr(O)),Yr(O)){var k=c[y];k?ir(O,k):ut(u,O),ue(O,r.classes.slide),M(O,V(s,st))}}),s(X)}function N(L){Me(P(L).map(function(y){return y.slide})),s(X)}function _(L,y){m(y).forEach(L)}function P(L){return d.filter(Kr(L)?L:function(y){return Le(L)?et(y.slide,L):nr(ct(L),y.index)})}function b(L,y,O){_(function(k){k.style(L,y,O)})}function M(L,y){var O=sr(L,"img"),k=O.length;k?O.forEach(function(G){a(G,"load error",function(){--k||y()})}):y()}function A(L){return L?c.length:d.length}function I(){return d.length>r.perPage}return{mount:g,destroy:v,update:l,register:f,get:m,getIn:S,getAt:p,add:E,remove:N,forEach:_,filter:P,style:b,getLength:A,isEnough:I}}function pi(e,t,r){var n=W(e),i=n.on,s=n.bind,a=n.emit,o=t.Slides,c=t.Direction.resolve,u=t.Elements,d=u.root,g=u.track,h=u.list,v=o.getAt,l=o.style,f,m,S;function p(){E(),s(window,"resize load",Jn(V(a,st))),i([ne,X],E),i(st,N)}function E(){f=r.direction===Pt,oe(d,"maxWidth",Ce(r.width)),oe(g,c("paddingLeft"),_(!1)),oe(g,c("paddingRight"),_(!0)),N(!0)}function N(F){var w=ie(d);(F||m.width!==w.width||m.height!==w.height)&&(oe(g,"height",P()),l(c("marginRight"),Ce(r.gap)),l("width",M()),l("height",A(),!0),m=w,a(lr),S!==(S=q())&&(he(d,Ln,S),a(Wn,S)))}function _(F){var w=r.padding,D=c(F?"right":"left");return w&&Ce(w[D]||(Je(w)?0:w))||"0px"}function P(){var F="";return f&&(F=b(),Ze(F,"height or heightRatio is missing."),F="calc("+F+" - "+_(!1)+" - "+_(!0)+")"),F}function b(){return Ce(r.height||ie(h).width*r.heightRatio)}function M(){return r.autoWidth?null:Ce(r.fixedWidth)||(f?"":I())}function A(){return Ce(r.fixedHeight)||(f?r.autoHeight?null:I():b())}function I(){var F=Ce(r.gap);return"calc((100%"+(F&&" + "+F)+")/"+(r.perPage||1)+(F&&" - "+F)+")"}function L(){return ie(h)[c("width")]}function y(F,w){var D=v(F||0);return D?ie(D.slide)[c("width")]+(w?0:G()):0}function O(F,w){var D=v(F);if(D){var R=ie(D.slide)[c("right")],z=ie(h)[c("left")];return re(R-z)+(w?0:G())}return 0}function k(F){return O(e.length-1)-O(0)+y(0,F)}function G(){var F=v(0);return F&&parseFloat(oe(F.slide,c("marginRight")))||0}function K(F){return parseFloat(oe(g,c("padding"+(F?"Right":"Left"))))||0}function q(){return e.is(gt)||k(!0)>L()}return{mount:p,resize:N,listSize:L,slideSize:y,sliderSize:k,totalSize:O,getPadding:K,isOverflow:q}}var Ei=2;function Si(e,t,r){var n=W(e),i=n.on,s=t.Elements,a=t.Slides,o=t.Direction.resolve,c=[],u;function d(){i(X,g),i([ne,st],v),(u=m())&&(l(u),t.Layout.resize(!0))}function g(){h(),d()}function h(){Me(c),pe(c),n.destroy()}function v(){var S=m();u!==S&&(u<S||!S)&&n.emit(X)}function l(S){var p=a.get().slice(),E=p.length;if(E){for(;p.length<S;)yt(p,p);yt(p.slice(-S),p.slice(0,S)).forEach(function(N,_){var P=_<S,b=f(N.slide,_);P?ir(b,p[0].slide):ut(s.list,b),yt(c,b),a.register(b,_-S+(P?0:E),N.index)})}}function f(S,p){var E=S.cloneNode(!0);return ue(E,r.classes.clone),E.id=e.root.id+"-clone"+or(p+1),E}function m(){var S=r.clones;if(!e.is(Be))S=0;else if(lt(S)){var p=r[o("fixedWidth")]&&t.Layout.slideSize(0),E=p&&it(ie(s.track)[o("width")]/p);S=E||r[o("autoWidth")]&&e.length||r.perPage*Ei}return S}return{mount:d,destroy:h}}function bi(e,t,r){var n=W(e),i=n.on,s=n.emit,a=e.state.set,o=t.Layout,c=o.slideSize,u=o.getPadding,d=o.totalSize,g=o.listSize,h=o.sliderSize,v=t.Direction,l=v.resolve,f=v.orient,m=t.Elements,S=m.list,p=m.track,E;function N(){E=t.Transition,i([we,lr,ne,X],_)}function _(){t.Controller.isBusy()||(t.Scroll.cancel(),b(e.index),t.Slides.update())}function P(D,R,z,J){D!==R&&F(D>z)&&(L(),M(I(k(),D>z),!0)),a(Ue),s(Te,R,z,D),E.start(R,function(){a(ze),s(vt,R,z,D),J&&J()})}function b(D){M(O(D,!0))}function M(D,R){if(!e.is(gt)){var z=R?D:A(D);oe(S,"transform","translate"+l("X")+"("+z+"px)"),D!==z&&s(cn)}}function A(D){if(e.is(Be)){var R=y(D),z=R>t.Controller.getEnd(),J=R<0;(J||z)&&(D=I(D,z))}return D}function I(D,R){var z=D-q(R),J=h();return D-=f(J*(it(re(z)/J)||1))*(R?1:-1),D}function L(){M(k(),!0),E.cancel()}function y(D){for(var R=t.Slides.get(),z=0,J=1/0,Q=0;Q<R.length;Q++){var Ee=R[Q].index,T=re(O(Ee,!0)-D);if(T<=J)J=T,z=Ee;else break}return z}function O(D,R){var z=f(d(D-1)-K(D));return R?G(z):z}function k(){var D=l("left");return ie(S)[D]-ie(p)[D]+f(u(!1))}function G(D){return r.trimSpace&&e.is($e)&&(D=He(D,0,f(h(!0)-g()))),D}function K(D){var R=r.focus;return R==="center"?(g()-c(D,!0))/2:+R*c(D)||0}function q(D){return O(D?t.Controller.getEnd():0,!!r.trimSpace)}function F(D){var R=f(I(k(),D));return D?R>=0:R<=S[l("scrollWidth")]-ie(p)[l("width")]}function w(D,R){R=lt(R)?k():R;var z=D!==!0&&f(R)<f(q(!1)),J=D!==!1&&f(R)>f(q(!0));return z||J}return{mount:N,move:P,jump:b,translate:M,shift:I,cancel:L,toIndex:y,toPosition:O,getPosition:k,getLimit:q,exceededLimit:w,reposition:_}}function Li(e,t,r){var n=W(e),i=n.on,s=n.emit,a=t.Move,o=a.getPosition,c=a.getLimit,u=a.toPosition,d=t.Slides,g=d.isEnough,h=d.getLength,v=r.omitEnd,l=e.is(Be),f=e.is($e),m=V(k,!1),S=V(k,!0),p=r.start||0,E,N=p,_,P,b;function M(){A(),i([ne,X,Ct],A),i(lr,I)}function A(){_=h(!0),P=r.perMove,b=r.perPage,E=F();var T=He(p,0,v?E:_-1);T!==p&&(p=T,a.reposition())}function I(){E!==F()&&s(Ct)}function L(T,U,te){if(!Ee()){var Y=O(T),ee=q(Y);ee>-1&&(U||ee!==p)&&(z(ee),a.move(Y,ee,N,te))}}function y(T,U,te,Y){t.Scroll.scroll(T,U,te,function(){var ee=q(a.toIndex(o()));z(v?ye(ee,E):ee),Y&&Y()})}function O(T){var U=p;if(Le(T)){var te=T.match(/([+\-<>])(\d+)?/)||[],Y=te[1],ee=te[2];Y==="+"||Y==="-"?U=G(p+ +(""+Y+(+ee||1)),p):Y===">"?U=ee?w(+ee):m(!0):Y==="<"&&(U=S(!0))}else U=l?T:He(T,0,E);return U}function k(T,U){var te=P||(Q()?1:b),Y=G(p+te*(T?-1:1),p,!(P||Q()));return Y===-1&&f&&!Jr(o(),c(!T),1)?T?0:E:U?Y:q(Y)}function G(T,U,te){if(g()||Q()){var Y=K(T);Y!==T&&(U=T,T=Y,te=!1),T<0||T>E?!P&&(Tt(0,T,U,!0)||Tt(E,U,T,!0))?T=w(D(T)):l?T=te?T<0?-(_%b||b):_:T:r.rewind?T=T<0?E:0:T=-1:te&&T!==U&&(T=w(D(U)+(T<U?-1:1)))}else T=-1;return T}function K(T){if(f&&r.trimSpace==="move"&&T!==p)for(var U=o();U===u(T,!0)&&Tt(T,0,e.length-1,!r.rewind);)T<p?--T:++T;return T}function q(T){return l?(T+_)%_||0:T}function F(){for(var T=_-(Q()||l&&P?1:b);v&&T-- >0;)if(u(_-1,!0)!==u(T,!0)){T++;break}return He(T,0,_-1)}function w(T){return He(Q()?T:b*T,0,E)}function D(T){return Q()?ye(T,E):Ot((T>=E?_-1:T)/b)}function R(T){var U=a.toIndex(T);return f?He(U,0,E):U}function z(T){T!==p&&(N=p,p=T)}function J(T){return T?N:p}function Q(){return!lt(r.focus)||r.isNavigation}function Ee(){return e.state.is([Ue,ot])&&!!r.waitForTransition}return{mount:M,go:L,scroll:y,getNext:m,getPrev:S,getAdjacent:k,getEnd:F,setIndex:z,getIndex:J,toIndex:w,toPage:D,toDest:R,hasFocus:Q,isBusy:Ee}}var yi="http://www.w3.org/2000/svg",Ti="m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z",bt=40;function Di(e,t,r){var n=W(e),i=n.on,s=n.bind,a=n.emit,o=r.classes,c=r.i18n,u=t.Elements,d=t.Controller,g=u.arrows,h=u.track,v=g,l=u.prev,f=u.next,m,S,p={};function E(){_(),i(ne,N)}function N(){P(),E()}function _(){var y=r.arrows;y&&!(l&&f)&&A(),l&&f&&(rt(p,{prev:l,next:f}),nt(v,y?"":"none"),ue(v,S=vr+"--"+r.direction),y&&(b(),L(),x([l,f],ht,h.id),a(Kn,l,f)))}function P(){n.destroy(),ge(v,S),m?(Me(g?[l,f]:v),l=f=null):fe([l,f],dr)}function b(){i([we,vt,X,Ve,Ct],L),s(f,"click",V(M,">")),s(l,"click",V(M,"<"))}function M(y){d.go(y,!0)}function A(){v=g||xe("div",o.arrows),l=I(!0),f=I(!1),m=!0,ut(v,[l,f]),!g&&ir(v,h)}function I(y){var O='<button class="'+o.arrow+" "+(y?o.prev:o.next)+'" type="button"><svg xmlns="'+yi+'" viewBox="0 0 '+bt+" "+bt+'" width="'+bt+'" height="'+bt+'" focusable="false"><path d="'+(r.arrowPath||Ti)+'" />';return Zr(O)}function L(){if(l&&f){var y=e.index,O=d.getPrev(),k=d.getNext(),G=O>-1&&y<O?c.last:c.prev,K=k>-1&&y>k?c.first:c.next;l.disabled=O<0,f.disabled=k<0,x(l,se,G),x(f,se,K),a(Yn,l,f,O,k)}}return{arrows:p,mount:E,destroy:P,update:L}}var Ai=ar+"-interval";function Ii(e,t,r){var n=W(e),i=n.on,s=n.bind,a=n.emit,o=Mt(r.interval,e.go.bind(e,">"),b),c=o.isPaused,u=t.Elements,d=t.Elements,g=d.root,h=d.toggle,v=r.autoplay,l,f,m=v==="pause";function S(){v&&(p(),h&&x(h,ht,u.track.id),m||E(),P())}function p(){r.pauseOnHover&&s(g,"mouseenter mouseleave",function(A){l=A.type==="mouseenter",_()}),r.pauseOnFocus&&s(g,"focusin focusout",function(A){f=A.type==="focusin",_()}),h&&s(h,"click",function(){m?E():N(!0)}),i([Te,cr,X],o.rewind),i(Te,M)}function E(){c()&&t.Slides.isEnough()&&(o.start(!r.resetProgress),f=l=m=!1,P(),a(sn))}function N(A){A===void 0&&(A=!0),m=!!A,P(),c()||(o.pause(),a(an))}function _(){m||(l||f?N(!1):E())}function P(){h&&(he(h,Re,!m),x(h,se,r.i18n[m?"play":"pause"]))}function b(A){var I=u.bar;I&&oe(I,"width",A*100+"%"),a(Zn,A)}function M(A){var I=t.Slides.getAt(A);o.set(I&&+le(I.slide,Ai)||r.interval)}return{mount:S,destroy:o.cancel,play:E,pause:N,isPaused:c}}function Oi(e,t,r){var n=W(e),i=n.on;function s(){r.cover&&(i(on,V(o,!0)),i([we,ne,X],V(a,!0)))}function a(c){t.Slides.forEach(function(u){var d=ft(u.container||u.slide,"img");d&&d.src&&o(c,d,u)})}function o(c,u,d){d.style("background",c?'center/cover no-repeat url("'+u.src+'")':"",!0),nt(u,c?"none":"")}return{mount:s,destroy:V(a,!1)}}var Ci=10,_i=600,Mi=.6,Ri=1.5,wi=800;function Ni(e,t,r){var n=W(e),i=n.on,s=n.emit,a=e.state.set,o=t.Move,c=o.getPosition,u=o.getLimit,d=o.exceededLimit,g=o.translate,h=e.is($e),v,l,f=1;function m(){i(Te,N),i([ne,X],_)}function S(b,M,A,I,L){var y=c();if(N(),A&&(!h||!d())){var O=t.Layout.sliderSize(),k=Zt(b)*O*Ot(re(b)/O)||0;b=o.toPosition(t.Controller.toDest(b%O))+k}var G=Jr(y,b,1);f=1,M=G?0:M||It(re(b-y)/Ri,wi),l=I,v=Mt(M,p,V(E,y,b,L),1),a(ot),s(cr),v.start()}function p(){a(ze),l&&l(),s(Ve)}function E(b,M,A,I){var L=c(),y=b+(M-b)*P(I),O=(y-L)*f;g(L+O),h&&!A&&d()&&(f*=Mi,re(O)<Ci&&S(u(d(!0)),_i,!1,l,!0))}function N(){v&&v.cancel()}function _(){v&&!v.isPaused()&&(N(),p())}function P(b){var M=r.easingFunc;return M?M(b):1-Math.pow(1-b,4)}return{mount:m,destroy:N,scroll:S,cancel:_}}var ke={passive:!1,capture:!0};function Pi(e,t,r){var n=W(e),i=n.on,s=n.emit,a=n.bind,o=n.unbind,c=e.state,u=t.Move,d=t.Scroll,g=t.Controller,h=t.Elements.track,v=t.Media.reduce,l=t.Direction,f=l.resolve,m=l.orient,S=u.getPosition,p=u.exceededLimit,E,N,_,P,b,M=!1,A,I,L;function y(){a(h,Kt,jt,ke),a(h,Yt,jt,ke),a(h,yn,k,ke),a(h,"click",q,{capture:!0}),a(h,"dragstart",ve),i([we,ne],O)}function O(){var C=r.drag;pr(!C),P=C==="free"}function k(C){if(A=!1,!I){var B=ee(C);Y(C.target)&&(B||!C.button)&&(g.isBusy()?ve(C,!0):(L=B?h:window,b=c.is([Ue,ot]),_=null,a(L,Kt,G,ke),a(L,Yt,K,ke),u.cancel(),d.cancel(),F(C)))}}function G(C){if(c.is(Lt)||(c.set(Lt),s(Vn)),C.cancelable)if(b){u.translate(E+te(Q(C)));var B=Ee(C)>Br,Ie=M!==(M=p());(B||Ie)&&F(C),A=!0,s(Bn),ve(C)}else R(C)&&(b=D(C),ve(C))}function K(C){c.is(Lt)&&(c.set(ze),s(qn)),b&&(w(C),ve(C)),o(L,Kt,G),o(L,Yt,K),b=!1}function q(C){!I&&A&&ve(C,!0)}function F(C){_=N,N=C,E=S()}function w(C){var B=z(C),Ie=J(B),qe=r.rewind&&r.rewindByDrag;v(!1),P?g.scroll(Ie,0,r.snap):e.is(gt)?g.go(m(Zt(B))<0?qe?"<":"-":qe?">":"+"):e.is($e)&&M&&qe?g.go(p(!0)?">":"<"):g.go(g.toDest(Ie),!0),v(!0)}function D(C){var B=r.dragMinThreshold,Ie=Je(B),qe=Ie&&B.mouse||0,In=(Ie?B.touch:+B)||10;return re(Q(C))>(ee(C)?In:qe)}function R(C){return re(Q(C))>re(Q(C,!0))}function z(C){if(e.is(Be)||!M){var B=Ee(C);if(B&&B<Br)return Q(C)/B}return 0}function J(C){return S()+Zt(C)*ye(re(C)*(r.flickPower||600),P?1/0:t.Layout.listSize()*(r.flickMaxPages||1))}function Q(C,B){return U(C,B)-U(T(C),B)}function Ee(C){return Xt(C)-Xt(T(C))}function T(C){return N===C&&_||N}function U(C,B){return(ee(C)?C.changedTouches[0]:C)["page"+f(B?"Y":"X")]}function te(C){return C/(M&&e.is($e)?vi:1)}function Y(C){var B=r.noDrag;return!et(C,"."+pn+", ."+kt)&&(!B||!et(C,B))}function ee(C){return typeof TouchEvent<"u"&&C instanceof TouchEvent}function An(){return b}function pr(C){I=C}return{mount:y,disable:pr,isDragging:An}}var Hi={Spacebar:" ",Right:Nt,Left:wt,Up:un,Down:fn};function gr(e){return e=Le(e)?e:e.key,Hi[e]||e}var qr="keydown";function ki(e,t,r){var n=W(e),i=n.on,s=n.bind,a=n.unbind,o=e.root,c=t.Direction.resolve,u,d;function g(){h(),i(ne,v),i(ne,h),i(Te,f)}function h(){var S=r.keyboard;S&&(u=S==="global"?window:o,s(u,qr,m))}function v(){a(u,qr)}function l(S){d=S}function f(){var S=d;d=!0,Wr(function(){d=S})}function m(S){if(!d){var p=gr(S);p===c(wt)?e.go("<"):p===c(Nt)&&e.go(">")}}return{mount:g,destroy:v,disable:l}}var Qe=ar+"-lazy",Dt=Qe+"-srcset",Fi="["+Qe+"], ["+Dt+"]";function xi(e,t,r){var n=W(e),i=n.on,s=n.off,a=n.bind,o=n.emit,c=r.lazyLoad==="sequential",u=[vt,Ve],d=[];function g(){r.lazyLoad&&(h(),i(X,h))}function h(){pe(d),v(),c?S():(s(u),i(u,l),l())}function v(){t.Slides.forEach(function(p){sr(p.slide,Fi).forEach(function(E){var N=le(E,Qe),_=le(E,Dt);if(N!==E.src||_!==E.srcset){var P=r.classes.spinner,b=E.parentElement,M=ft(b,"."+P)||xe("span",P,b);d.push([E,p,M]),E.src||nt(E,"none")}})})}function l(){d=d.filter(function(p){var E=r.perPage*((r.preloadPages||1)+1)-1;return p[1].isWithin(e.index,E)?f(p):!0}),d.length||s(u)}function f(p){var E=p[0];ue(p[1].slide,er),a(E,"load error",V(m,p)),x(E,"src",le(E,Qe)),x(E,"srcset",le(E,Dt)),fe(E,Qe),fe(E,Dt)}function m(p,E){var N=p[0],_=p[1];ge(_.slide,er),E.type!=="error"&&(Me(p[2]),nt(N,""),o(on,N,_),o(st)),c&&S()}function S(){d.length&&f(d.shift())}return{mount:g,destroy:V(pe,d),check:l}}function Gi(e,t,r){var n=W(e),i=n.on,s=n.emit,a=n.bind,o=t.Slides,c=t.Elements,u=t.Controller,d=u.hasFocus,g=u.getIndex,h=u.go,v=t.Direction.resolve,l=c.pagination,f=[],m,S;function p(){E(),i([ne,X,Ct],p);var I=r.pagination;l&&nt(l,I?"":"none"),I&&(i([Te,cr,Ve],A),N(),A(),s(jn,{list:m,items:f},M(e.index)))}function E(){m&&(Me(l?De(m.children):m),ge(m,S),pe(f),m=null),n.destroy()}function N(){var I=e.length,L=r.classes,y=r.i18n,O=r.perPage,k=d()?u.getEnd()+1:it(I/O);m=l||xe("ul",L.pagination,c.track.parentElement),ue(m,S=Ft+"--"+b()),x(m,me,"tablist"),x(m,se,y.select),x(m,fr,b()===Pt?"vertical":"");for(var G=0;G<k;G++){var K=xe("li",null,m),q=xe("button",{class:L.page,type:"button"},K),F=o.getIn(G).map(function(D){return D.slide.id}),w=!d()&&O>1?y.pageX:y.slideX;a(q,"click",V(_,G)),r.paginationKeyboard&&a(q,"keydown",V(P,G)),x(K,me,"presentation"),x(q,me,"tab"),x(q,ht,F.join(" ")),x(q,se,Qt(w,G+1)),x(q,Ge,-1),f.push({li:K,button:q,page:G})}}function _(I){h(">"+I,!0)}function P(I,L){var y=f.length,O=gr(L),k=b(),G=-1;O===v(Nt,!1,k)?G=++I%y:O===v(wt,!1,k)?G=(--I+y)%y:O==="Home"?G=0:O==="End"&&(G=y-1);var K=f[G];K&&(Xr(K.button),h(">"+G),ve(L,!0))}function b(){return r.paginationDirection||r.direction}function M(I){return f[u.toPage(I)]}function A(){var I=M(g(!0)),L=M(g());if(I){var y=I.button;ge(y,Re),fe(y,Gr),x(y,Ge,-1)}if(L){var O=L.button;ue(O,Re),x(O,Gr,!0),x(O,Ge,"")}s(Xn,{list:m,items:f},I,L)}return{items:f,mount:p,destroy:E,getAt:M,update:A}}var zi=[" ","Enter"];function $i(e,t,r){var n=r.isNavigation,i=r.slideFocus,s=[];function a(){e.splides.forEach(function(l){l.isParent||(u(e,l.splide),u(l.splide,e))}),n&&d()}function o(){s.forEach(function(l){l.destroy()}),pe(s)}function c(){o(),a()}function u(l,f){var m=W(l);m.on(Te,function(S,p,E){f.go(f.is(Be)?E:S)}),s.push(m)}function d(){var l=W(e),f=l.on;f(tn,h),f(ln,v),f([we,ne],g),s.push(l),l.emit(nn,e.splides)}function g(){x(t.Elements.list,fr,r.direction===Pt?"vertical":"")}function h(l){e.go(l.index)}function v(l,f){nr(zi,gr(f))&&(h(l),ve(f))}return{setup:V(t.Media.set,{slideFocus:lt(i)?n:i},!0),mount:a,destroy:o,remount:c}}function Ui(e,t,r){var n=W(e),i=n.bind,s=0;function a(){r.wheel&&i(t.Elements.track,"wheel",o,ke)}function o(u){if(u.cancelable){var d=u.deltaY,g=d<0,h=Xt(u),v=r.wheelMinThreshold||0,l=r.wheelSleep||0;re(d)>v&&h-s>l&&(e.go(g?"<":">"),s=h),c(g)&&ve(u)}}function c(u){return!r.releaseWheel||e.state.is(Ue)||t.Controller.getAdjacent(u)!==-1}return{mount:a}}var Vi=90;function Bi(e,t,r){var n=W(e),i=n.on,s=t.Elements.track,a=r.live&&!r.isNavigation,o=xe("span",li),c=Mt(Vi,V(d,!1));function u(){a&&(h(!t.Autoplay.isPaused()),x(s,Ur,!0),o.textContent="\u2026",i(sn,V(h,!0)),i(an,V(h,!1)),i([vt,Ve],V(d,!0)))}function d(v){x(s,$r,v),v?(ut(s,o),c.start()):(Me(o),c.cancel())}function g(){fe(s,[zr,Ur,$r]),Me(o)}function h(v){a&&x(s,zr,v?"off":"polite")}return{mount:u,disable:h,destroy:g}}var qi=Object.freeze({__proto__:null,Media:ei,Direction:ti,Elements:hi,Slides:mi,Layout:pi,Clones:Si,Move:bi,Controller:Li,Arrows:Di,Autoplay:Ii,Cover:Oi,Scroll:Ni,Drag:Pi,Keyboard:ki,LazyLoad:xi,Pagination:Gi,Sync:$i,Wheel:Ui,Live:Bi}),Wi={prev:"Previous slide",next:"Next slide",first:"Go to first slide",last:"Go to last slide",slideX:"Go to slide %s",pageX:"Go to page %s",play:"Start autoplay",pause:"Pause autoplay",carousel:"carousel",slide:"slide",select:"Select a slide to show",slideLabel:"%s of %s"},Ki={type:"slide",role:"region",speed:400,perPage:1,cloneStatus:!0,arrows:!0,pagination:!0,paginationKeyboard:!0,interval:5e3,pauseOnHover:!0,pauseOnFocus:!0,resetProgress:!0,easing:"cubic-bezier(0.25, 1, 0.5, 1)",drag:!0,direction:"ltr",trimSpace:!0,focusableNodes:"a, button, textarea, input, select, iframe",live:!0,classes:fi,i18n:Wi,reducedMotion:{speed:0,rewindSpeed:0,autoplay:"pause"}};function Yi(e,t,r){var n=t.Slides;function i(){W(e).on([we,X],s)}function s(){n.forEach(function(o){o.style("transform","translateX(-"+100*o.index+"%)")})}function a(o,c){n.style("transition","opacity "+r.speed+"ms "+r.easing),Wr(c)}return{mount:i,start:a,cancel:jt}}function ji(e,t,r){var n=t.Move,i=t.Controller,s=t.Scroll,a=t.Elements.list,o=V(oe,a,"transition"),c;function u(){W(e).bind(a,"transitionend",function(v){v.target===a&&c&&(g(),c())})}function d(v,l){var f=n.toPosition(v,!0),m=n.getPosition(),S=h(v);re(f-m)>=1&&S>=1?r.useScroll?s.scroll(f,S,!1,l):(o("transform "+S+"ms "+r.easing),n.translate(f,!0),c=l):(n.jump(v),l())}function g(){o(""),s.cancel()}function h(v){var l=r.rewindSpeed;if(e.is($e)&&l){var f=i.getIndex(!0),m=i.getEnd();if(f===0&&v>=m||f>=m&&v===0)return l}return r.speed}return{mount:u,start:d,cancel:g}}var Xi=function(){function e(r,n){this.event=W(),this.Components={},this.state=Qn(Fe),this.splides=[],this._o={},this._E={};var i=Le(r)?Qr(document,r):r;Ze(i,i+" is invalid."),this.root=i,n=be({label:le(i,se)||"",labelledby:le(i,ur)||""},Ki,e.defaults,n||{});try{be(n,JSON.parse(le(i,ar)))}catch{Ze(!1,"Invalid JSON")}this._o=Object.create(be({},n))}var t=e.prototype;return t.mount=function(n,i){var s=this,a=this.state,o=this.Components;Ze(a.is([Fe,At]),"Already mounted!"),a.set(Fe),this._C=o,this._T=i||this._T||(this.is(gt)?Yi:ji),this._E=n||this._E;var c=rt({},qi,this._E,{Transition:this._T});return _e(c,function(u,d){var g=u(s,o,s._o);o[d]=g,g.setup&&g.setup()}),_e(o,function(u){u.mount&&u.mount()}),this.emit(we),ue(this.root,ci),a.set(ze),this.emit(Fr),this},t.sync=function(n){return this.splides.push({splide:n}),n.splides.push({splide:this,isParent:!0}),this.state.is(ze)&&(this._C.Sync.remount(),n.Components.Sync.remount()),this},t.go=function(n){return this._C.Controller.go(n),this},t.on=function(n,i){return this.event.on(n,i),this},t.off=function(n){return this.event.off(n),this},t.emit=function(n){var i;return(i=this.event).emit.apply(i,[n].concat(De(arguments,1))),this},t.add=function(n,i){return this._C.Slides.add(n,i),this},t.remove=function(n){return this._C.Slides.remove(n),this},t.is=function(n){return this._o.type===n},t.refresh=function(){return this.emit(X),this},t.destroy=function(n){n===void 0&&(n=!0);var i=this.event,s=this.state;return s.is(Fe)?W(this).on(Fr,this.destroy.bind(this,n)):(_e(this._C,function(a){a.destroy&&a.destroy(n)},!0),i.emit(rn),i.destroy(),n&&pe(this.splides),s.set(At)),this},Hn(e,[{key:"options",get:function(){return this._o},set:function(n){this._C.Media.set(n,!0,!0)}},{key:"length",get:function(){return this._C.Slides.getLength(!0)}},{key:"index",get:function(){return this._C.Controller.getIndex()}}]),e}(),mt=Xi;mt.defaults={};mt.STATES=Fn;var Tn='[custom="images-slider"]',Zi='[custom="offers-slider"]';function Qi(){Array.isArray(window.offersSplides)&&(window.offersSplides.forEach(t=>{try{t.destroy()}catch{}}),window.offersSplides=[]);let e=document.querySelector(Tn);if(e&&e.splide)try{e.splide.destroy()}catch{}}function Ji(){let e=document.querySelector(Tn);e&&new mt(e,{type:"loop",pagination:!0,speed:600,easing:"ease",gap:"0rem",perPage:1,arrows:!1,destroy:!0,breakpoints:{766:{destroy:!1}}}).mount()}function es(e){let t=e.querySelector(".splide__list");return t&&t.children.length>0?!0:e.querySelectorAll(".splide__slide").length>0}function ts(){let e=document.querySelectorAll(Zi);window.offersSplides=[],e.forEach(t=>{if(!es(t))return;let r=new mt(t,{autoWidth:!0,type:"loop",gap:"1.25rem",speed:600,easing:"ease",pagination:!1,breakpoints:{766:{gap:"0.625rem"}}}),n=t.querySelector(".splide__progress-bar");r.on("mounted move",()=>{let i=r.Components.Controller.getEnd()+1,s=i>0?Math.min((r.index+1)/i,1):0;n&&(n.style.width=`${100*s}%`)}),r.on("mounted",()=>{let i=r.root.querySelector(".splide__progress"),{length:s}=r;i&&s>0&&i.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation();let{width:o,left:c}=i.getBoundingClientRect();if(o<=0)return;let u=a.clientX-c,d=Math.min(s-1,Math.max(0,Math.floor(u/o*s)));r.go(d)})}),r.mount(),window.offersSplides||(window.offersSplides=[]),window.offersSplides.push(r)})}function mr(){try{Qi(),Ji(),ts()}catch{}}window.fsAttributes=window.fsAttributes||[];function rs(){let e=window.location.pathname.replace(/\/$/,""),t=e.match(/^\/[a-z]{2}\/offers\/(.+)$/i);if(t)return t[1]?.trim()||null;let r=e.match(/^\/offers\/(.+)$/);return r&&r[1]?.trim()||null}function Z(e,t){e&&(e.style.display=t?"":"none")}function ns(e,t,r){let n=[];for(let i of[e,t,r]){if(!i)continue;let s=i.closest(H.offerOthersTabPane);n.push({listEl:i,pane:s,rendered:!1})}return n}function is(e){let t=e.querySelector(H.offerOthersTabsMenu);if(!t)return null;let r=[...e.querySelectorAll(H.offerOthersTabPane)],i=[...t.querySelectorAll(H.offerOthersTabLink)].findIndex(s=>s.classList.contains("w--current")||s.getAttribute("aria-selected")==="true");return i>=0&&r[i]?r[i]:r[0]??null}function Gt(e,t,r){let n=is(e);if(!n)return;let i=!1;for(let s of t)s.pane===n&&(s.rendered?(Z(r,!1),Z(s.listEl,!0),i=!0):(Z(r,!0),Z(s.listEl,!1)));for(let s of t)!s.pane&&s.rendered&&Z(s.listEl,!0);i&&Dn()}function ss(e,t,r){let n=e.querySelector(H.offerOthersTabsMenu);if(!n)return;let i=()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>Gt(e,t,r))})};n.addEventListener("click",s=>{let a=s.target.closest(H.offerOthersTabLink);!a||!n.contains(a)||i()}),n.querySelectorAll(H.offerOthersTabLink).forEach(s=>{new MutationObserver(()=>i()).observe(s,{attributes:!0,attributeFilter:["class","aria-selected"]})}),Gt(e,t,r)}var xt=null;function Dn(){xt&&clearTimeout(xt),xt=setTimeout(()=>{xt=null,requestAnimationFrame(()=>mr())},80)}async function as(){let e=rs();if(!e)return;let t=document.querySelector(H.loadingSpinner),r=document.querySelector(H.offerSlugDetail),n=document.querySelector(H.offersMoreWrapper),i=!1;Z(t,!0),Z(r,!1),Z(n,!1);try{let s=document.querySelector(H.offerSlugDetail);s&&await Mr(e,s),Z(r,!0);let a=document.querySelector(H.offerSlugOthersList),o=document.querySelector(H.offerSlugOthersList2),c=document.querySelector(H.offerSlugOthersList3),u=ns(a,o,c),d=!!n?.querySelector(H.offerOthersTabsMenu)&&u.length>0&&u.every(l=>l.pane!==null);d&&Z(t,!1);let g=new Map;for(let l of u)g.set(l.listEl,l);let h=l=>{if(!l)return;let f=g.get(l);f&&(f.rendered=!0),d&&n&&Gt(n,u,t)},v=async(l,f)=>{if(l)try{await f()}finally{h(l)}};if(d&&n){i=!0;for(let f of u)Z(f.listEl,!1);Z(n,!0),ss(n,u,t);let l=[];if(a){let f=Oe(a);l.push(v(a,()=>f?f.getGroupOtherOffers(e,Ye["R\xC9SERVEZ T\xD4T"]):Promise.resolve()))}if(o){let f=Oe(o);l.push(v(o,()=>f?f.getGroupOtherOffers(e,Ye["DERNI\xC8RE MINUTE"]):Promise.resolve()))}if(c){let f=Oe(c);l.push(v(c,()=>f?f.getGroupOtherThemedOffers(e):Promise.resolve()))}Promise.all(l).catch(()=>{}).finally(()=>{n&&Gt(n,u,t),Dn()})}else{let l=[];if(a){let f=Oe(a);f&&l.push(f.getGroupOtherOffers(e,Ye["R\xC9SERVEZ T\xD4T"]))}if(o){let f=Oe(o);f&&l.push(f.getGroupOtherOffers(e,Ye["DERNI\xC8RE MINUTE"]))}if(c){let f=Oe(c);f&&l.push(f.getGroupOtherThemedOffers(e))}l.length>0&&await Promise.all(l),Z(n,!0),requestAnimationFrame(()=>{mr()})}}catch{Z(t,!1),Z(r,!0),Z(n,!0)}finally{i||Z(t,!1)}}window.loadFromServer=()=>{let e=()=>{as()};document.readyState==="complete"?setTimeout(e,0):window.addEventListener("load",()=>setTimeout(e,0))};window.addEventListener("load",()=>{window.loadFromServer()});})();
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
@splidejs/splide/dist/js/splide.esm.js:
|
package/dist/pages/Offers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var W=Object.defineProperty;var Z=(s,e,t)=>e in s?W(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var D=(s,e,t)=>(Z(s,typeof e!="symbol"?e+"":e,t),t);var l="data",f={startingPriceList:`[${l}=starting-price-list]`,price:`[${l}=price]`,discount:`[${l}=discount]`,discountContainer:`[${l}=discount-container]`,currency:`[${l}=currency]`,beHid:`[${l}-be-hid]`,destination:`[${l}=destination]`,offersList:`[${l}=offers-list]`,offerSlugDetail:`[${l}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${l}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersList2:`[${l}=offer-slug-others-list2], [data-offer-slug-others-list2]`,offerSlugOthersList3:`[${l}=offer-slug-others-list3], [data-offer-slug-others-list3]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${l}=offers-more-wrapper]`,offerOthersTabsMenu:".offer-others_tabs-menu",offerOthersTabLink:".offer-others_tab-link",offerOthersTabPane:".offer-others_tab-pane",offersListContainer:`[${l}=offers-list-container]`,listItem:`[${l}=list-item]`,image:`[${l}=image]`,name:`[${l}=name]`,description:`[${l}=description]`,hotelName:`[${l}=hotel-name]`,hotelLink:`[${l}=hotel-link]`,hotelStartingPriceContainer:`[${l}=hotel-starting-price-container]`,moreDetails:`[${l}=more-details]`,offersPopup:`[${l}=offers-popup]`,offersPopupClose:`[${l}=close-btn]`,hotelReserveLink:`[${l}=hotel-reserve-link]`,hotelVillaReserveLink:`[${l}=hotel-villa-reserve-link]`,hotelURLS:`[${l}=hotel-urls]`,languageDropdown:`[${l}=language-dropdown]`,selectedLanguage:`[${l}=selected-language]`,loadingSpinner:`[${l}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:s=>`[${l}-be-hid=${s}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var L={en:"Guadeloupe Islands",fr:"Les \xCEles de Guadeloupe",es:"Las islas de Guadalupe",it:"Le isole della Guadalupa"},N={en:"La Dominique",fr:"La Dominique",es:"Dominica",it:"Dominica"},C={en:"Saint Lucia",fr:"Sainte-Lucie",es:"Santa Luc\xEDa",it:"Santa Lucia"},Q={en:"Martinique",fr:"Martinique",es:"Martinica",it:"Martinica"},S={en:"Mauritius",fr:"\xCEle Maurice",es:"Mauricio",it:"Mauritius"},P={en:"Saint Martin",fr:"Saint-Martin",es:"Saint-Martin",it:"Saint Martin"},R={en:"Antigua",fr:"Antigua",es:"Antigua",it:"Antigua"},V={en:"Anguilla",fr:"Anguilla",es:"Anguila",it:"Anguilla"},M={gpgos12767:{destination:L,slug:"/hotels-et-villas/creole-beach-hotel-spa",codeIPlanet:"FRAN414",cmsId:"67c809b5f63deab8a71cf8e9"},gptro12772:{destination:L,slug:"/hotels-et-villas/le-jardin-malanga",codeIPlanet:"FRAN416",cmsId:"67c809b5f63deab8a71cf90d"},gpsai12770:{destination:L,slug:"/hotels-et-villas/la-toubana-hotel-spa",codeIPlanet:"FRAN411",cmsId:"67c809b5f63deab8a71cf8ef"},gpgos12769:{destination:L,slug:"/hotels-et-villas/mahogany-hotel-residence-spa",codeIPlanet:"FRAN423",cmsId:"67c809b5f63deab8a71cf91f"},gpgua27143:{destination:L,slug:"/hotels-et-villas/langley-resort-fort-royal",codeIPlanet:"GPAN32",cmsId:"67c809b5f63deab8a71cf8f0"},mqros18592:{destination:N,slug:"/hotels-et-villas/jungle-bay-dominica",codeIPlanet:"DMAN1",cmsId:"67c809b5f63deab8a71cf8ed"},dmtib00001:{destination:N,slug:"/hotels-et-villas/secret-bay-dominique",codeIPlanet:"DMAN2",cmsId:"67c809b5f63deab8a71cfefd"},agste21689:{destination:C,slug:"/hotels-et-villas/jade-mountain",codeIPlanet:"AGAN6",cmsId:"67c809b5f63deab8a71cf92a"},zzzzz25376:{destination:C,slug:"/hotels-et-villas/windjammer-landing",codeIPlanet:"LCAN4",cmsId:"67c809b5f63deab8a71cf92b"},lcgro30400:{destination:C,slug:"/hotels-et-villas/cap-maison",codeIPlanet:"LCLC8",cmsId:"67c809b5f63deab8a71cf929"},agste21688:{destination:C,slug:"/hotels-et-villas/anse-chastanet",codeIPlanet:"AGAN5",cmsId:"67c809b5f63deab8a71cf928"},mqsai18593:{destination:Q,slug:"/hotels-et-villas/plein-soleil",codeIPlanet:"MQAN16",cmsId:"67c809b5f63deab8a71cf925"},zzzzz25378:{destination:S,slug:"/hotels-et-villas/shanti-maurice",codeIPlanet:"MUAN22",cmsId:"67c809b5f63deab8a71cf933"},zzzzz25377:{destination:S,slug:"/hotels-et-villas/lux-le-morne",codeIPlanet:"MUAN21",cmsId:"67c809b5f63deab8a71cf931"},zzzzz25379:{destination:S,slug:"/hotels-et-villas/constance-belle-mare-plage",codeIPlanet:"MUAN20",cmsId:"67c809b5f63deab8a71cf92f"},mupos25678:{destination:S,slug:"/hotels-et-villas/constance-le-prince-maurice",codeIPlanet:"MUAN24",cmsId:"67c809b5f63deab8a71cf930"},zzzzz25380:{destination:S,slug:"/hotels-et-villas/anahita-the-resort",codeIPlanet:"MUAN19",cmsId:"67c809b5f63deab8a71cf92e"},agstm21687:{destination:P,slug:"/hotels-et-villas/la-samanna",codeIPlanet:"FRAN2350",cmsId:"67c809b5f63deab8a71cf926"},frsai31536:{destination:P,slug:"/hotels-et-villas/le-grand-case-beach-club",codeIPlanet:"FRFRA3",cmsId:"67c809b5f63deab8a71cf927"},ageng20433:{destination:R,slug:"/hotels-et-villas/the-inn-at-english-harbour",codeIPlanet:"AGAN4",cmsId:"67c809b5f63deab8a71cf8ec"},agcro20496:{destination:R,slug:"/hotels-et-villas/blue-waters",codeIPlanet:"AGAN1",cmsId:"67c809b5f63deab8a71cf8eb"},gpang25884:{destination:V,slug:"/hotels-et-villas/aurora-anguilla-resort-golf-club",codeIPlanet:"GPAN30",cmsId:"67c809b5f63deab8a71cf8ea"}},w={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},$={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"};var I="https://deshotelsetdesiles.ccordier.workers.dev/v2/",F="https://deshotelsetdesiles.i-planet.fr/dhdi-public/searchform.cgi",T="FR",z="1*q1lzz9*_gcl_au*MTMyMzcyMDY5NC4xNzM5Mjg5MzYx*_ga*NTAxMzI1MzMwLjE3MzkyODkzNjE.*_ga_Q0RXHLR7D4*MTczOTI5NzEzNC4zLjAuMTczOTI5NzE3Mi4yMi4wLjA.";var G=async()=>new Promise(s=>{geoip2.country(e=>{s(e.country.iso_code)},()=>{s(T)})});var v=s=>{let e="?";for(let[t,r]of Object.entries(s))r&&(e+=`${t}=${r}&`);return e};var O=class{async getGroupOffersData(e){let t=I+"groupOffers"+v(e),a=await(await fetch(t)).json();return a.error||!a.data?null:a}async getSingleHotelOffersData(e){let t=I+"offers"+v(e),a=await(await fetch(t)).json();return a.error||!a.data?null:a}async getCMSOffers(){let e=I+"cmsOffers",r=await(await fetch(e)).json();return r.items?r:null}async getCountries(){let e=I+"cmsCountries",r=await(await fetch(e)).json();return r.items?r:null}};var _=()=>{let s=U();if(!s){let e=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(e)}window.Weglot.on("languageChanged",()=>{if(s)window.location.reload();else{let e=window.Weglot.getCurrentLang();localStorage.setItem("wglang",e),window.loadFromServer&&window.loadFromServer()}})},U=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",B=()=>{let s=y();return $[s]},y=()=>{if(!U())return localStorage.getItem("wglang")||"fr";try{let s=window.Weglot.getCurrentLang();if(s)return s}catch(s){return console.error("Error getting language",s),"fr"}return"fr"},q=()=>{let s={};return Object.entries(M).forEach(([e,t])=>{s[t.cmsId]=e}),s},p=(s,e)=>`${s.toLowerCase().trim()}-${e.toLowerCase().trim()}`,x=(s,e,t)=>{let r=y().toUpperCase(),a=M[e].codeIPlanet.toUpperCase(),i=`${F}?Lang=${r}¤cy=${s.toUpperCase()}&HotelCode=${a}`,n=k("_ga"),o=z,d=k("_gcl_au");return i+=`&_ga=${n}&_gl=${o}&_gcl_au=${d}`,t&&(i=`${i}&HotelPromo=${t}`),i},k=s=>{let e=document.cookie.match(new RegExp("(^| )"+s+"=([^;]+)"));return e?e[2]:null};var K=(s,e,t,r)=>{let{quotation:a,rate:{distribution:i}}=e,{pricePerNight:n,currency:o,plainBookLink:d}=a,{accessCode:m}=i||{},g="";m&&m.length>0&&([g]=m),J(s,n,o);let h=s.querySelector(f.hotelReserveLink);h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(d,"_blank")});let c=s.querySelector(f.hotelVillaReserveLink);if(c&&c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(x(o,t,g),"_blank")}),r){let{fieldData:{"discount-percentage":u}}=r,b=s.querySelector(f.discount);b&&u&&(b.innerHTML=`-${u}%`);let E=s.querySelector(f.discountContainer);E&&!u&&(E.style.display="none")}},J=(s,e,t)=>{let r=s.querySelector(f.price);r&&(r.innerHTML=Math.floor(e).toString());let a=s.querySelector(f.currency);a&&(a.innerHTML=w[t])};var A=class{constructor(e,t){this.listInstance=e;this.itemTemplateElement=t;D(this,"loadingSpinner");D(this,"cmsFilterEmptyState");D(this,"offerLookup",{});D(this,"apiClient",new O);D(this,"countryCode");D(this,"availableCountries",{});D(this,"countryCodeFilter",e=>{let{fieldData:t}=e;return!t["supported-countries"]||t["supported-countries"].length===0?!0:t["supported-countries"].map(a=>this.availableCountries[a]).includes(this.countryCode)});this.cmsFilterEmptyState=document.querySelector(f.cmsFilterEmptyState),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.add("hide-empty-state"),e.clearItems(),_(),this.loadingSpinner=document.querySelector(f.loadingSpinner),this.countryCode=T}async getGroupOffers(e){let{clearItems:t=!0,filter:r}=e||{};t&&this.listInstance.clearItems();let a=await this.apiClient.getCMSOffers();if(!a)return;let i=await this.apiClient.getCountries();if(!i)return;i.items.forEach(b=>{this.availableCountries[b.id]=b.fieldData.title?.trim()}),this.countryCode=await G();let n=a.items.filter(r).filter(this.countryCodeFilter),o=this.generateHotelIds(n),d=this.generateHotelIds(n).join(","),m=o.length===1;m&&(d=[d,d].join(","));let{offerMetaData:g}=this.generateOfferData(n),h=B(),c=await this.apiClient.getGroupOffersData({hids:d,locale:h});if(!c||c.error||!c.data){this.hideSpinnerAndShowFilter();return}m&&(c.data=[c.data[0]]);let u=this.getAllOffers(c,g);this.addHotelToCollection(u),this.hideSpinnerAndShowFilter()}async getGroupCategoryOffers(e,t=!1){let r=a=>{let{isArchived:i,isDraft:n,fieldData:o}=a;return i||n?!1:t?(!o.thematiques||o.thematiques.length===0)&&!o.slug.includes("derniere-minute")&&!o.slug.includes("reservez-tot"):o.category===e};await this.getGroupOffers({filter:r})}async getGroupThemeOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:n}=r;return a||i||!n.thematiques?!1:n.thematiques.includes(e)};await this.getGroupOffers({filter:t})}async getGroupOtherThemedOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:n}=r;return a||i||n.slug===e?!1:Array.isArray(n.thematiques)&&n.thematiques.length>0};await this.getGroupOffers({filter:t})}async getGroupSlugOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:n}=r;return a||i?!1:n.slug===e};await this.getGroupOffers({filter:t})}async getGroupOtherOffers(e,t){let r=a=>{let{isArchived:i,isDraft:n,fieldData:o}=a;return i||n||o.slug===e?!1:t?o.category===t:(!o.thematiques||o.thematiques.length===0)&&!o.slug.includes("derniere-minute")&&!o.slug.includes("reservez-tot")};await this.getGroupOffers({filter:r})}hideSpinnerAndShowFilter(){this.loadingSpinner&&(this.loadingSpinner.style.display="none"),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.remove("hide-empty-state")}generateHotelIds(e){let t=[],r=q();return e.forEach(a=>{let{fieldData:{"hotel-villa":i}}=a;t.push(r[i])}),Array.from(new Set(t))}getAllOffers(e,t){let r=[];return e.data.forEach(a=>{let{prop:{hid:i},rates:n}=a;n.forEach(o=>{let{name:d,title:m}=o.rate;(t.includes(p(i,d))||t.includes(p(i,m)))&&r.push({...a,rates:[o]})})}),r.sort((a,i)=>{let n=this.offerLookup[p(a.prop.hid,a.rates[0].rate.title)]||this.offerLookup[p(a.prop.hid,a.rates[0].rate.name)],o=this.offerLookup[p(i.prop.hid,i.rates[0].rate.title)]||this.offerLookup[p(i.prop.hid,i.rates[0].rate.name)],d=Number(n.fieldData.order)||0,m=Number(o.fieldData.order)||0;return d-m}),r}generateOfferData(e){let t=[];return e.forEach(r=>{let{fieldData:{"hotel-or-property-api-id":a,"offer-api-name":i}}=r,n=p(a,i);t.push(n),this.offerLookup[n]=r}),{offerMetaData:t}}addHotelToCollection(e){for(let{prop:t,rates:r}of e){let a=r.map(i=>this.createItem(t,i,this.itemTemplateElement));this.listInstance.addItems(a)}}createItem(e,t,r){let{rate:a}=t,{hid:i,title:n,property:o}=e,{image:d,title:m,name:g}=a,h=this.offerLookup[p(i||o,m)]||this.offerLookup[p(i||o,g)],c=r.cloneNode(!0),u=M[i||o];if(!u)return c;let{destination:b,slug:E}=u;this.bindOffersMetaData(c,{destination:b,image:d,hotelName:n,title:m,slug:E}),K(c,t,i,h);let H=c.querySelector(f.moreDetails);return H&&H.addEventListener("click",()=>{let j=this.getOffersCmsSlug(i,o,g);window.location.href=`/offers/${j}`}),c.style.display="flex",c}getOffersCmsSlug(e,t,r){return this.offerLookup[p(e||t,r)]?.fieldData.slug}bindOffersMetaData(e,{destination:t,image:r,hotelName:a,title:i,slug:n,description:o}){let d=e.querySelector(f.destination),m=e.querySelector(f.image),g=e.querySelector(f.hotelName),h=e.querySelector(f.name),c=e.querySelector(f.description),u=e.querySelector(f.hotelLink),b=y();d&&(d.textContent=t[b]),m&&(m.src=r?.url),g&&(g.innerHTML=a),h&&(h.innerHTML=i),c&&o&&(c.innerHTML=o),u&&n&&u.addEventListener("click",()=>{window.location.href=n})}};var Y=s=>{let[e]=s,{listInstance:t}=e;if(t.items.length===0)throw new Error("No items found in the list instance - Cannot create an instance of Offers");return X(t)},X=s=>{let[e]=s.items;if(!e)throw new Error("No items found in the list instance");let t=e.element;return new A(s,t)};window.fsAttributes=window.fsAttributes||[];window.loadFromServer=()=>{window.fsAttributes.push(["cmsfilter",async s=>{await Y(s).getGroupCategoryOffers(void 0,!0)}])};window.loadFromServer();})();
|
|
1
|
+
"use strict";(()=>{var Z=Object.defineProperty;var Q=(s,e,t)=>e in s?Z(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var D=(s,e,t)=>(Q(s,typeof e!="symbol"?e+"":e,t),t);var l="data",f={startingPriceList:`[${l}=starting-price-list]`,price:`[${l}=price]`,discount:`[${l}=discount]`,discountContainer:`[${l}=discount-container]`,currency:`[${l}=currency]`,beHid:`[${l}-be-hid]`,destination:`[${l}=destination]`,offersList:`[${l}=offers-list]`,offerSlugDetail:`[${l}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${l}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersList2:`[${l}=offer-slug-others-list2], [data-offer-slug-others-list2]`,offerSlugOthersList3:`[${l}=offer-slug-others-list3], [data-offer-slug-others-list3]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${l}=offers-more-wrapper]`,offerOthersTabsMenu:".offer-others_tabs-menu",offerOthersTabLink:".offer-others_tab-link",offerOthersTabPane:".offer-others_tab-pane",offersListContainer:`[${l}=offers-list-container]`,listItem:`[${l}=list-item]`,image:`[${l}=image]`,name:`[${l}=name]`,description:`[${l}=description]`,hotelName:`[${l}=hotel-name]`,hotelLink:`[${l}=hotel-link]`,hotelStartingPriceContainer:`[${l}=hotel-starting-price-container]`,moreDetails:`[${l}=more-details]`,offersPopup:`[${l}=offers-popup]`,offersPopupClose:`[${l}=close-btn]`,hotelReserveLink:`[${l}=hotel-reserve-link]`,hotelVillaReserveLink:`[${l}=hotel-villa-reserve-link]`,hotelURLS:`[${l}=hotel-urls]`,languageDropdown:`[${l}=language-dropdown]`,selectedLanguage:`[${l}=selected-language]`,loadingSpinner:`[${l}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:s=>`[${l}-be-hid=${s}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var L={en:"Guadeloupe Islands",fr:"Les \xCEles de Guadeloupe",es:"Las islas de Guadalupe",it:"Le isole della Guadalupa"},P={en:"La Dominique",fr:"La Dominique",es:"Dominica",it:"Dominica"},T={en:"Saint Lucia",fr:"Sainte-Lucie",es:"Santa Luc\xEDa",it:"Santa Lucia"},V={en:"Martinique",fr:"Martinique",es:"Martinica",it:"Martinica"},S={en:"Mauritius",fr:"\xCEle Maurice",es:"Mauricio",it:"Mauritius"},R={en:"Saint Martin",fr:"Saint-Martin",es:"Saint-Martin",it:"Saint Martin"},w={en:"Antigua",fr:"Antigua",es:"Antigua",it:"Antigua"},J={en:"Anguilla",fr:"Anguilla",es:"Anguila",it:"Anguilla"},M={gpgos12767:{destination:L,slug:"/hotels-et-villas/creole-beach-hotel-spa",codeIPlanet:"FRAN414",cmsId:"67c809b5f63deab8a71cf8e9"},gptro12772:{destination:L,slug:"/hotels-et-villas/le-jardin-malanga",codeIPlanet:"FRAN416",cmsId:"67c809b5f63deab8a71cf90d"},gpsai12770:{destination:L,slug:"/hotels-et-villas/la-toubana-hotel-spa",codeIPlanet:"FRAN411",cmsId:"67c809b5f63deab8a71cf8ef"},gpgos12769:{destination:L,slug:"/hotels-et-villas/mahogany-hotel-residence-spa",codeIPlanet:"FRAN423",cmsId:"67c809b5f63deab8a71cf91f"},gpgua27143:{destination:L,slug:"/hotels-et-villas/langley-resort-fort-royal",codeIPlanet:"GPAN32",cmsId:"67c809b5f63deab8a71cf8f0"},mqros18592:{destination:P,slug:"/hotels-et-villas/jungle-bay-dominica",codeIPlanet:"DMAN1",cmsId:"67c809b5f63deab8a71cf8ed"},dmtib00001:{destination:P,slug:"/hotels-et-villas/secret-bay-dominique",codeIPlanet:"DMAN2",cmsId:"67c809b5f63deab8a71cfefd"},agste21689:{destination:T,slug:"/hotels-et-villas/jade-mountain",codeIPlanet:"AGAN6",cmsId:"67c809b5f63deab8a71cf92a"},zzzzz25376:{destination:T,slug:"/hotels-et-villas/windjammer-landing",codeIPlanet:"LCAN4",cmsId:"67c809b5f63deab8a71cf92b"},lcgro30400:{destination:T,slug:"/hotels-et-villas/cap-maison",codeIPlanet:"LCLC8",cmsId:"67c809b5f63deab8a71cf929"},agste21688:{destination:T,slug:"/hotels-et-villas/anse-chastanet",codeIPlanet:"AGAN5",cmsId:"67c809b5f63deab8a71cf928"},mqsai18593:{destination:V,slug:"/hotels-et-villas/plein-soleil",codeIPlanet:"MQAN16",cmsId:"67c809b5f63deab8a71cf925"},zzzzz25378:{destination:S,slug:"/hotels-et-villas/shanti-maurice",codeIPlanet:"MUAN22",cmsId:"67c809b5f63deab8a71cf933"},zzzzz25377:{destination:S,slug:"/hotels-et-villas/lux-le-morne",codeIPlanet:"MUAN21",cmsId:"67c809b5f63deab8a71cf931"},zzzzz25379:{destination:S,slug:"/hotels-et-villas/constance-belle-mare-plage",codeIPlanet:"MUAN20",cmsId:"67c809b5f63deab8a71cf92f"},mupos25678:{destination:S,slug:"/hotels-et-villas/constance-le-prince-maurice",codeIPlanet:"MUAN24",cmsId:"67c809b5f63deab8a71cf930"},zzzzz25380:{destination:S,slug:"/hotels-et-villas/anahita-the-resort",codeIPlanet:"MUAN19",cmsId:"67c809b5f63deab8a71cf92e"},agstm21687:{destination:R,slug:"/hotels-et-villas/la-samanna",codeIPlanet:"FRAN2350",cmsId:"67c809b5f63deab8a71cf926"},frsai31536:{destination:R,slug:"/hotels-et-villas/le-grand-case-beach-club",codeIPlanet:"FRFRA3",cmsId:"67c809b5f63deab8a71cf927"},ageng20433:{destination:w,slug:"/hotels-et-villas/the-inn-at-english-harbour",codeIPlanet:"AGAN4",cmsId:"67c809b5f63deab8a71cf8ec"},agcro20496:{destination:w,slug:"/hotels-et-villas/blue-waters",codeIPlanet:"AGAN1",cmsId:"67c809b5f63deab8a71cf8eb"},gpang25884:{destination:J,slug:"/hotels-et-villas/aurora-anguilla-resort-golf-club",codeIPlanet:"GPAN30",cmsId:"67c809b5f63deab8a71cf8ea"}},$={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},F={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"};var I="https://deshotelsetdesiles.ccordier.workers.dev/v2/",z="https://deshotelsetdesiles.i-planet.fr/dhdi-public/searchform.cgi",O="FR",G="1*q1lzz9*_gcl_au*MTMyMzcyMDY5NC4xNzM5Mjg5MzYx*_ga*NTAxMzI1MzMwLjE3MzkyODkzNjE.*_ga_Q0RXHLR7D4*MTczOTI5NzEzNC4zLjAuMTczOTI5NzE3Mi4yMi4wLjA.";var k=async()=>new Promise(s=>{geoip2.country(e=>{s(e.country.iso_code)},()=>{s(O)})});var v=s=>{let e="?";for(let[t,r]of Object.entries(s))r&&(e+=`${t}=${r}&`);return e};var y=class{async getGroupOffersData(e){let t=I+"groupOffers"+v(e),i=await(await fetch(t)).json();return i.error||!i.data?null:i}async getSingleHotelOffersData(e){let t=I+"offers"+v(e),i=await(await fetch(t)).json();return i.error||!i.data?null:i}async getCMSOffers(){let e=I+"cmsOffers",r=await(await fetch(e)).json();return r.items?r:null}async getCountries(){let e=I+"cmsCountries",r=await(await fetch(e)).json();return r.items?r:null}};var U=()=>{let s=B();if(!s){let e=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(e)}window.Weglot.on("languageChanged",()=>{if(s)window.location.reload();else{let e=window.Weglot.getCurrentLang();localStorage.setItem("wglang",e),window.loadFromServer&&window.loadFromServer()}})},B=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",q=()=>{let s=E();return F[s]},E=()=>{if(!B())return localStorage.getItem("wglang")||"fr";try{let s=window.Weglot.getCurrentLang();if(s)return s}catch(s){return console.error("Error getting language",s),"fr"}return"fr"},X=()=>!window.location.hostname.includes("webflow.io");function x(s){if(!X())return`/offers/${s}`;let e=E();return!e||e==="fr"?`/offers/${s}`:`/${e}/offers/${s}`}var K=()=>{let s={};return Object.entries(M).forEach(([e,t])=>{s[t.cmsId]=e}),s},p=(s,e)=>`${s.toLowerCase().trim()}-${e.toLowerCase().trim()}`,Y=(s,e,t)=>{let r=E().toUpperCase(),i=M[e].codeIPlanet.toUpperCase(),a=`${z}?Lang=${r}¤cy=${s.toUpperCase()}&HotelCode=${i}`,n=_("_ga"),o=G,d=_("_gcl_au");return a+=`&_ga=${n}&_gl=${o}&_gcl_au=${d}`,t&&(a=`${a}&HotelPromo=${t}`),a},_=s=>{let e=document.cookie.match(new RegExp("(^| )"+s+"=([^;]+)"));return e?e[2]:null};var j=(s,e,t,r)=>{let{quotation:i,rate:{distribution:a}}=e,{pricePerNight:n,currency:o,plainBookLink:d}=i,{accessCode:m}=a||{},g="";m&&m.length>0&&([g]=m),ee(s,n,o);let h=s.querySelector(f.hotelReserveLink);h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(d,"_blank")});let c=s.querySelector(f.hotelVillaReserveLink);if(c&&c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(Y(o,t,g),"_blank")}),r){let{fieldData:{"discount-percentage":u}}=r,b=s.querySelector(f.discount);b&&u&&(b.innerHTML=`-${u}%`);let C=s.querySelector(f.discountContainer);C&&!u&&(C.style.display="none")}},ee=(s,e,t)=>{let r=s.querySelector(f.price);r&&(r.innerHTML=Math.floor(e).toString());let i=s.querySelector(f.currency);i&&(i.innerHTML=$[t])};var A=class{constructor(e,t){this.listInstance=e;this.itemTemplateElement=t;D(this,"loadingSpinner");D(this,"cmsFilterEmptyState");D(this,"offerLookup",{});D(this,"apiClient",new y);D(this,"countryCode");D(this,"availableCountries",{});D(this,"countryCodeFilter",e=>{let{fieldData:t}=e;return!t["supported-countries"]||t["supported-countries"].length===0?!0:t["supported-countries"].map(i=>this.availableCountries[i]).includes(this.countryCode)});this.cmsFilterEmptyState=document.querySelector(f.cmsFilterEmptyState),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.add("hide-empty-state"),e.clearItems(),U(),this.loadingSpinner=document.querySelector(f.loadingSpinner),this.countryCode=O}async getGroupOffers(e){let{clearItems:t=!0,filter:r}=e||{};t&&this.listInstance.clearItems();let i=await this.apiClient.getCMSOffers();if(!i)return;let a=await this.apiClient.getCountries();if(!a)return;a.items.forEach(b=>{this.availableCountries[b.id]=b.fieldData.title?.trim()}),this.countryCode=await k();let n=i.items.filter(r).filter(this.countryCodeFilter),o=this.generateHotelIds(n),d=this.generateHotelIds(n).join(","),m=o.length===1;m&&(d=[d,d].join(","));let{offerMetaData:g}=this.generateOfferData(n),h=q(),c=await this.apiClient.getGroupOffersData({hids:d,locale:h});if(!c||c.error||!c.data){this.hideSpinnerAndShowFilter();return}m&&(c.data=[c.data[0]]);let u=this.getAllOffers(c,g);this.addHotelToCollection(u),this.hideSpinnerAndShowFilter()}async getGroupCategoryOffers(e,t=!1){let r=i=>{let{isArchived:a,isDraft:n,fieldData:o}=i;return a||n?!1:t?(!o.thematiques||o.thematiques.length===0)&&!o.slug.includes("derniere-minute")&&!o.slug.includes("reservez-tot"):o.category===e};await this.getGroupOffers({filter:r})}async getGroupThemeOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:n}=r;return i||a||!n.thematiques?!1:n.thematiques.includes(e)};await this.getGroupOffers({filter:t})}async getGroupOtherThemedOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:n}=r;return i||a||n.slug===e?!1:Array.isArray(n.thematiques)&&n.thematiques.length>0};await this.getGroupOffers({filter:t})}async getGroupSlugOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:n}=r;return i||a?!1:n.slug===e};await this.getGroupOffers({filter:t})}async getGroupOtherOffers(e,t){let r=i=>{let{isArchived:a,isDraft:n,fieldData:o}=i;return a||n||o.slug===e?!1:t?o.category===t:(!o.thematiques||o.thematiques.length===0)&&!o.slug.includes("derniere-minute")&&!o.slug.includes("reservez-tot")};await this.getGroupOffers({filter:r})}hideSpinnerAndShowFilter(){this.loadingSpinner&&(this.loadingSpinner.style.display="none"),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.remove("hide-empty-state")}generateHotelIds(e){let t=[],r=K();return e.forEach(i=>{let{fieldData:{"hotel-villa":a}}=i;t.push(r[a])}),Array.from(new Set(t))}getAllOffers(e,t){let r=[];return e.data.forEach(i=>{let{prop:{hid:a},rates:n}=i;n.forEach(o=>{let{name:d,title:m}=o.rate;(t.includes(p(a,d))||t.includes(p(a,m)))&&r.push({...i,rates:[o]})})}),r.sort((i,a)=>{let n=this.offerLookup[p(i.prop.hid,i.rates[0].rate.title)]||this.offerLookup[p(i.prop.hid,i.rates[0].rate.name)],o=this.offerLookup[p(a.prop.hid,a.rates[0].rate.title)]||this.offerLookup[p(a.prop.hid,a.rates[0].rate.name)],d=Number(n.fieldData.order)||0,m=Number(o.fieldData.order)||0;return d-m}),r}generateOfferData(e){let t=[];return e.forEach(r=>{let{fieldData:{"hotel-or-property-api-id":i,"offer-api-name":a}}=r,n=p(i,a);t.push(n),this.offerLookup[n]=r}),{offerMetaData:t}}addHotelToCollection(e){for(let{prop:t,rates:r}of e){let i=r.map(a=>this.createItem(t,a,this.itemTemplateElement));this.listInstance.addItems(i)}}createItem(e,t,r){let{rate:i}=t,{hid:a,title:n,property:o}=e,{image:d,title:m,name:g}=i,h=this.offerLookup[p(a||o,m)]||this.offerLookup[p(a||o,g)],c=r.cloneNode(!0),u=M[a||o];if(!u)return c;let{destination:b,slug:C}=u;this.bindOffersMetaData(c,{destination:b,image:d,hotelName:n,title:m,slug:C}),j(c,t,a,h);let H=c.querySelector(f.moreDetails);return H&&H.addEventListener("click",()=>{let N=this.getOffersCmsSlug(a,o,g);N&&(window.location.href=x(N))}),c.style.display="flex",c}getOffersCmsSlug(e,t,r){return this.offerLookup[p(e||t,r)]?.fieldData.slug}bindOffersMetaData(e,{destination:t,image:r,hotelName:i,title:a,slug:n,description:o}){let d=e.querySelector(f.destination),m=e.querySelector(f.image),g=e.querySelector(f.hotelName),h=e.querySelector(f.name),c=e.querySelector(f.description),u=e.querySelector(f.hotelLink),b=E();d&&(d.textContent=t[b]),m&&(m.src=r?.url),g&&(g.innerHTML=i),h&&(h.innerHTML=a),c&&o&&(c.innerHTML=o),u&&n&&u.addEventListener("click",()=>{window.location.href=n})}};var W=s=>{let[e]=s,{listInstance:t}=e;if(t.items.length===0)throw new Error("No items found in the list instance - Cannot create an instance of Offers");return te(t)},te=s=>{let[e]=s.items;if(!e)throw new Error("No items found in the list instance");let t=e.element;return new A(s,t)};window.fsAttributes=window.fsAttributes||[];window.loadFromServer=()=>{window.fsAttributes.push(["cmsfilter",async s=>{await W(s).getGroupCategoryOffers(void 0,!0)}])};window.loadFromServer();})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var Z=Object.defineProperty;var Q=(s,e,t)=>e in s?Z(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var D=(s,e,t)=>(Q(s,typeof e!="symbol"?e+"":e,t),t);var l="data",f={startingPriceList:`[${l}=starting-price-list]`,price:`[${l}=price]`,discount:`[${l}=discount]`,discountContainer:`[${l}=discount-container]`,currency:`[${l}=currency]`,beHid:`[${l}-be-hid]`,destination:`[${l}=destination]`,offersList:`[${l}=offers-list]`,offerSlugDetail:`[${l}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${l}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersList2:`[${l}=offer-slug-others-list2], [data-offer-slug-others-list2]`,offerSlugOthersList3:`[${l}=offer-slug-others-list3], [data-offer-slug-others-list3]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${l}=offers-more-wrapper]`,offerOthersTabsMenu:".offer-others_tabs-menu",offerOthersTabLink:".offer-others_tab-link",offerOthersTabPane:".offer-others_tab-pane",offersListContainer:`[${l}=offers-list-container]`,listItem:`[${l}=list-item]`,image:`[${l}=image]`,name:`[${l}=name]`,description:`[${l}=description]`,hotelName:`[${l}=hotel-name]`,hotelLink:`[${l}=hotel-link]`,hotelStartingPriceContainer:`[${l}=hotel-starting-price-container]`,moreDetails:`[${l}=more-details]`,offersPopup:`[${l}=offers-popup]`,offersPopupClose:`[${l}=close-btn]`,hotelReserveLink:`[${l}=hotel-reserve-link]`,hotelVillaReserveLink:`[${l}=hotel-villa-reserve-link]`,hotelURLS:`[${l}=hotel-urls]`,languageDropdown:`[${l}=language-dropdown]`,selectedLanguage:`[${l}=selected-language]`,loadingSpinner:`[${l}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:s=>`[${l}-be-hid=${s}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var L={en:"Guadeloupe Islands",fr:"Les \xCEles de Guadeloupe",es:"Las islas de Guadalupe",it:"Le isole della Guadalupa"},H={en:"La Dominique",fr:"La Dominique",es:"Dominica",it:"Dominica"},C={en:"Saint Lucia",fr:"Sainte-Lucie",es:"Santa Luc\xEDa",it:"Santa Lucia"},V={en:"Martinique",fr:"Martinique",es:"Martinica",it:"Martinica"},S={en:"Mauritius",fr:"\xCEle Maurice",es:"Mauricio",it:"Mauritius"},R={en:"Saint Martin",fr:"Saint-Martin",es:"Saint-Martin",it:"Saint Martin"},P={en:"Antigua",fr:"Antigua",es:"Antigua",it:"Antigua"},J={en:"Anguilla",fr:"Anguilla",es:"Anguila",it:"Anguilla"},M={gpgos12767:{destination:L,slug:"/hotels-et-villas/creole-beach-hotel-spa",codeIPlanet:"FRAN414",cmsId:"67c809b5f63deab8a71cf8e9"},gptro12772:{destination:L,slug:"/hotels-et-villas/le-jardin-malanga",codeIPlanet:"FRAN416",cmsId:"67c809b5f63deab8a71cf90d"},gpsai12770:{destination:L,slug:"/hotels-et-villas/la-toubana-hotel-spa",codeIPlanet:"FRAN411",cmsId:"67c809b5f63deab8a71cf8ef"},gpgos12769:{destination:L,slug:"/hotels-et-villas/mahogany-hotel-residence-spa",codeIPlanet:"FRAN423",cmsId:"67c809b5f63deab8a71cf91f"},gpgua27143:{destination:L,slug:"/hotels-et-villas/langley-resort-fort-royal",codeIPlanet:"GPAN32",cmsId:"67c809b5f63deab8a71cf8f0"},mqros18592:{destination:H,slug:"/hotels-et-villas/jungle-bay-dominica",codeIPlanet:"DMAN1",cmsId:"67c809b5f63deab8a71cf8ed"},dmtib00001:{destination:H,slug:"/hotels-et-villas/secret-bay-dominique",codeIPlanet:"DMAN2",cmsId:"67c809b5f63deab8a71cfefd"},agste21689:{destination:C,slug:"/hotels-et-villas/jade-mountain",codeIPlanet:"AGAN6",cmsId:"67c809b5f63deab8a71cf92a"},zzzzz25376:{destination:C,slug:"/hotels-et-villas/windjammer-landing",codeIPlanet:"LCAN4",cmsId:"67c809b5f63deab8a71cf92b"},lcgro30400:{destination:C,slug:"/hotels-et-villas/cap-maison",codeIPlanet:"LCLC8",cmsId:"67c809b5f63deab8a71cf929"},agste21688:{destination:C,slug:"/hotels-et-villas/anse-chastanet",codeIPlanet:"AGAN5",cmsId:"67c809b5f63deab8a71cf928"},mqsai18593:{destination:V,slug:"/hotels-et-villas/plein-soleil",codeIPlanet:"MQAN16",cmsId:"67c809b5f63deab8a71cf925"},zzzzz25378:{destination:S,slug:"/hotels-et-villas/shanti-maurice",codeIPlanet:"MUAN22",cmsId:"67c809b5f63deab8a71cf933"},zzzzz25377:{destination:S,slug:"/hotels-et-villas/lux-le-morne",codeIPlanet:"MUAN21",cmsId:"67c809b5f63deab8a71cf931"},zzzzz25379:{destination:S,slug:"/hotels-et-villas/constance-belle-mare-plage",codeIPlanet:"MUAN20",cmsId:"67c809b5f63deab8a71cf92f"},mupos25678:{destination:S,slug:"/hotels-et-villas/constance-le-prince-maurice",codeIPlanet:"MUAN24",cmsId:"67c809b5f63deab8a71cf930"},zzzzz25380:{destination:S,slug:"/hotels-et-villas/anahita-the-resort",codeIPlanet:"MUAN19",cmsId:"67c809b5f63deab8a71cf92e"},agstm21687:{destination:R,slug:"/hotels-et-villas/la-samanna",codeIPlanet:"FRAN2350",cmsId:"67c809b5f63deab8a71cf926"},frsai31536:{destination:R,slug:"/hotels-et-villas/le-grand-case-beach-club",codeIPlanet:"FRFRA3",cmsId:"67c809b5f63deab8a71cf927"},ageng20433:{destination:P,slug:"/hotels-et-villas/the-inn-at-english-harbour",codeIPlanet:"AGAN4",cmsId:"67c809b5f63deab8a71cf8ec"},agcro20496:{destination:P,slug:"/hotels-et-villas/blue-waters",codeIPlanet:"AGAN1",cmsId:"67c809b5f63deab8a71cf8eb"},gpang25884:{destination:J,slug:"/hotels-et-villas/aurora-anguilla-resort-golf-club",codeIPlanet:"GPAN30",cmsId:"67c809b5f63deab8a71cf8ea"}},w={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},$={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"},F={"DERNI\xC8RE MINUTE":"735fe5e0858671cf3a5c14cbcc2470fe","R\xC9SERVEZ T\xD4T":"c5abb23caf056891f3902ff42ae2f9e0"};var I="https://deshotelsetdesiles.ccordier.workers.dev/v2/",z="https://deshotelsetdesiles.i-planet.fr/dhdi-public/searchform.cgi",T="FR",G="1*q1lzz9*_gcl_au*MTMyMzcyMDY5NC4xNzM5Mjg5MzYx*_ga*NTAxMzI1MzMwLjE3MzkyODkzNjE.*_ga_Q0RXHLR7D4*MTczOTI5NzEzNC4zLjAuMTczOTI5NzE3Mi4yMi4wLjA.";var k=async()=>new Promise(s=>{geoip2.country(e=>{s(e.country.iso_code)},()=>{s(T)})});var v=s=>{let e="?";for(let[t,r]of Object.entries(s))r&&(e+=`${t}=${r}&`);return e};var O=class{async getGroupOffersData(e){let t=I+"groupOffers"+v(e),a=await(await fetch(t)).json();return a.error||!a.data?null:a}async getSingleHotelOffersData(e){let t=I+"offers"+v(e),a=await(await fetch(t)).json();return a.error||!a.data?null:a}async getCMSOffers(){let e=I+"cmsOffers",r=await(await fetch(e)).json();return r.items?r:null}async getCountries(){let e=I+"cmsCountries",r=await(await fetch(e)).json();return r.items?r:null}};var U=()=>{let s=B();if(!s){let e=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(e)}window.Weglot.on("languageChanged",()=>{if(s)window.location.reload();else{let e=window.Weglot.getCurrentLang();localStorage.setItem("wglang",e),window.loadFromServer&&window.loadFromServer()}})},B=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",q=()=>{let s=y();return $[s]},y=()=>{if(!B())return localStorage.getItem("wglang")||"fr";try{let s=window.Weglot.getCurrentLang();if(s)return s}catch(s){return console.error("Error getting language",s),"fr"}return"fr"},x=()=>{let s={};return Object.entries(M).forEach(([e,t])=>{s[t.cmsId]=e}),s},p=(s,e)=>`${s.toLowerCase().trim()}-${e.toLowerCase().trim()}`,K=(s,e,t)=>{let r=y().toUpperCase(),a=M[e].codeIPlanet.toUpperCase(),i=`${z}?Lang=${r}¤cy=${s.toUpperCase()}&HotelCode=${a}`,o=_("_ga"),n=G,d=_("_gcl_au");return i+=`&_ga=${o}&_gl=${n}&_gcl_au=${d}`,t&&(i=`${i}&HotelPromo=${t}`),i},_=s=>{let e=document.cookie.match(new RegExp("(^| )"+s+"=([^;]+)"));return e?e[2]:null};var Y=(s,e,t,r)=>{let{quotation:a,rate:{distribution:i}}=e,{pricePerNight:o,currency:n,plainBookLink:d}=a,{accessCode:m}=i||{},g="";m&&m.length>0&&([g]=m),X(s,o,n);let h=s.querySelector(f.hotelReserveLink);h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(d,"_blank")});let c=s.querySelector(f.hotelVillaReserveLink);if(c&&c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(K(n,t,g),"_blank")}),r){let{fieldData:{"discount-percentage":u}}=r,b=s.querySelector(f.discount);b&&u&&(b.innerHTML=`-${u}%`);let E=s.querySelector(f.discountContainer);E&&!u&&(E.style.display="none")}},X=(s,e,t)=>{let r=s.querySelector(f.price);r&&(r.innerHTML=Math.floor(e).toString());let a=s.querySelector(f.currency);a&&(a.innerHTML=w[t])};var A=class{constructor(e,t){this.listInstance=e;this.itemTemplateElement=t;D(this,"loadingSpinner");D(this,"cmsFilterEmptyState");D(this,"offerLookup",{});D(this,"apiClient",new O);D(this,"countryCode");D(this,"availableCountries",{});D(this,"countryCodeFilter",e=>{let{fieldData:t}=e;return!t["supported-countries"]||t["supported-countries"].length===0?!0:t["supported-countries"].map(a=>this.availableCountries[a]).includes(this.countryCode)});this.cmsFilterEmptyState=document.querySelector(f.cmsFilterEmptyState),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.add("hide-empty-state"),e.clearItems(),U(),this.loadingSpinner=document.querySelector(f.loadingSpinner),this.countryCode=T}async getGroupOffers(e){let{clearItems:t=!0,filter:r}=e||{};t&&this.listInstance.clearItems();let a=await this.apiClient.getCMSOffers();if(!a)return;let i=await this.apiClient.getCountries();if(!i)return;i.items.forEach(b=>{this.availableCountries[b.id]=b.fieldData.title?.trim()}),this.countryCode=await k();let o=a.items.filter(r).filter(this.countryCodeFilter),n=this.generateHotelIds(o),d=this.generateHotelIds(o).join(","),m=n.length===1;m&&(d=[d,d].join(","));let{offerMetaData:g}=this.generateOfferData(o),h=q(),c=await this.apiClient.getGroupOffersData({hids:d,locale:h});if(!c||c.error||!c.data){this.hideSpinnerAndShowFilter();return}m&&(c.data=[c.data[0]]);let u=this.getAllOffers(c,g);this.addHotelToCollection(u),this.hideSpinnerAndShowFilter()}async getGroupCategoryOffers(e,t=!1){let r=a=>{let{isArchived:i,isDraft:o,fieldData:n}=a;return i||o?!1:t?(!n.thematiques||n.thematiques.length===0)&&!n.slug.includes("derniere-minute")&&!n.slug.includes("reservez-tot"):n.category===e};await this.getGroupOffers({filter:r})}async getGroupThemeOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:o}=r;return a||i||!o.thematiques?!1:o.thematiques.includes(e)};await this.getGroupOffers({filter:t})}async getGroupOtherThemedOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:o}=r;return a||i||o.slug===e?!1:Array.isArray(o.thematiques)&&o.thematiques.length>0};await this.getGroupOffers({filter:t})}async getGroupSlugOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:o}=r;return a||i?!1:o.slug===e};await this.getGroupOffers({filter:t})}async getGroupOtherOffers(e,t){let r=a=>{let{isArchived:i,isDraft:o,fieldData:n}=a;return i||o||n.slug===e?!1:t?n.category===t:(!n.thematiques||n.thematiques.length===0)&&!n.slug.includes("derniere-minute")&&!n.slug.includes("reservez-tot")};await this.getGroupOffers({filter:r})}hideSpinnerAndShowFilter(){this.loadingSpinner&&(this.loadingSpinner.style.display="none"),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.remove("hide-empty-state")}generateHotelIds(e){let t=[],r=x();return e.forEach(a=>{let{fieldData:{"hotel-villa":i}}=a;t.push(r[i])}),Array.from(new Set(t))}getAllOffers(e,t){let r=[];return e.data.forEach(a=>{let{prop:{hid:i},rates:o}=a;o.forEach(n=>{let{name:d,title:m}=n.rate;(t.includes(p(i,d))||t.includes(p(i,m)))&&r.push({...a,rates:[n]})})}),r.sort((a,i)=>{let o=this.offerLookup[p(a.prop.hid,a.rates[0].rate.title)]||this.offerLookup[p(a.prop.hid,a.rates[0].rate.name)],n=this.offerLookup[p(i.prop.hid,i.rates[0].rate.title)]||this.offerLookup[p(i.prop.hid,i.rates[0].rate.name)],d=Number(o.fieldData.order)||0,m=Number(n.fieldData.order)||0;return d-m}),r}generateOfferData(e){let t=[];return e.forEach(r=>{let{fieldData:{"hotel-or-property-api-id":a,"offer-api-name":i}}=r,o=p(a,i);t.push(o),this.offerLookup[o]=r}),{offerMetaData:t}}addHotelToCollection(e){for(let{prop:t,rates:r}of e){let a=r.map(i=>this.createItem(t,i,this.itemTemplateElement));this.listInstance.addItems(a)}}createItem(e,t,r){let{rate:a}=t,{hid:i,title:o,property:n}=e,{image:d,title:m,name:g}=a,h=this.offerLookup[p(i||n,m)]||this.offerLookup[p(i||n,g)],c=r.cloneNode(!0),u=M[i||n];if(!u)return c;let{destination:b,slug:E}=u;this.bindOffersMetaData(c,{destination:b,image:d,hotelName:o,title:m,slug:E}),Y(c,t,i,h);let N=c.querySelector(f.moreDetails);return N&&N.addEventListener("click",()=>{let W=this.getOffersCmsSlug(i,n,g);window.location.href=`/offers/${W}`}),c.style.display="flex",c}getOffersCmsSlug(e,t,r){return this.offerLookup[p(e||t,r)]?.fieldData.slug}bindOffersMetaData(e,{destination:t,image:r,hotelName:a,title:i,slug:o,description:n}){let d=e.querySelector(f.destination),m=e.querySelector(f.image),g=e.querySelector(f.hotelName),h=e.querySelector(f.name),c=e.querySelector(f.description),u=e.querySelector(f.hotelLink),b=y();d&&(d.textContent=t[b]),m&&(m.src=r?.url),g&&(g.innerHTML=a),h&&(h.innerHTML=i),c&&n&&(c.innerHTML=n),u&&o&&u.addEventListener("click",()=>{window.location.href=o})}};var j=s=>{let[e]=s,{listInstance:t}=e;if(t.items.length===0)throw new Error("No items found in the list instance - Cannot create an instance of Offers");return ee(t)},ee=s=>{let[e]=s.items;if(!e)throw new Error("No items found in the list instance");let t=e.element;return new A(s,t)};window.fsAttributes=window.fsAttributes||[];window.loadFromServer=()=>{window.fsAttributes.push(["cmsfilter",async s=>{await j(s).getGroupCategoryOffers(F["DERNI\xC8RE MINUTE"])}])};window.loadFromServer();})();
|
|
1
|
+
"use strict";(()=>{var Q=Object.defineProperty;var V=(s,e,t)=>e in s?Q(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var D=(s,e,t)=>(V(s,typeof e!="symbol"?e+"":e,t),t);var l="data",f={startingPriceList:`[${l}=starting-price-list]`,price:`[${l}=price]`,discount:`[${l}=discount]`,discountContainer:`[${l}=discount-container]`,currency:`[${l}=currency]`,beHid:`[${l}-be-hid]`,destination:`[${l}=destination]`,offersList:`[${l}=offers-list]`,offerSlugDetail:`[${l}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${l}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersList2:`[${l}=offer-slug-others-list2], [data-offer-slug-others-list2]`,offerSlugOthersList3:`[${l}=offer-slug-others-list3], [data-offer-slug-others-list3]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${l}=offers-more-wrapper]`,offerOthersTabsMenu:".offer-others_tabs-menu",offerOthersTabLink:".offer-others_tab-link",offerOthersTabPane:".offer-others_tab-pane",offersListContainer:`[${l}=offers-list-container]`,listItem:`[${l}=list-item]`,image:`[${l}=image]`,name:`[${l}=name]`,description:`[${l}=description]`,hotelName:`[${l}=hotel-name]`,hotelLink:`[${l}=hotel-link]`,hotelStartingPriceContainer:`[${l}=hotel-starting-price-container]`,moreDetails:`[${l}=more-details]`,offersPopup:`[${l}=offers-popup]`,offersPopupClose:`[${l}=close-btn]`,hotelReserveLink:`[${l}=hotel-reserve-link]`,hotelVillaReserveLink:`[${l}=hotel-villa-reserve-link]`,hotelURLS:`[${l}=hotel-urls]`,languageDropdown:`[${l}=language-dropdown]`,selectedLanguage:`[${l}=selected-language]`,loadingSpinner:`[${l}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:s=>`[${l}-be-hid=${s}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var L={en:"Guadeloupe Islands",fr:"Les \xCEles de Guadeloupe",es:"Las islas de Guadalupe",it:"Le isole della Guadalupa"},R={en:"La Dominique",fr:"La Dominique",es:"Dominica",it:"Dominica"},T={en:"Saint Lucia",fr:"Sainte-Lucie",es:"Santa Luc\xEDa",it:"Santa Lucia"},J={en:"Martinique",fr:"Martinique",es:"Martinica",it:"Martinica"},S={en:"Mauritius",fr:"\xCEle Maurice",es:"Mauricio",it:"Mauritius"},P={en:"Saint Martin",fr:"Saint-Martin",es:"Saint-Martin",it:"Saint Martin"},w={en:"Antigua",fr:"Antigua",es:"Antigua",it:"Antigua"},X={en:"Anguilla",fr:"Anguilla",es:"Anguila",it:"Anguilla"},M={gpgos12767:{destination:L,slug:"/hotels-et-villas/creole-beach-hotel-spa",codeIPlanet:"FRAN414",cmsId:"67c809b5f63deab8a71cf8e9"},gptro12772:{destination:L,slug:"/hotels-et-villas/le-jardin-malanga",codeIPlanet:"FRAN416",cmsId:"67c809b5f63deab8a71cf90d"},gpsai12770:{destination:L,slug:"/hotels-et-villas/la-toubana-hotel-spa",codeIPlanet:"FRAN411",cmsId:"67c809b5f63deab8a71cf8ef"},gpgos12769:{destination:L,slug:"/hotels-et-villas/mahogany-hotel-residence-spa",codeIPlanet:"FRAN423",cmsId:"67c809b5f63deab8a71cf91f"},gpgua27143:{destination:L,slug:"/hotels-et-villas/langley-resort-fort-royal",codeIPlanet:"GPAN32",cmsId:"67c809b5f63deab8a71cf8f0"},mqros18592:{destination:R,slug:"/hotels-et-villas/jungle-bay-dominica",codeIPlanet:"DMAN1",cmsId:"67c809b5f63deab8a71cf8ed"},dmtib00001:{destination:R,slug:"/hotels-et-villas/secret-bay-dominique",codeIPlanet:"DMAN2",cmsId:"67c809b5f63deab8a71cfefd"},agste21689:{destination:T,slug:"/hotels-et-villas/jade-mountain",codeIPlanet:"AGAN6",cmsId:"67c809b5f63deab8a71cf92a"},zzzzz25376:{destination:T,slug:"/hotels-et-villas/windjammer-landing",codeIPlanet:"LCAN4",cmsId:"67c809b5f63deab8a71cf92b"},lcgro30400:{destination:T,slug:"/hotels-et-villas/cap-maison",codeIPlanet:"LCLC8",cmsId:"67c809b5f63deab8a71cf929"},agste21688:{destination:T,slug:"/hotels-et-villas/anse-chastanet",codeIPlanet:"AGAN5",cmsId:"67c809b5f63deab8a71cf928"},mqsai18593:{destination:J,slug:"/hotels-et-villas/plein-soleil",codeIPlanet:"MQAN16",cmsId:"67c809b5f63deab8a71cf925"},zzzzz25378:{destination:S,slug:"/hotels-et-villas/shanti-maurice",codeIPlanet:"MUAN22",cmsId:"67c809b5f63deab8a71cf933"},zzzzz25377:{destination:S,slug:"/hotels-et-villas/lux-le-morne",codeIPlanet:"MUAN21",cmsId:"67c809b5f63deab8a71cf931"},zzzzz25379:{destination:S,slug:"/hotels-et-villas/constance-belle-mare-plage",codeIPlanet:"MUAN20",cmsId:"67c809b5f63deab8a71cf92f"},mupos25678:{destination:S,slug:"/hotels-et-villas/constance-le-prince-maurice",codeIPlanet:"MUAN24",cmsId:"67c809b5f63deab8a71cf930"},zzzzz25380:{destination:S,slug:"/hotels-et-villas/anahita-the-resort",codeIPlanet:"MUAN19",cmsId:"67c809b5f63deab8a71cf92e"},agstm21687:{destination:P,slug:"/hotels-et-villas/la-samanna",codeIPlanet:"FRAN2350",cmsId:"67c809b5f63deab8a71cf926"},frsai31536:{destination:P,slug:"/hotels-et-villas/le-grand-case-beach-club",codeIPlanet:"FRFRA3",cmsId:"67c809b5f63deab8a71cf927"},ageng20433:{destination:w,slug:"/hotels-et-villas/the-inn-at-english-harbour",codeIPlanet:"AGAN4",cmsId:"67c809b5f63deab8a71cf8ec"},agcro20496:{destination:w,slug:"/hotels-et-villas/blue-waters",codeIPlanet:"AGAN1",cmsId:"67c809b5f63deab8a71cf8eb"},gpang25884:{destination:X,slug:"/hotels-et-villas/aurora-anguilla-resort-golf-club",codeIPlanet:"GPAN30",cmsId:"67c809b5f63deab8a71cf8ea"}},$={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},F={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"},z={"DERNI\xC8RE MINUTE":"735fe5e0858671cf3a5c14cbcc2470fe","R\xC9SERVEZ T\xD4T":"c5abb23caf056891f3902ff42ae2f9e0"};var I="https://deshotelsetdesiles.ccordier.workers.dev/v2/",G="https://deshotelsetdesiles.i-planet.fr/dhdi-public/searchform.cgi",O="FR",k="1*q1lzz9*_gcl_au*MTMyMzcyMDY5NC4xNzM5Mjg5MzYx*_ga*NTAxMzI1MzMwLjE3MzkyODkzNjE.*_ga_Q0RXHLR7D4*MTczOTI5NzEzNC4zLjAuMTczOTI5NzE3Mi4yMi4wLjA.";var _=async()=>new Promise(s=>{geoip2.country(e=>{s(e.country.iso_code)},()=>{s(O)})});var v=s=>{let e="?";for(let[t,r]of Object.entries(s))r&&(e+=`${t}=${r}&`);return e};var y=class{async getGroupOffersData(e){let t=I+"groupOffers"+v(e),i=await(await fetch(t)).json();return i.error||!i.data?null:i}async getSingleHotelOffersData(e){let t=I+"offers"+v(e),i=await(await fetch(t)).json();return i.error||!i.data?null:i}async getCMSOffers(){let e=I+"cmsOffers",r=await(await fetch(e)).json();return r.items?r:null}async getCountries(){let e=I+"cmsCountries",r=await(await fetch(e)).json();return r.items?r:null}};var B=()=>{let s=q();if(!s){let e=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(e)}window.Weglot.on("languageChanged",()=>{if(s)window.location.reload();else{let e=window.Weglot.getCurrentLang();localStorage.setItem("wglang",e),window.loadFromServer&&window.loadFromServer()}})},q=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",x=()=>{let s=E();return F[s]},E=()=>{if(!q())return localStorage.getItem("wglang")||"fr";try{let s=window.Weglot.getCurrentLang();if(s)return s}catch(s){return console.error("Error getting language",s),"fr"}return"fr"},ee=()=>!window.location.hostname.includes("webflow.io");function K(s){if(!ee())return`/offers/${s}`;let e=E();return!e||e==="fr"?`/offers/${s}`:`/${e}/offers/${s}`}var Y=()=>{let s={};return Object.entries(M).forEach(([e,t])=>{s[t.cmsId]=e}),s},p=(s,e)=>`${s.toLowerCase().trim()}-${e.toLowerCase().trim()}`,j=(s,e,t)=>{let r=E().toUpperCase(),i=M[e].codeIPlanet.toUpperCase(),a=`${G}?Lang=${r}¤cy=${s.toUpperCase()}&HotelCode=${i}`,o=U("_ga"),n=k,d=U("_gcl_au");return a+=`&_ga=${o}&_gl=${n}&_gcl_au=${d}`,t&&(a=`${a}&HotelPromo=${t}`),a},U=s=>{let e=document.cookie.match(new RegExp("(^| )"+s+"=([^;]+)"));return e?e[2]:null};var W=(s,e,t,r)=>{let{quotation:i,rate:{distribution:a}}=e,{pricePerNight:o,currency:n,plainBookLink:d}=i,{accessCode:m}=a||{},g="";m&&m.length>0&&([g]=m),te(s,o,n);let h=s.querySelector(f.hotelReserveLink);h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(d,"_blank")});let c=s.querySelector(f.hotelVillaReserveLink);if(c&&c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(j(n,t,g),"_blank")}),r){let{fieldData:{"discount-percentage":u}}=r,b=s.querySelector(f.discount);b&&u&&(b.innerHTML=`-${u}%`);let C=s.querySelector(f.discountContainer);C&&!u&&(C.style.display="none")}},te=(s,e,t)=>{let r=s.querySelector(f.price);r&&(r.innerHTML=Math.floor(e).toString());let i=s.querySelector(f.currency);i&&(i.innerHTML=$[t])};var A=class{constructor(e,t){this.listInstance=e;this.itemTemplateElement=t;D(this,"loadingSpinner");D(this,"cmsFilterEmptyState");D(this,"offerLookup",{});D(this,"apiClient",new y);D(this,"countryCode");D(this,"availableCountries",{});D(this,"countryCodeFilter",e=>{let{fieldData:t}=e;return!t["supported-countries"]||t["supported-countries"].length===0?!0:t["supported-countries"].map(i=>this.availableCountries[i]).includes(this.countryCode)});this.cmsFilterEmptyState=document.querySelector(f.cmsFilterEmptyState),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.add("hide-empty-state"),e.clearItems(),B(),this.loadingSpinner=document.querySelector(f.loadingSpinner),this.countryCode=O}async getGroupOffers(e){let{clearItems:t=!0,filter:r}=e||{};t&&this.listInstance.clearItems();let i=await this.apiClient.getCMSOffers();if(!i)return;let a=await this.apiClient.getCountries();if(!a)return;a.items.forEach(b=>{this.availableCountries[b.id]=b.fieldData.title?.trim()}),this.countryCode=await _();let o=i.items.filter(r).filter(this.countryCodeFilter),n=this.generateHotelIds(o),d=this.generateHotelIds(o).join(","),m=n.length===1;m&&(d=[d,d].join(","));let{offerMetaData:g}=this.generateOfferData(o),h=x(),c=await this.apiClient.getGroupOffersData({hids:d,locale:h});if(!c||c.error||!c.data){this.hideSpinnerAndShowFilter();return}m&&(c.data=[c.data[0]]);let u=this.getAllOffers(c,g);this.addHotelToCollection(u),this.hideSpinnerAndShowFilter()}async getGroupCategoryOffers(e,t=!1){let r=i=>{let{isArchived:a,isDraft:o,fieldData:n}=i;return a||o?!1:t?(!n.thematiques||n.thematiques.length===0)&&!n.slug.includes("derniere-minute")&&!n.slug.includes("reservez-tot"):n.category===e};await this.getGroupOffers({filter:r})}async getGroupThemeOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:o}=r;return i||a||!o.thematiques?!1:o.thematiques.includes(e)};await this.getGroupOffers({filter:t})}async getGroupOtherThemedOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:o}=r;return i||a||o.slug===e?!1:Array.isArray(o.thematiques)&&o.thematiques.length>0};await this.getGroupOffers({filter:t})}async getGroupSlugOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:o}=r;return i||a?!1:o.slug===e};await this.getGroupOffers({filter:t})}async getGroupOtherOffers(e,t){let r=i=>{let{isArchived:a,isDraft:o,fieldData:n}=i;return a||o||n.slug===e?!1:t?n.category===t:(!n.thematiques||n.thematiques.length===0)&&!n.slug.includes("derniere-minute")&&!n.slug.includes("reservez-tot")};await this.getGroupOffers({filter:r})}hideSpinnerAndShowFilter(){this.loadingSpinner&&(this.loadingSpinner.style.display="none"),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.remove("hide-empty-state")}generateHotelIds(e){let t=[],r=Y();return e.forEach(i=>{let{fieldData:{"hotel-villa":a}}=i;t.push(r[a])}),Array.from(new Set(t))}getAllOffers(e,t){let r=[];return e.data.forEach(i=>{let{prop:{hid:a},rates:o}=i;o.forEach(n=>{let{name:d,title:m}=n.rate;(t.includes(p(a,d))||t.includes(p(a,m)))&&r.push({...i,rates:[n]})})}),r.sort((i,a)=>{let o=this.offerLookup[p(i.prop.hid,i.rates[0].rate.title)]||this.offerLookup[p(i.prop.hid,i.rates[0].rate.name)],n=this.offerLookup[p(a.prop.hid,a.rates[0].rate.title)]||this.offerLookup[p(a.prop.hid,a.rates[0].rate.name)],d=Number(o.fieldData.order)||0,m=Number(n.fieldData.order)||0;return d-m}),r}generateOfferData(e){let t=[];return e.forEach(r=>{let{fieldData:{"hotel-or-property-api-id":i,"offer-api-name":a}}=r,o=p(i,a);t.push(o),this.offerLookup[o]=r}),{offerMetaData:t}}addHotelToCollection(e){for(let{prop:t,rates:r}of e){let i=r.map(a=>this.createItem(t,a,this.itemTemplateElement));this.listInstance.addItems(i)}}createItem(e,t,r){let{rate:i}=t,{hid:a,title:o,property:n}=e,{image:d,title:m,name:g}=i,h=this.offerLookup[p(a||n,m)]||this.offerLookup[p(a||n,g)],c=r.cloneNode(!0),u=M[a||n];if(!u)return c;let{destination:b,slug:C}=u;this.bindOffersMetaData(c,{destination:b,image:d,hotelName:o,title:m,slug:C}),W(c,t,a,h);let N=c.querySelector(f.moreDetails);return N&&N.addEventListener("click",()=>{let H=this.getOffersCmsSlug(a,n,g);H&&(window.location.href=K(H))}),c.style.display="flex",c}getOffersCmsSlug(e,t,r){return this.offerLookup[p(e||t,r)]?.fieldData.slug}bindOffersMetaData(e,{destination:t,image:r,hotelName:i,title:a,slug:o,description:n}){let d=e.querySelector(f.destination),m=e.querySelector(f.image),g=e.querySelector(f.hotelName),h=e.querySelector(f.name),c=e.querySelector(f.description),u=e.querySelector(f.hotelLink),b=E();d&&(d.textContent=t[b]),m&&(m.src=r?.url),g&&(g.innerHTML=i),h&&(h.innerHTML=a),c&&n&&(c.innerHTML=n),u&&o&&u.addEventListener("click",()=>{window.location.href=o})}};var Z=s=>{let[e]=s,{listInstance:t}=e;if(t.items.length===0)throw new Error("No items found in the list instance - Cannot create an instance of Offers");return se(t)},se=s=>{let[e]=s.items;if(!e)throw new Error("No items found in the list instance");let t=e.element;return new A(s,t)};window.fsAttributes=window.fsAttributes||[];window.loadFromServer=()=>{window.fsAttributes.push(["cmsfilter",async s=>{await Z(s).getGroupCategoryOffers(z["DERNI\xC8RE MINUTE"])}])};window.loadFromServer();})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var W=Object.defineProperty;var Q=(s,e,t)=>e in s?W(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var D=(s,e,t)=>(Q(s,typeof e!="symbol"?e+"":e,t),t);var l="data",f={startingPriceList:`[${l}=starting-price-list]`,price:`[${l}=price]`,discount:`[${l}=discount]`,discountContainer:`[${l}=discount-container]`,currency:`[${l}=currency]`,beHid:`[${l}-be-hid]`,destination:`[${l}=destination]`,offersList:`[${l}=offers-list]`,offerSlugDetail:`[${l}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${l}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersList2:`[${l}=offer-slug-others-list2], [data-offer-slug-others-list2]`,offerSlugOthersList3:`[${l}=offer-slug-others-list3], [data-offer-slug-others-list3]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${l}=offers-more-wrapper]`,offerOthersTabsMenu:".offer-others_tabs-menu",offerOthersTabLink:".offer-others_tab-link",offerOthersTabPane:".offer-others_tab-pane",offersListContainer:`[${l}=offers-list-container]`,listItem:`[${l}=list-item]`,image:`[${l}=image]`,name:`[${l}=name]`,description:`[${l}=description]`,hotelName:`[${l}=hotel-name]`,hotelLink:`[${l}=hotel-link]`,hotelStartingPriceContainer:`[${l}=hotel-starting-price-container]`,moreDetails:`[${l}=more-details]`,offersPopup:`[${l}=offers-popup]`,offersPopupClose:`[${l}=close-btn]`,hotelReserveLink:`[${l}=hotel-reserve-link]`,hotelVillaReserveLink:`[${l}=hotel-villa-reserve-link]`,hotelURLS:`[${l}=hotel-urls]`,languageDropdown:`[${l}=language-dropdown]`,selectedLanguage:`[${l}=selected-language]`,loadingSpinner:`[${l}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:s=>`[${l}-be-hid=${s}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var L={en:"Guadeloupe Islands",fr:"Les \xCEles de Guadeloupe",es:"Las islas de Guadalupe",it:"Le isole della Guadalupa"},N={en:"La Dominique",fr:"La Dominique",es:"Dominica",it:"Dominica"},C={en:"Saint Lucia",fr:"Sainte-Lucie",es:"Santa Luc\xEDa",it:"Santa Lucia"},V={en:"Martinique",fr:"Martinique",es:"Martinica",it:"Martinica"},S={en:"Mauritius",fr:"\xCEle Maurice",es:"Mauricio",it:"Mauritius"},R={en:"Saint Martin",fr:"Saint-Martin",es:"Saint-Martin",it:"Saint Martin"},P={en:"Antigua",fr:"Antigua",es:"Antigua",it:"Antigua"},J={en:"Anguilla",fr:"Anguilla",es:"Anguila",it:"Anguilla"},M={gpgos12767:{destination:L,slug:"/hotels-et-villas/creole-beach-hotel-spa",codeIPlanet:"FRAN414",cmsId:"67c809b5f63deab8a71cf8e9"},gptro12772:{destination:L,slug:"/hotels-et-villas/le-jardin-malanga",codeIPlanet:"FRAN416",cmsId:"67c809b5f63deab8a71cf90d"},gpsai12770:{destination:L,slug:"/hotels-et-villas/la-toubana-hotel-spa",codeIPlanet:"FRAN411",cmsId:"67c809b5f63deab8a71cf8ef"},gpgos12769:{destination:L,slug:"/hotels-et-villas/mahogany-hotel-residence-spa",codeIPlanet:"FRAN423",cmsId:"67c809b5f63deab8a71cf91f"},gpgua27143:{destination:L,slug:"/hotels-et-villas/langley-resort-fort-royal",codeIPlanet:"GPAN32",cmsId:"67c809b5f63deab8a71cf8f0"},mqros18592:{destination:N,slug:"/hotels-et-villas/jungle-bay-dominica",codeIPlanet:"DMAN1",cmsId:"67c809b5f63deab8a71cf8ed"},dmtib00001:{destination:N,slug:"/hotels-et-villas/secret-bay-dominique",codeIPlanet:"DMAN2",cmsId:"67c809b5f63deab8a71cfefd"},agste21689:{destination:C,slug:"/hotels-et-villas/jade-mountain",codeIPlanet:"AGAN6",cmsId:"67c809b5f63deab8a71cf92a"},zzzzz25376:{destination:C,slug:"/hotels-et-villas/windjammer-landing",codeIPlanet:"LCAN4",cmsId:"67c809b5f63deab8a71cf92b"},lcgro30400:{destination:C,slug:"/hotels-et-villas/cap-maison",codeIPlanet:"LCLC8",cmsId:"67c809b5f63deab8a71cf929"},agste21688:{destination:C,slug:"/hotels-et-villas/anse-chastanet",codeIPlanet:"AGAN5",cmsId:"67c809b5f63deab8a71cf928"},mqsai18593:{destination:V,slug:"/hotels-et-villas/plein-soleil",codeIPlanet:"MQAN16",cmsId:"67c809b5f63deab8a71cf925"},zzzzz25378:{destination:S,slug:"/hotels-et-villas/shanti-maurice",codeIPlanet:"MUAN22",cmsId:"67c809b5f63deab8a71cf933"},zzzzz25377:{destination:S,slug:"/hotels-et-villas/lux-le-morne",codeIPlanet:"MUAN21",cmsId:"67c809b5f63deab8a71cf931"},zzzzz25379:{destination:S,slug:"/hotels-et-villas/constance-belle-mare-plage",codeIPlanet:"MUAN20",cmsId:"67c809b5f63deab8a71cf92f"},mupos25678:{destination:S,slug:"/hotels-et-villas/constance-le-prince-maurice",codeIPlanet:"MUAN24",cmsId:"67c809b5f63deab8a71cf930"},zzzzz25380:{destination:S,slug:"/hotels-et-villas/anahita-the-resort",codeIPlanet:"MUAN19",cmsId:"67c809b5f63deab8a71cf92e"},agstm21687:{destination:R,slug:"/hotels-et-villas/la-samanna",codeIPlanet:"FRAN2350",cmsId:"67c809b5f63deab8a71cf926"},frsai31536:{destination:R,slug:"/hotels-et-villas/le-grand-case-beach-club",codeIPlanet:"FRFRA3",cmsId:"67c809b5f63deab8a71cf927"},ageng20433:{destination:P,slug:"/hotels-et-villas/the-inn-at-english-harbour",codeIPlanet:"AGAN4",cmsId:"67c809b5f63deab8a71cf8ec"},agcro20496:{destination:P,slug:"/hotels-et-villas/blue-waters",codeIPlanet:"AGAN1",cmsId:"67c809b5f63deab8a71cf8eb"},gpang25884:{destination:J,slug:"/hotels-et-villas/aurora-anguilla-resort-golf-club",codeIPlanet:"GPAN30",cmsId:"67c809b5f63deab8a71cf8ea"}},w={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},$={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"},F={"DERNI\xC8RE MINUTE":"735fe5e0858671cf3a5c14cbcc2470fe","R\xC9SERVEZ T\xD4T":"c5abb23caf056891f3902ff42ae2f9e0"};var I="https://deshotelsetdesiles.ccordier.workers.dev/v2/",z="https://deshotelsetdesiles.i-planet.fr/dhdi-public/searchform.cgi",T="FR",G="1*q1lzz9*_gcl_au*MTMyMzcyMDY5NC4xNzM5Mjg5MzYx*_ga*NTAxMzI1MzMwLjE3MzkyODkzNjE.*_ga_Q0RXHLR7D4*MTczOTI5NzEzNC4zLjAuMTczOTI5NzE3Mi4yMi4wLjA.";var k=async()=>new Promise(s=>{geoip2.country(e=>{s(e.country.iso_code)},()=>{s(T)})});var v=s=>{let e="?";for(let[t,r]of Object.entries(s))r&&(e+=`${t}=${r}&`);return e};var O=class{async getGroupOffersData(e){let t=I+"groupOffers"+v(e),a=await(await fetch(t)).json();return a.error||!a.data?null:a}async getSingleHotelOffersData(e){let t=I+"offers"+v(e),a=await(await fetch(t)).json();return a.error||!a.data?null:a}async getCMSOffers(){let e=I+"cmsOffers",r=await(await fetch(e)).json();return r.items?r:null}async getCountries(){let e=I+"cmsCountries",r=await(await fetch(e)).json();return r.items?r:null}};var U=()=>{let s=B();if(!s){let e=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(e)}window.Weglot.on("languageChanged",()=>{if(s)window.location.reload();else{let e=window.Weglot.getCurrentLang();localStorage.setItem("wglang",e),window.loadFromServer&&window.loadFromServer()}})},B=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",q=()=>{let s=y();return $[s]},y=()=>{if(!B())return localStorage.getItem("wglang")||"fr";try{let s=window.Weglot.getCurrentLang();if(s)return s}catch(s){return console.error("Error getting language",s),"fr"}return"fr"},x=()=>{let s={};return Object.entries(M).forEach(([e,t])=>{s[t.cmsId]=e}),s},p=(s,e)=>`${s.toLowerCase().trim()}-${e.toLowerCase().trim()}`,K=(s,e,t)=>{let r=y().toUpperCase(),a=M[e].codeIPlanet.toUpperCase(),i=`${z}?Lang=${r}¤cy=${s.toUpperCase()}&HotelCode=${a}`,o=_("_ga"),n=G,d=_("_gcl_au");return i+=`&_ga=${o}&_gl=${n}&_gcl_au=${d}`,t&&(i=`${i}&HotelPromo=${t}`),i},_=s=>{let e=document.cookie.match(new RegExp("(^| )"+s+"=([^;]+)"));return e?e[2]:null};var Y=(s,e,t,r)=>{let{quotation:a,rate:{distribution:i}}=e,{pricePerNight:o,currency:n,plainBookLink:d}=a,{accessCode:m}=i||{},g="";m&&m.length>0&&([g]=m),X(s,o,n);let h=s.querySelector(f.hotelReserveLink);h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(d,"_blank")});let c=s.querySelector(f.hotelVillaReserveLink);if(c&&c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(K(n,t,g),"_blank")}),r){let{fieldData:{"discount-percentage":u}}=r,b=s.querySelector(f.discount);b&&u&&(b.innerHTML=`-${u}%`);let E=s.querySelector(f.discountContainer);E&&!u&&(E.style.display="none")}},X=(s,e,t)=>{let r=s.querySelector(f.price);r&&(r.innerHTML=Math.floor(e).toString());let a=s.querySelector(f.currency);a&&(a.innerHTML=w[t])};var A=class{constructor(e,t){this.listInstance=e;this.itemTemplateElement=t;D(this,"loadingSpinner");D(this,"cmsFilterEmptyState");D(this,"offerLookup",{});D(this,"apiClient",new O);D(this,"countryCode");D(this,"availableCountries",{});D(this,"countryCodeFilter",e=>{let{fieldData:t}=e;return!t["supported-countries"]||t["supported-countries"].length===0?!0:t["supported-countries"].map(a=>this.availableCountries[a]).includes(this.countryCode)});this.cmsFilterEmptyState=document.querySelector(f.cmsFilterEmptyState),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.add("hide-empty-state"),e.clearItems(),U(),this.loadingSpinner=document.querySelector(f.loadingSpinner),this.countryCode=T}async getGroupOffers(e){let{clearItems:t=!0,filter:r}=e||{};t&&this.listInstance.clearItems();let a=await this.apiClient.getCMSOffers();if(!a)return;let i=await this.apiClient.getCountries();if(!i)return;i.items.forEach(b=>{this.availableCountries[b.id]=b.fieldData.title?.trim()}),this.countryCode=await k();let o=a.items.filter(r).filter(this.countryCodeFilter),n=this.generateHotelIds(o),d=this.generateHotelIds(o).join(","),m=n.length===1;m&&(d=[d,d].join(","));let{offerMetaData:g}=this.generateOfferData(o),h=q(),c=await this.apiClient.getGroupOffersData({hids:d,locale:h});if(!c||c.error||!c.data){this.hideSpinnerAndShowFilter();return}m&&(c.data=[c.data[0]]);let u=this.getAllOffers(c,g);this.addHotelToCollection(u),this.hideSpinnerAndShowFilter()}async getGroupCategoryOffers(e,t=!1){let r=a=>{let{isArchived:i,isDraft:o,fieldData:n}=a;return i||o?!1:t?(!n.thematiques||n.thematiques.length===0)&&!n.slug.includes("derniere-minute")&&!n.slug.includes("reservez-tot"):n.category===e};await this.getGroupOffers({filter:r})}async getGroupThemeOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:o}=r;return a||i||!o.thematiques?!1:o.thematiques.includes(e)};await this.getGroupOffers({filter:t})}async getGroupOtherThemedOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:o}=r;return a||i||o.slug===e?!1:Array.isArray(o.thematiques)&&o.thematiques.length>0};await this.getGroupOffers({filter:t})}async getGroupSlugOffers(e){let t=r=>{let{isArchived:a,isDraft:i,fieldData:o}=r;return a||i?!1:o.slug===e};await this.getGroupOffers({filter:t})}async getGroupOtherOffers(e,t){let r=a=>{let{isArchived:i,isDraft:o,fieldData:n}=a;return i||o||n.slug===e?!1:t?n.category===t:(!n.thematiques||n.thematiques.length===0)&&!n.slug.includes("derniere-minute")&&!n.slug.includes("reservez-tot")};await this.getGroupOffers({filter:r})}hideSpinnerAndShowFilter(){this.loadingSpinner&&(this.loadingSpinner.style.display="none"),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.remove("hide-empty-state")}generateHotelIds(e){let t=[],r=x();return e.forEach(a=>{let{fieldData:{"hotel-villa":i}}=a;t.push(r[i])}),Array.from(new Set(t))}getAllOffers(e,t){let r=[];return e.data.forEach(a=>{let{prop:{hid:i},rates:o}=a;o.forEach(n=>{let{name:d,title:m}=n.rate;(t.includes(p(i,d))||t.includes(p(i,m)))&&r.push({...a,rates:[n]})})}),r.sort((a,i)=>{let o=this.offerLookup[p(a.prop.hid,a.rates[0].rate.title)]||this.offerLookup[p(a.prop.hid,a.rates[0].rate.name)],n=this.offerLookup[p(i.prop.hid,i.rates[0].rate.title)]||this.offerLookup[p(i.prop.hid,i.rates[0].rate.name)],d=Number(o.fieldData.order)||0,m=Number(n.fieldData.order)||0;return d-m}),r}generateOfferData(e){let t=[];return e.forEach(r=>{let{fieldData:{"hotel-or-property-api-id":a,"offer-api-name":i}}=r,o=p(a,i);t.push(o),this.offerLookup[o]=r}),{offerMetaData:t}}addHotelToCollection(e){for(let{prop:t,rates:r}of e){let a=r.map(i=>this.createItem(t,i,this.itemTemplateElement));this.listInstance.addItems(a)}}createItem(e,t,r){let{rate:a}=t,{hid:i,title:o,property:n}=e,{image:d,title:m,name:g}=a,h=this.offerLookup[p(i||n,m)]||this.offerLookup[p(i||n,g)],c=r.cloneNode(!0),u=M[i||n];if(!u)return c;let{destination:b,slug:E}=u;this.bindOffersMetaData(c,{destination:b,image:d,hotelName:o,title:m,slug:E}),Y(c,t,i,h);let H=c.querySelector(f.moreDetails);return H&&H.addEventListener("click",()=>{let Z=this.getOffersCmsSlug(i,n,g);window.location.href=`/offers/${Z}`}),c.style.display="flex",c}getOffersCmsSlug(e,t,r){return this.offerLookup[p(e||t,r)]?.fieldData.slug}bindOffersMetaData(e,{destination:t,image:r,hotelName:a,title:i,slug:o,description:n}){let d=e.querySelector(f.destination),m=e.querySelector(f.image),g=e.querySelector(f.hotelName),h=e.querySelector(f.name),c=e.querySelector(f.description),u=e.querySelector(f.hotelLink),b=y();d&&(d.textContent=t[b]),m&&(m.src=r?.url),g&&(g.innerHTML=a),h&&(h.innerHTML=i),c&&n&&(c.innerHTML=n),u&&o&&u.addEventListener("click",()=>{window.location.href=o})}};var j=s=>{let[e]=s,{listInstance:t}=e;if(t.items.length===0)throw new Error("No items found in the list instance - Cannot create an instance of Offers");return ee(t)},ee=s=>{let[e]=s.items;if(!e)throw new Error("No items found in the list instance");let t=e.element;return new A(s,t)};window.fsAttributes=window.fsAttributes||[];window.loadFromServer=()=>{window.fsAttributes.push(["cmsfilter",async s=>{await j(s).getGroupCategoryOffers(F["R\xC9SERVEZ T\xD4T"])}])};window.loadFromServer();})();
|
|
1
|
+
"use strict";(()=>{var Q=Object.defineProperty;var V=(s,e,t)=>e in s?Q(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var D=(s,e,t)=>(V(s,typeof e!="symbol"?e+"":e,t),t);var l="data",f={startingPriceList:`[${l}=starting-price-list]`,price:`[${l}=price]`,discount:`[${l}=discount]`,discountContainer:`[${l}=discount-container]`,currency:`[${l}=currency]`,beHid:`[${l}-be-hid]`,destination:`[${l}=destination]`,offersList:`[${l}=offers-list]`,offerSlugDetail:`[${l}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${l}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersList2:`[${l}=offer-slug-others-list2], [data-offer-slug-others-list2]`,offerSlugOthersList3:`[${l}=offer-slug-others-list3], [data-offer-slug-others-list3]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${l}=offers-more-wrapper]`,offerOthersTabsMenu:".offer-others_tabs-menu",offerOthersTabLink:".offer-others_tab-link",offerOthersTabPane:".offer-others_tab-pane",offersListContainer:`[${l}=offers-list-container]`,listItem:`[${l}=list-item]`,image:`[${l}=image]`,name:`[${l}=name]`,description:`[${l}=description]`,hotelName:`[${l}=hotel-name]`,hotelLink:`[${l}=hotel-link]`,hotelStartingPriceContainer:`[${l}=hotel-starting-price-container]`,moreDetails:`[${l}=more-details]`,offersPopup:`[${l}=offers-popup]`,offersPopupClose:`[${l}=close-btn]`,hotelReserveLink:`[${l}=hotel-reserve-link]`,hotelVillaReserveLink:`[${l}=hotel-villa-reserve-link]`,hotelURLS:`[${l}=hotel-urls]`,languageDropdown:`[${l}=language-dropdown]`,selectedLanguage:`[${l}=selected-language]`,loadingSpinner:`[${l}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:s=>`[${l}-be-hid=${s}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var L={en:"Guadeloupe Islands",fr:"Les \xCEles de Guadeloupe",es:"Las islas de Guadalupe",it:"Le isole della Guadalupa"},R={en:"La Dominique",fr:"La Dominique",es:"Dominica",it:"Dominica"},T={en:"Saint Lucia",fr:"Sainte-Lucie",es:"Santa Luc\xEDa",it:"Santa Lucia"},J={en:"Martinique",fr:"Martinique",es:"Martinica",it:"Martinica"},S={en:"Mauritius",fr:"\xCEle Maurice",es:"Mauricio",it:"Mauritius"},P={en:"Saint Martin",fr:"Saint-Martin",es:"Saint-Martin",it:"Saint Martin"},w={en:"Antigua",fr:"Antigua",es:"Antigua",it:"Antigua"},X={en:"Anguilla",fr:"Anguilla",es:"Anguila",it:"Anguilla"},M={gpgos12767:{destination:L,slug:"/hotels-et-villas/creole-beach-hotel-spa",codeIPlanet:"FRAN414",cmsId:"67c809b5f63deab8a71cf8e9"},gptro12772:{destination:L,slug:"/hotels-et-villas/le-jardin-malanga",codeIPlanet:"FRAN416",cmsId:"67c809b5f63deab8a71cf90d"},gpsai12770:{destination:L,slug:"/hotels-et-villas/la-toubana-hotel-spa",codeIPlanet:"FRAN411",cmsId:"67c809b5f63deab8a71cf8ef"},gpgos12769:{destination:L,slug:"/hotels-et-villas/mahogany-hotel-residence-spa",codeIPlanet:"FRAN423",cmsId:"67c809b5f63deab8a71cf91f"},gpgua27143:{destination:L,slug:"/hotels-et-villas/langley-resort-fort-royal",codeIPlanet:"GPAN32",cmsId:"67c809b5f63deab8a71cf8f0"},mqros18592:{destination:R,slug:"/hotels-et-villas/jungle-bay-dominica",codeIPlanet:"DMAN1",cmsId:"67c809b5f63deab8a71cf8ed"},dmtib00001:{destination:R,slug:"/hotels-et-villas/secret-bay-dominique",codeIPlanet:"DMAN2",cmsId:"67c809b5f63deab8a71cfefd"},agste21689:{destination:T,slug:"/hotels-et-villas/jade-mountain",codeIPlanet:"AGAN6",cmsId:"67c809b5f63deab8a71cf92a"},zzzzz25376:{destination:T,slug:"/hotels-et-villas/windjammer-landing",codeIPlanet:"LCAN4",cmsId:"67c809b5f63deab8a71cf92b"},lcgro30400:{destination:T,slug:"/hotels-et-villas/cap-maison",codeIPlanet:"LCLC8",cmsId:"67c809b5f63deab8a71cf929"},agste21688:{destination:T,slug:"/hotels-et-villas/anse-chastanet",codeIPlanet:"AGAN5",cmsId:"67c809b5f63deab8a71cf928"},mqsai18593:{destination:J,slug:"/hotels-et-villas/plein-soleil",codeIPlanet:"MQAN16",cmsId:"67c809b5f63deab8a71cf925"},zzzzz25378:{destination:S,slug:"/hotels-et-villas/shanti-maurice",codeIPlanet:"MUAN22",cmsId:"67c809b5f63deab8a71cf933"},zzzzz25377:{destination:S,slug:"/hotels-et-villas/lux-le-morne",codeIPlanet:"MUAN21",cmsId:"67c809b5f63deab8a71cf931"},zzzzz25379:{destination:S,slug:"/hotels-et-villas/constance-belle-mare-plage",codeIPlanet:"MUAN20",cmsId:"67c809b5f63deab8a71cf92f"},mupos25678:{destination:S,slug:"/hotels-et-villas/constance-le-prince-maurice",codeIPlanet:"MUAN24",cmsId:"67c809b5f63deab8a71cf930"},zzzzz25380:{destination:S,slug:"/hotels-et-villas/anahita-the-resort",codeIPlanet:"MUAN19",cmsId:"67c809b5f63deab8a71cf92e"},agstm21687:{destination:P,slug:"/hotels-et-villas/la-samanna",codeIPlanet:"FRAN2350",cmsId:"67c809b5f63deab8a71cf926"},frsai31536:{destination:P,slug:"/hotels-et-villas/le-grand-case-beach-club",codeIPlanet:"FRFRA3",cmsId:"67c809b5f63deab8a71cf927"},ageng20433:{destination:w,slug:"/hotels-et-villas/the-inn-at-english-harbour",codeIPlanet:"AGAN4",cmsId:"67c809b5f63deab8a71cf8ec"},agcro20496:{destination:w,slug:"/hotels-et-villas/blue-waters",codeIPlanet:"AGAN1",cmsId:"67c809b5f63deab8a71cf8eb"},gpang25884:{destination:X,slug:"/hotels-et-villas/aurora-anguilla-resort-golf-club",codeIPlanet:"GPAN30",cmsId:"67c809b5f63deab8a71cf8ea"}},$={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},F={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"},z={"DERNI\xC8RE MINUTE":"735fe5e0858671cf3a5c14cbcc2470fe","R\xC9SERVEZ T\xD4T":"c5abb23caf056891f3902ff42ae2f9e0"};var I="https://deshotelsetdesiles.ccordier.workers.dev/v2/",G="https://deshotelsetdesiles.i-planet.fr/dhdi-public/searchform.cgi",O="FR",k="1*q1lzz9*_gcl_au*MTMyMzcyMDY5NC4xNzM5Mjg5MzYx*_ga*NTAxMzI1MzMwLjE3MzkyODkzNjE.*_ga_Q0RXHLR7D4*MTczOTI5NzEzNC4zLjAuMTczOTI5NzE3Mi4yMi4wLjA.";var _=async()=>new Promise(s=>{geoip2.country(e=>{s(e.country.iso_code)},()=>{s(O)})});var v=s=>{let e="?";for(let[t,r]of Object.entries(s))r&&(e+=`${t}=${r}&`);return e};var y=class{async getGroupOffersData(e){let t=I+"groupOffers"+v(e),i=await(await fetch(t)).json();return i.error||!i.data?null:i}async getSingleHotelOffersData(e){let t=I+"offers"+v(e),i=await(await fetch(t)).json();return i.error||!i.data?null:i}async getCMSOffers(){let e=I+"cmsOffers",r=await(await fetch(e)).json();return r.items?r:null}async getCountries(){let e=I+"cmsCountries",r=await(await fetch(e)).json();return r.items?r:null}};var B=()=>{let s=q();if(!s){let e=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(e)}window.Weglot.on("languageChanged",()=>{if(s)window.location.reload();else{let e=window.Weglot.getCurrentLang();localStorage.setItem("wglang",e),window.loadFromServer&&window.loadFromServer()}})},q=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",x=()=>{let s=E();return F[s]},E=()=>{if(!q())return localStorage.getItem("wglang")||"fr";try{let s=window.Weglot.getCurrentLang();if(s)return s}catch(s){return console.error("Error getting language",s),"fr"}return"fr"},ee=()=>!window.location.hostname.includes("webflow.io");function K(s){if(!ee())return`/offers/${s}`;let e=E();return!e||e==="fr"?`/offers/${s}`:`/${e}/offers/${s}`}var Y=()=>{let s={};return Object.entries(M).forEach(([e,t])=>{s[t.cmsId]=e}),s},p=(s,e)=>`${s.toLowerCase().trim()}-${e.toLowerCase().trim()}`,j=(s,e,t)=>{let r=E().toUpperCase(),i=M[e].codeIPlanet.toUpperCase(),a=`${G}?Lang=${r}¤cy=${s.toUpperCase()}&HotelCode=${i}`,o=U("_ga"),n=k,d=U("_gcl_au");return a+=`&_ga=${o}&_gl=${n}&_gcl_au=${d}`,t&&(a=`${a}&HotelPromo=${t}`),a},U=s=>{let e=document.cookie.match(new RegExp("(^| )"+s+"=([^;]+)"));return e?e[2]:null};var Z=(s,e,t,r)=>{let{quotation:i,rate:{distribution:a}}=e,{pricePerNight:o,currency:n,plainBookLink:d}=i,{accessCode:m}=a||{},g="";m&&m.length>0&&([g]=m),te(s,o,n);let h=s.querySelector(f.hotelReserveLink);h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(d,"_blank")});let c=s.querySelector(f.hotelVillaReserveLink);if(c&&c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),window.open(j(n,t,g),"_blank")}),r){let{fieldData:{"discount-percentage":u}}=r,b=s.querySelector(f.discount);b&&u&&(b.innerHTML=`-${u}%`);let C=s.querySelector(f.discountContainer);C&&!u&&(C.style.display="none")}},te=(s,e,t)=>{let r=s.querySelector(f.price);r&&(r.innerHTML=Math.floor(e).toString());let i=s.querySelector(f.currency);i&&(i.innerHTML=$[t])};var A=class{constructor(e,t){this.listInstance=e;this.itemTemplateElement=t;D(this,"loadingSpinner");D(this,"cmsFilterEmptyState");D(this,"offerLookup",{});D(this,"apiClient",new y);D(this,"countryCode");D(this,"availableCountries",{});D(this,"countryCodeFilter",e=>{let{fieldData:t}=e;return!t["supported-countries"]||t["supported-countries"].length===0?!0:t["supported-countries"].map(i=>this.availableCountries[i]).includes(this.countryCode)});this.cmsFilterEmptyState=document.querySelector(f.cmsFilterEmptyState),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.add("hide-empty-state"),e.clearItems(),B(),this.loadingSpinner=document.querySelector(f.loadingSpinner),this.countryCode=O}async getGroupOffers(e){let{clearItems:t=!0,filter:r}=e||{};t&&this.listInstance.clearItems();let i=await this.apiClient.getCMSOffers();if(!i)return;let a=await this.apiClient.getCountries();if(!a)return;a.items.forEach(b=>{this.availableCountries[b.id]=b.fieldData.title?.trim()}),this.countryCode=await _();let o=i.items.filter(r).filter(this.countryCodeFilter),n=this.generateHotelIds(o),d=this.generateHotelIds(o).join(","),m=n.length===1;m&&(d=[d,d].join(","));let{offerMetaData:g}=this.generateOfferData(o),h=x(),c=await this.apiClient.getGroupOffersData({hids:d,locale:h});if(!c||c.error||!c.data){this.hideSpinnerAndShowFilter();return}m&&(c.data=[c.data[0]]);let u=this.getAllOffers(c,g);this.addHotelToCollection(u),this.hideSpinnerAndShowFilter()}async getGroupCategoryOffers(e,t=!1){let r=i=>{let{isArchived:a,isDraft:o,fieldData:n}=i;return a||o?!1:t?(!n.thematiques||n.thematiques.length===0)&&!n.slug.includes("derniere-minute")&&!n.slug.includes("reservez-tot"):n.category===e};await this.getGroupOffers({filter:r})}async getGroupThemeOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:o}=r;return i||a||!o.thematiques?!1:o.thematiques.includes(e)};await this.getGroupOffers({filter:t})}async getGroupOtherThemedOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:o}=r;return i||a||o.slug===e?!1:Array.isArray(o.thematiques)&&o.thematiques.length>0};await this.getGroupOffers({filter:t})}async getGroupSlugOffers(e){let t=r=>{let{isArchived:i,isDraft:a,fieldData:o}=r;return i||a?!1:o.slug===e};await this.getGroupOffers({filter:t})}async getGroupOtherOffers(e,t){let r=i=>{let{isArchived:a,isDraft:o,fieldData:n}=i;return a||o||n.slug===e?!1:t?n.category===t:(!n.thematiques||n.thematiques.length===0)&&!n.slug.includes("derniere-minute")&&!n.slug.includes("reservez-tot")};await this.getGroupOffers({filter:r})}hideSpinnerAndShowFilter(){this.loadingSpinner&&(this.loadingSpinner.style.display="none"),this.cmsFilterEmptyState&&this.cmsFilterEmptyState.classList.remove("hide-empty-state")}generateHotelIds(e){let t=[],r=Y();return e.forEach(i=>{let{fieldData:{"hotel-villa":a}}=i;t.push(r[a])}),Array.from(new Set(t))}getAllOffers(e,t){let r=[];return e.data.forEach(i=>{let{prop:{hid:a},rates:o}=i;o.forEach(n=>{let{name:d,title:m}=n.rate;(t.includes(p(a,d))||t.includes(p(a,m)))&&r.push({...i,rates:[n]})})}),r.sort((i,a)=>{let o=this.offerLookup[p(i.prop.hid,i.rates[0].rate.title)]||this.offerLookup[p(i.prop.hid,i.rates[0].rate.name)],n=this.offerLookup[p(a.prop.hid,a.rates[0].rate.title)]||this.offerLookup[p(a.prop.hid,a.rates[0].rate.name)],d=Number(o.fieldData.order)||0,m=Number(n.fieldData.order)||0;return d-m}),r}generateOfferData(e){let t=[];return e.forEach(r=>{let{fieldData:{"hotel-or-property-api-id":i,"offer-api-name":a}}=r,o=p(i,a);t.push(o),this.offerLookup[o]=r}),{offerMetaData:t}}addHotelToCollection(e){for(let{prop:t,rates:r}of e){let i=r.map(a=>this.createItem(t,a,this.itemTemplateElement));this.listInstance.addItems(i)}}createItem(e,t,r){let{rate:i}=t,{hid:a,title:o,property:n}=e,{image:d,title:m,name:g}=i,h=this.offerLookup[p(a||n,m)]||this.offerLookup[p(a||n,g)],c=r.cloneNode(!0),u=M[a||n];if(!u)return c;let{destination:b,slug:C}=u;this.bindOffersMetaData(c,{destination:b,image:d,hotelName:o,title:m,slug:C}),Z(c,t,a,h);let H=c.querySelector(f.moreDetails);return H&&H.addEventListener("click",()=>{let N=this.getOffersCmsSlug(a,n,g);N&&(window.location.href=K(N))}),c.style.display="flex",c}getOffersCmsSlug(e,t,r){return this.offerLookup[p(e||t,r)]?.fieldData.slug}bindOffersMetaData(e,{destination:t,image:r,hotelName:i,title:a,slug:o,description:n}){let d=e.querySelector(f.destination),m=e.querySelector(f.image),g=e.querySelector(f.hotelName),h=e.querySelector(f.name),c=e.querySelector(f.description),u=e.querySelector(f.hotelLink),b=E();d&&(d.textContent=t[b]),m&&(m.src=r?.url),g&&(g.innerHTML=i),h&&(h.innerHTML=a),c&&n&&(c.innerHTML=n),u&&o&&u.addEventListener("click",()=>{window.location.href=o})}};var W=s=>{let[e]=s,{listInstance:t}=e;if(t.items.length===0)throw new Error("No items found in the list instance - Cannot create an instance of Offers");return se(t)},se=s=>{let[e]=s.items;if(!e)throw new Error("No items found in the list instance");let t=e.element;return new A(s,t)};window.fsAttributes=window.fsAttributes||[];window.loadFromServer=()=>{window.fsAttributes.push(["cmsfilter",async s=>{await W(s).getGroupCategoryOffers(z["R\xC9SERVEZ T\xD4T"])}])};window.loadFromServer();})();
|