hubs-travel-js 0.0.64 → 0.0.66
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{function te(e){let o=document.querySelectorAll(".room-price-data"),t=Array.from(o).map(n=>JSON.parse(n.textContent));return e?t.filter(n=>n.editionSlug===e):t}function z(e,o){return!e||!o?0:Math.floor((o-e)/(1e3*60*60*24*30))}function y(e,o){return new Intl.NumberFormat("de-DE",{style:"currency",currency:o,currencyDisplay:"code"}).format(e)}function L(e,o=null){return isNaN(parseFloat(e))?o:parseFloat(e)}function oe(){document.querySelectorAll("[data-trigger]").forEach(t=>{t.addEventListener("change",()=>o(t)),o(t)});function o(t){let n=t.getAttribute("data-trigger"),s=t.value;document.querySelectorAll(`[data-condition-trigger="${n}"]`).forEach(a=>{let u=a.getAttribute("data-condition-value")===s,l=a.matches("input, select, textarea")?a:a.querySelector("input, select, textarea");a.style.display=u?"block":"none",l&&(l.required=u,u||(l.value=""))})}}function ne(){document.querySelectorAll("[data-custom-dropdown]").forEach(e=>{let o=document.createElement("input");o.type="hidden",o.name=e.dataset.name||"custom-dropdown",o.setAttribute("required",e.dataset.required==="true"||!1),o.value="",e.appendChild(o);let t=e.querySelector(".dropdown-selected-value");e.querySelectorAll(".dropdown-item").forEach(s=>{s.addEventListener("click",c=>{c.preventDefault();let a=s.dataset.value,u=s.cloneNode(!0);u.style.padding=0,t.innerHTML="",t.appendChild(u),o.value=a})})})}function re(e,o,t=30){let n=document.querySelector(e),s=document.querySelector(o),c=new DateRangePicker(n,{format:"dd. MM yyyy"}),a=t;return c.setMinimumDays=u=>{a=u},c.validateDateRange=()=>{let[u,l]=c.getDates();u&&l&&Math.floor((l-u)/864e5)<a?(s.setCustomValidity(`You need to choose a minimum of ${a} days.`),c.setDates(u,new Date(u.getTime()+a*24*60*60*1e3))):s.setCustomValidity(""),s.reportValidity()},n.addEventListener("changeDate",c.validateDateRange),{rangepicker:c,datesInput:n,startDateField:s}}function se(){let e=document.querySelectorAll(".form-step"),o=document.querySelectorAll(".form-wizard-step .form-wizard-step-progress"),t=0;function n(l){e.forEach((r,d)=>{r.style.display=d===l?"block":"none"}),o.forEach((r,d)=>{d<l||d===l?r.classList.add("active"):r.classList.remove("active")})}function s(){let l=e[t].querySelectorAll("input, select, textarea"),r=[];return l.forEach(d=>{let p=d.type==="hidden"||d.offsetParent===null;if(d.required&&(!d.value||d.value.trim()==="")){let S=d.dataset.name||d.name||d.placeholder||"Unnamed field";r.push(`${S} is required.`)}if(!p&&d.value&&!d.checkValidity()){let h=d.name||d.placeholder||"Unnamed field";r.push(`${h} is invalid.`)}}),r}function c(l,r){let d=document.querySelector(l);if(!d)return;d.innerHTML="";let p=document.createElement("ul");r.forEach(h=>{let S=document.createElement("li");S.textContent=h,p.appendChild(S)}),d.appendChild(p)}function a(l){let r=document.querySelector(l);r&&(r.innerHTML="")}document.querySelectorAll(".form-next-step-btn").forEach(l=>{l.addEventListener("click",()=>{if(l.getAttribute("disabled")==="true")return;let r=s(),d=`#error-list-step-${t}`;a(d),r.length==0?(t=Math.min(t+1,e.length-1),t===e.length-1&&u(),n(t)):c(d,r)})});function u(){document.querySelectorAll('[id^="review-"]').forEach(r=>{let d=r.dataset.fieldname;try{let p=document.querySelector(`[name="${d}"]`).value;r.innerText=p}catch{}})}document.querySelectorAll(".form-previous-step-btn").forEach(l=>{l.addEventListener("click",()=>{t=Math.max(t-1,0),n(t)})}),n(t)}function ce(){document.getElementById("close-button").addEventListener("click",function(){let e=document.referrer,o=window.location.hostname,t=null;try{t=e?new URL(e).hostname:null}catch{t=null}window.history.length>1&&t===o?window.history.back():window.location.href="/"})}var f="EUR",_=null;function ue(e){let o=document.querySelectorAll(".edition-data");return Array.from(o).map(n=>JSON.parse(n.textContent)).find(n=>n.editionSlug===e)||null}function me(e){let o=document.querySelectorAll(".destination-data");return Array.from(o).map(n=>JSON.parse(n.textContent)).find(n=>n.destinationSlug===e)||null}document.addEventListener("DOMContentLoaded",function(){ce(),oe(),se(),ne(),_=re("#dates-start-end-group","#Start-Date"),fe(),ye(),he(),pe(),ge()});function pe(){let e=new URLSearchParams(window.location.search),o=e.get("destination"),t=e.get("edition"),n=e.get("room"),s=e.get("guests");o&&J("#destination-dropdown",o,"data-destinationslug");let c=t&&J("#edition-dropdown",t,"data-editionslug");if(n&&J("#room-dropdown",n,"data-roomslug"),s){let a=document.getElementById("Guests");a&&(a.value=s)}if(c){let a=c.dataset.startdate,u=c.dataset.enddate,l=_.rangepicker;l.setOptions({minDate:a,maxDate:u}),l.setDates(a,u)}}function fe(){let e=document.querySelector("#destination-dropdown"),o=document.querySelector("#edition-dropdown"),t=o.querySelector(".dropdown-selected-value"),n=t.innerHTML,s=document.querySelector("#room-dropdown"),c=s.querySelector(".dropdown-selected-value"),a=e.querySelectorAll(".dropdown-item"),u=o.querySelectorAll(".dropdown-item"),l=s.querySelectorAll(".dropdown-item");function r(d,p){t.setAttribute("disabled",d===""?"true":"false"),c.setAttribute("disabled",d===""?"true":"false"),t.innerHTML=n,c.innerHTML=n,f=p,[...u,...l].forEach(h=>{let S=h.dataset.destinationslug===d;h.style.display=S?"flex":"none"})}r("",f),a.forEach(d=>{d.addEventListener("click",function(){r(this.dataset.destinationslug,this.dataset.currency)})})}function J(e,o,t){let n=document.querySelectorAll(`${e} .dropdown-item`),s=n&&Array.from(n).find(c=>c.getAttribute(t)===o);return s&&s.click(),s}function ye(){let o=document.querySelector("#edition-dropdown").querySelectorAll(".dropdown-item"),t=document.querySelector("#dates-start-end-group");function n(s,c){let a=t.rangepicker;a.setOptions({minDate:s,maxDate:c}),a.setDates(s,c)}o.forEach(s=>{s.addEventListener("click",function(){n(this.dataset.startdate,this.dataset.enddate)})})}function he(){document.querySelector("#dates-start-end-group").addEventListener("changeDate",()=>{$(),ie()}),document.querySelector("#room-dropdown").querySelectorAll(".dropdown-item").forEach(a=>{a.addEventListener("click",()=>{$();let u=a.getAttribute("data-allow-weekly-booking"),l=_.rangepicker;l.setMinimumDays(u==="Enabled"?7:30),l.validateDateRange()})}),document.querySelector("#Guests").addEventListener("change",()=>{$()});let s=document.querySelector("#pet-travel-checkbox"),c=document.querySelector("#pet-count-input");s&&s.addEventListener("change",()=>{$()}),c&&(c.addEventListener("input",()=>{$()}),c.addEventListener("change",()=>{$()}))}function ge(){ie(),$()}function ie(){let o=document.querySelector("#dates-start-end-group").rangepicker,t=document.querySelector(".discount-info-blue"),n=document.querySelector(".discount-info-green"),[s,c]=o.getDates(),a=z(s,c);!s||!c||a<=2?(t.style.display="flex",n.style.display="none"):(t.style.display="none",n.style.display="flex")}function $(){let e=document.querySelectorAll(".price-info-card"),t=document.querySelector("#dates-start-end-group").rangepicker,n=document.querySelector("#destination-dropdown .dropdown-selected-value .dropdown-item"),s=document.querySelector("#edition-dropdown .dropdown-selected-value .dropdown-item"),c=document.querySelector("#room-dropdown .dropdown-selected-value .dropdown-item"),a=document.querySelector("#Guests"),u=n?n.dataset.destinationslug:"",l=s?s.dataset.editionslug:"",r=c?c.dataset.roomslug:"",d=c?c.getAttribute("data-allow-weekly-booking")==="Enabled":!1,[p,h]=t.getDates(),S=a?parseInt(a.value):0;if(u&&l&&r&&p&&h&&S>0){let w=me(u),D=document.querySelector("#pet-travel-section");if(D)if(w&&w.allowPets==="true")D.style.display="flex";else{D.style.display="none";let q=document.querySelector("#pet-travel-checkbox"),R=document.querySelector("#pet-count-input");q&&(q.checked=!1),R&&(R.value="1")}let P=te();e.forEach(q=>{q.style.display="flex",Se(q,P,l,r,p,h,S,d)});let I={day:"numeric",month:"short",year:"numeric"},C=p.toLocaleDateString("en-GB",{day:"numeric",month:"short"}).replace(",",""),V=h.toLocaleDateString("en-GB",I).replace(",","");document.querySelectorAll(".total-dates").forEach(q=>q.innerHTML=`${C} - ${V}`)}else{e.forEach(D=>D.style.display="none");let w=document.querySelector("#pet-travel-section");w&&(w.style.display="none")}}function Se(e,o,t,n,s,c,a,u){function l(i){return i===1?"st":i===2?"nd":i===3?"rd":"th"}function r(i,m){i&&(i.style.display=m)}function d(i,m,g){!i||!m||(m.style.pointerEvents=g?"auto":"none",m.style.backgroundColor=g?"var(--_colors---primary)":"var(--_colors---light-silver)",m.style.opacity=g?1:.3,i.setAttribute("disabled",!g))}function p(){q.innerText="No room price found for the selected season or room.",r(C,"none"),r(w,"none"),r(D,"none"),r(I?.parentElement,"none"),r(R,"none"),r(P,"none"),d(B,j,!1),Q.forEach(i=>r(i,"none")),G&&(G.value=0)}function h(){r(C,"block"),r(w,"block"),r(I?.parentElement,"flex"),r(R,"block"),r(P,"block"),d(B,j,!0),Q.forEach(i=>r(i,"block"))}let S=z(s,c),w=e.querySelector(".room-price"),D=e.querySelector(".room-price-discount"),P=e.querySelector(".room-price-month-desc"),I=e.querySelector(".total-guests"),C=e.querySelector(".total-totalprice"),V=C.firstElementChild,q=e.querySelector(".room-price-breakdown"),R=e.querySelector(".total-dates"),B=document.querySelector("#form-next-step-btn-step-1"),j=B?B.querySelector("a"):null,M=o.find(i=>i.editionSlug===t&&i.roomSlug===n),Q=e.querySelectorAll(".price-info-card-title"),G=document.querySelector('[name="Total-Price"]');if(!M){p();return}h();let A=ue(t),H=L(M.basePriceWeek),O=M.basePriceMonth,ae=M.discountMonth2,de=M.discountMonth3,v=0,E=[],T=Math.round((c-s)/(1e3*60*60*24));if(S<1&&u&&H){r(D,"none"),w.innerText=`${y(H,f)}`,P.innerText="per week";let m=H/7*T;E.push({text:`${T} days: ${y(m,f)}`}),v=m;let g=L(M.surcharge2ndPerson,0);if(a===2&&g>0){let k=g/30*T;k>0&&(E.push({text:`2nd person surcharge: ${y(k,f)}`}),v+=k)}}else if(S>=1){let i=T,m=1,g=0,X=0,k=0,Z=L(M.surcharge2ndPerson,0),ee=a===2&&Z>0;for(;i>0;){let x=0;m===1?x=0:m===2?x=ae:m>=3&&(x=de),g=x;let F=i>=30?30:i;X=F;let W=O*(1-x/100)/30*F;if(v+=W,E.push({text:F===30?`Month ${m}: ${y(W,f)}`:`+ ${i} days: ${y(W,f)}`,discount:x,month:m}),ee){let le=Z*(1-x/100)/30*F;k+=le}i-=F,m++}let b=E[E.length-1];if(b&&b.discount!==void 0&&b.discount>0){let x=b.month<=3?`${b.month}${l(b.month)} month`:"from 3rd month";D.innerText=`${b.discount.toFixed(1)}% discount - ${x}`,r(D,"flex"),w.innerText=`${y(O*(1-b.discount/100),f)}`,P.innerText=x}else r(D,"none"),w.innerText=`${y(O,f)}`,P.innerText="1st month";ee&&k>0&&(E.push({text:`2nd person surcharge: ${y(k,f)}`}),v+=k)}let U=0;if(A){if(T>=1&&A.taxFirstMonth){let i=L(A.taxFirstMonth,0);i>0&&(U+=i,E.push({text:`Tax (1st month): ${y(i,f)}`}))}if(T>30&&A.taxSecondMonth){let i=L(A.taxSecondMonth,0);i>0&&(U+=i,E.push({text:`Tax (2nd month): ${y(i,f)}`}))}}v+=U;let N=0,Y=document.querySelector("#pet-travel-checkbox"),K=document.querySelector("#pet-count-input");if(Y&&Y.checked&&K&&A){let i=parseInt(K.value)||0,m=L(A.petPricePerMonth,0);if(i>0&&m>0){let g=T/30;N=m*g*i,N>0&&E.push({text:`Pet${i>1?"s":""} (${i} \xD7 ${g.toFixed(1)} month${g!==1?"s":""}): ${y(N,f)}`})}}v+=N,q.innerHTML=E.map(i=>i.text).join("<br>"),I.innerText=`${a} x Person`,V.innerText=`${y(v,f)}`,G&&(G.value=`${y(v,f)}`)}})();
|
|
1
|
+
(()=>{function oe(e){let o=document.querySelectorAll(".room-price-data"),t=Array.from(o).map(r=>JSON.parse(r.textContent));return e?t.filter(r=>r.editionSlug===e):t}function z(e,o){return!e||!o?0:Math.floor((o-e)/(1e3*60*60*24*30))}function y(e,o){return new Intl.NumberFormat("de-DE",{style:"currency",currency:o,currencyDisplay:"code"}).format(e)}function I(e,o=null){return isNaN(parseFloat(e))?o:parseFloat(e)}function ne(){document.querySelectorAll("[data-trigger]").forEach(t=>{t.addEventListener("change",()=>o(t)),o(t)});function o(t){let r=t.getAttribute("data-trigger"),s=t.value;document.querySelectorAll(`[data-condition-trigger="${r}"]`).forEach(d=>{let u=d.getAttribute("data-condition-value")===s,l=d.matches("input, select, textarea")?d:d.querySelector("input, select, textarea");d.style.display=u?"block":"none",l&&(l.required=u,u||(l.value=""))})}}function re(){document.querySelectorAll("[data-custom-dropdown]").forEach(e=>{let o=document.createElement("input");o.type="hidden",o.name=e.dataset.name||"custom-dropdown",o.setAttribute("required",e.dataset.required==="true"||!1),o.value="",e.appendChild(o);let t=e.querySelector(".dropdown-selected-value");e.querySelectorAll(".dropdown-item").forEach(s=>{s.addEventListener("click",i=>{i.preventDefault();let d=s.dataset.value,u=s.cloneNode(!0);u.style.padding=0,t.innerHTML="",t.appendChild(u),o.value=d})})})}function se(e,o,t=30){let r=document.querySelector(e),s=document.querySelector(o),i=new DateRangePicker(r,{format:"dd. MM yyyy"}),d=t;return i.setMinimumDays=u=>{d=u},i.validateDateRange=()=>{let[u,l]=i.getDates();u&&l&&Math.floor((l-u)/864e5)<d?(s.setCustomValidity(`You need to choose a minimum of ${d} days.`),i.setDates(u,new Date(u.getTime()+d*24*60*60*1e3))):s.setCustomValidity(""),s.reportValidity()},r.addEventListener("changeDate",i.validateDateRange),{rangepicker:i,datesInput:r,startDateField:s}}function ie(){let e=document.querySelectorAll(".form-step"),o=document.querySelectorAll(".form-wizard-step .form-wizard-step-progress"),t=0;function r(l){e.forEach((n,a)=>{n.style.display=a===l?"block":"none"}),o.forEach((n,a)=>{a<l||a===l?n.classList.add("active"):n.classList.remove("active")})}function s(){let l=e[t].querySelectorAll("input, select, textarea"),n=[];return l.forEach(a=>{let p=a.type==="hidden"||a.offsetParent===null;if(a.required&&(!a.value||a.value.trim()==="")){let S=a.dataset.name||a.name||a.placeholder||"Unnamed field";n.push(`${S} is required.`)}if(!p&&a.value&&!a.checkValidity()){let h=a.name||a.placeholder||"Unnamed field";n.push(`${h} is invalid.`)}}),n}function i(l,n){let a=document.querySelector(l);if(!a)return;a.innerHTML="";let p=document.createElement("ul");n.forEach(h=>{let S=document.createElement("li");S.textContent=h,p.appendChild(S)}),a.appendChild(p)}function d(l){let n=document.querySelector(l);n&&(n.innerHTML="")}document.querySelectorAll(".form-next-step-btn").forEach(l=>{l.addEventListener("click",()=>{if(l.getAttribute("disabled")==="true")return;let n=s(),a=`#error-list-step-${t}`;d(a),n.length==0?(t=Math.min(t+1,e.length-1),t===e.length-1&&u(),r(t)):i(a,n)})});function u(){document.querySelectorAll('[id^="review-"]').forEach(n=>{let a=n.dataset.fieldname;try{let p=document.querySelector(`[name="${a}"]`).value;n.innerText=p}catch{}})}document.querySelectorAll(".form-previous-step-btn").forEach(l=>{l.addEventListener("click",()=>{t=Math.max(t-1,0),r(t)})}),r(t)}function ce(){document.getElementById("close-button").addEventListener("click",function(){let e=document.referrer,o=window.location.hostname,t=null;try{t=e?new URL(e).hostname:null}catch{t=null}window.history.length>1&&t===o?window.history.back():window.location.href="/"})}var f="EUR",_=null;function ae(e){let o=document.querySelectorAll(".edition-data");return Array.from(o).map(r=>JSON.parse(r.textContent)).find(r=>r.editionSlug===e)||null}function pe(e){let o=document.querySelectorAll(".destination-data");return Array.from(o).map(r=>JSON.parse(r.textContent)).find(r=>r.destinationSlug===e)||null}document.addEventListener("DOMContentLoaded",function(){ce(),ne(),ie(),re(),_=se("#dates-start-end-group","#Start-Date"),ye(),he(),ge(),fe(),Se()});function fe(){let e=new URLSearchParams(window.location.search),o=e.get("destination"),t=e.get("edition"),r=e.get("room"),s=e.get("guests");o&&J("#destination-dropdown",o,"data-destinationslug");let i=t&&J("#edition-dropdown",t,"data-editionslug");if(r&&J("#room-dropdown",r,"data-roomslug"),s){let d=document.getElementById("Guests");d&&(d.value=s)}if(i){let d=i.dataset.startdate,u=i.dataset.enddate,l=i.dataset.editionslug||"",n=_.rangepicker;n.setOptions({minDate:d,maxDate:u}),n.setDates(d,u),j(l)}}function ye(){let e=document.querySelector("#destination-dropdown"),o=document.querySelector("#edition-dropdown"),t=o.querySelector(".dropdown-selected-value"),r=t.innerHTML,s=document.querySelector("#room-dropdown"),i=s.querySelector(".dropdown-selected-value"),d=e.querySelectorAll(".dropdown-item"),u=o.querySelectorAll(".dropdown-item"),l=s.querySelectorAll(".dropdown-item");function n(a,p){t.setAttribute("disabled",a===""?"true":"false"),i.setAttribute("disabled",a===""?"true":"false"),t.innerHTML=r,i.innerHTML=r,f=p,[...u,...l].forEach(h=>{let S=h.dataset.destinationslug===a;h.style.display=S?"flex":"none"}),j("")}n("",f),d.forEach(a=>{a.addEventListener("click",function(){n(this.dataset.destinationslug,this.dataset.currency)})})}function J(e,o,t){let r=document.querySelectorAll(`${e} .dropdown-item`),s=r&&Array.from(r).find(i=>i.getAttribute(t)===o);return s&&s.click(),s}function he(){let o=document.querySelector("#edition-dropdown").querySelectorAll(".dropdown-item"),t=document.querySelector("#dates-start-end-group");function r(s,i,d){let u=t.rangepicker;u.setOptions({minDate:s,maxDate:i}),u.setDates(s,i),j(d)}o.forEach(s=>{s.addEventListener("click",function(){let i=this.dataset.editionslug||"";r(this.dataset.startdate,this.dataset.enddate,i)})})}function j(e){let o=document.querySelector(".additional-booking-info"),t=document.querySelector(".additional-booking-info-text");if(!o||!t)return;if(!e){o.style.display="none";return}let s=ae(e)?.additionalBookingInfo||"";s&&s.trim()!==""?(t.textContent=s,o.style.display=""):o.style.display="none"}function ge(){document.querySelector("#dates-start-end-group").addEventListener("changeDate",()=>{L(),de()}),document.querySelector("#room-dropdown").querySelectorAll(".dropdown-item").forEach(d=>{d.addEventListener("click",()=>{L();let u=d.getAttribute("data-allow-weekly-booking"),l=_.rangepicker;l.setMinimumDays(u==="Enabled"?7:30),l.validateDateRange()})}),document.querySelector("#Guests").addEventListener("change",()=>{L()});let s=document.querySelector("#pet-travel-checkbox"),i=document.querySelector("#pet-count-input");s&&s.addEventListener("change",()=>{L()}),i&&(i.addEventListener("input",()=>{L()}),i.addEventListener("change",()=>{L()}))}function Se(){de(),L()}function de(){let o=document.querySelector("#dates-start-end-group").rangepicker,t=document.querySelector(".discount-info-blue"),r=document.querySelector(".discount-info-green"),[s,i]=o.getDates(),d=z(s,i);!s||!i||d<=2?(t.style.display="flex",r.style.display="none"):(t.style.display="none",r.style.display="flex")}function L(){let e=document.querySelectorAll(".price-info-card"),t=document.querySelector("#dates-start-end-group").rangepicker,r=document.querySelector("#destination-dropdown .dropdown-selected-value .dropdown-item"),s=document.querySelector("#edition-dropdown .dropdown-selected-value .dropdown-item"),i=document.querySelector("#room-dropdown .dropdown-selected-value .dropdown-item"),d=document.querySelector("#Guests"),u=r?r.dataset.destinationslug:"",l=s?s.dataset.editionslug:"",n=i?i.dataset.roomslug:"",a=i?i.getAttribute("data-allow-weekly-booking")==="Enabled":!1,[p,h]=t.getDates(),S=d?parseInt(d.value):0;if(u&&l&&n&&p&&h&&S>0){let w=pe(u),D=document.querySelector("#pet-travel-section");if(D)if(w&&w.allowPets==="true")D.style.display="flex";else{D.style.display="none";let q=document.querySelector("#pet-travel-checkbox"),R=document.querySelector("#pet-count-input");q&&(q.checked=!1),R&&(R.value="1")}let P=oe();e.forEach(q=>{q.style.display="flex",we(q,P,l,n,p,h,S,a)});let $={day:"numeric",month:"short",year:"numeric"},C=p.toLocaleDateString("en-GB",{day:"numeric",month:"short"}).replace(",",""),V=h.toLocaleDateString("en-GB",$).replace(",","");document.querySelectorAll(".total-dates").forEach(q=>q.innerHTML=`${C} - ${V}`)}else{e.forEach(D=>D.style.display="none");let w=document.querySelector("#pet-travel-section");w&&(w.style.display="none")}}function we(e,o,t,r,s,i,d,u){function l(c){return c===1?"st":c===2?"nd":c===3?"rd":"th"}function n(c,m){c&&(c.style.display=m)}function a(c,m,g){!c||!m||(m.style.pointerEvents=g?"auto":"none",m.style.backgroundColor=g?"var(--_colors---primary)":"var(--_colors---light-silver)",m.style.opacity=g?1:.3,c.setAttribute("disabled",!g))}function p(){q.innerText="No room price found for the selected season or room.",n(C,"none"),n(w,"none"),n(D,"none"),n($?.parentElement,"none"),n(R,"none"),n(P,"none"),a(F,Q,!1),Y.forEach(c=>n(c,"none")),G&&(G.value=0)}function h(){n(C,"block"),n(w,"block"),n($?.parentElement,"flex"),n(R,"block"),n(P,"block"),a(F,Q,!0),Y.forEach(c=>n(c,"block"))}let S=z(s,i),w=e.querySelector(".room-price"),D=e.querySelector(".room-price-discount"),P=e.querySelector(".room-price-month-desc"),$=e.querySelector(".total-guests"),C=e.querySelector(".total-totalprice"),V=C.firstElementChild,q=e.querySelector(".room-price-breakdown"),R=e.querySelector(".total-dates"),F=document.querySelector("#form-next-step-btn-step-1"),Q=F?F.querySelector("a"):null,M=o.find(c=>c.editionSlug===t&&c.roomSlug===r),Y=e.querySelectorAll(".price-info-card-title"),G=document.querySelector('[name="Total-Price"]');if(!M){p();return}h();let A=ae(t),H=I(M.basePriceWeek),O=M.basePriceMonth,le=M.discountMonth2,ue=M.discountMonth3,k=0,x=[],T=Math.round((i-s)/(1e3*60*60*24));if(S<1&&u&&H){n(D,"none"),w.innerText=`${y(H,f)}`,P.innerText="per week";let m=H/7*T;x.push({text:`${T} days: ${y(m,f)}`}),k=m;let g=I(M.surcharge2ndPerson,0);if(d===2&&g>0){let v=g/30*T;v>0&&(x.push({text:`2nd person surcharge: ${y(v,f)}`}),k+=v)}}else if(S>=1){let c=T,m=1,g=0,Z=0,v=0,ee=I(M.surcharge2ndPerson,0),te=d===2&&ee>0;for(;c>0;){let E=0;m===1?E=0:m===2?E=le:m>=3&&(E=ue),g=E;let B=c>=30?30:c;Z=B;let W=O*(1-E/100)/30*B;if(k+=W,x.push({text:B===30?`Month ${m}: ${y(W,f)}`:`+ ${c} days: ${y(W,f)}`,discount:E,month:m}),te){let me=ee*(1-E/100)/30*B;v+=me}c-=B,m++}let b=x[x.length-1];if(b&&b.discount!==void 0&&b.discount>0){let E=b.month<=3?`${b.month}${l(b.month)} month`:"from 3rd month";D.innerText=`${b.discount.toFixed(1)}% discount - ${E}`,n(D,"flex"),w.innerText=`${y(O*(1-b.discount/100),f)}`,P.innerText=E}else n(D,"none"),w.innerText=`${y(O,f)}`,P.innerText="1st month";te&&v>0&&(x.push({text:`2nd person surcharge: ${y(v,f)}`}),k+=v)}let U=0;if(A){if(T>=1&&A.taxFirstMonth){let c=I(A.taxFirstMonth,0);c>0&&(U+=c,x.push({text:`Tax (1st month): ${y(c,f)}`}))}if(T>30&&A.taxSecondMonth){let c=I(A.taxSecondMonth,0);c>0&&(U+=c,x.push({text:`Tax (2nd month): ${y(c,f)}`}))}}k+=U;let N=0,K=document.querySelector("#pet-travel-checkbox"),X=document.querySelector("#pet-count-input");if(K&&K.checked&&X&&A){let c=parseInt(X.value)||0,m=I(A.petPricePerMonth,0);if(c>0&&m>0){let g=T/30;N=m*g*c,N>0&&x.push({text:`Pet${c>1?"s":""} (${c} \xD7 ${g.toFixed(1)} month${g!==1?"s":""}): ${y(N,f)}`})}}k+=N,q.innerHTML=x.map(c=>c.text).join("<br>"),$.innerText=`${d} x Person`,V.innerText=`${y(k,f)}`,G&&(G.value=`${y(k,f)}`)}})();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(()=>{function T(t){let e=document.querySelectorAll(`${t} .destination-testimonials-item`),n=document.querySelectorAll(`${t} .dyn-author-image`);if(!e||e.length===0)return;let o=0;e.forEach(c=>c.style.display="none"),n.forEach(c=>{c.style.display="none",c.classList.remove("active")});function i(c){e.forEach((
|
|
1
|
+
(()=>{function T(t){let e=document.querySelectorAll(`${t} .destination-testimonials-item`),n=document.querySelectorAll(`${t} .dyn-author-image`);if(!e||e.length===0)return;let o=0;e.forEach(c=>c.style.display="none"),n.forEach(c=>{c.style.display="none",c.classList.remove("active")});function i(c){e.forEach((d,l)=>{d.style.display=l===c?"block":"none"}),n.forEach((d,l)=>{d.classList.toggle("active",l===c)}),o=c}let r=[...e];r.forEach((c,d)=>{let l=c.querySelector(".testimonial-card-author-image")?.src,u=document.querySelector(`${t} [data-slot="${d+1}"]`);u&&l&&(u.src=l,u.style.display="inline",d===0&&u.classList.add("active"),u.addEventListener("click",()=>{i(d)}))}),i(0);let s=document.getElementById("destination-testimonials-btn-left"),a=document.getElementById("destination-testimonials-btn-right");s&&s.addEventListener("click",()=>{let c=(o-1+r.length)%r.length;i(c)}),a&&a.addEventListener("click",()=>{let c=(o+1)%r.length;i(c)})}var g=function(){let t={};function e(i,r,s){let a=document.querySelector(i),c=document.querySelector(`${i}.w-dropdown`),d=a.querySelector(`${i} .w-dropdown-toggle`),l=a.querySelector(`${i} .w-dropdown-list`),u=a.querySelector(`${i} .dropdown-selected-value`),E=a.querySelectorAll(`${i} .dropdown-item`);if(t[i]={container:a,dropdown:c,dropdownToggle:d,dropdownList:l,selectedItemValueContainer:u,collectionItems:E,onChange:r},E.forEach(p=>{p.addEventListener("click",function(h){h.preventDefault();let m=this;n(i,m),r&&r(m),l.classList.remove("w--open"),c.blur()})}),s){let p=o(i,s);p&&setTimeout(()=>{p.click()},200)}}function n(i,r){let s=t[i];if(!s)return;let a=s.selectedItemValueContainer;for(;a.firstChild;)a.removeChild(a.firstChild);let c=r;if(c){let d=c.cloneNode(!0);a.appendChild(d);let l=c.getAttribute("data-value");s.dropdown.setAttribute("data-current-value",l)}else console.error("SelectedItem Element not found.",r)}function o(i,r){let s=t[i];return Array.from(s.collectionItems).find(a=>a.getAttribute("data-value")===r)}return{init:function({selector:i,onChange:r,initialValue:s}){document.addEventListener("DOMContentLoaded",function(){e(i,r,s)})},setValue:function(i,r){let s=o(i,r);s?s.click():r!=null&&console.error(`No item with value '${r}' found in dropdown '${i}'`)},getValue:function(i){return t[i].dropdown.getAttribute("data-current-value")}}}();var k=function(){let t=null;function e({selectorId:n,isReverse:o}){if(!document.querySelector(`${n} .swiper-wrapper`))return console.error("Required elements not found"),null;let r=new Swiper(`${n}.swiper`,{spaceBetween:16,loop:!0,slidesPerView:"auto",freeMode:!0,speed:6500,autoplay:{delay:0,disableOnInteraction:!1,reverseDirection:o,pauseOnMouseEnter:!1}});return t=r,r}return{init:function({selectorId:n,isReverse:o}){document.addEventListener("DOMContentLoaded",function(){let i=document.querySelector(`${n} .swiper-wrapper`);i.style.gap="0",i.style.setProperty("transition-timing-function","linear","important"),e({selectorId:n,isReverse:o})})}}}();var D=function(){let t,e,n=null,o=null;function i({onItemClick:s}){let a=document.querySelector(o.swiperWrapper),c=document.querySelectorAll(o.swiperSlides);if(e=document.querySelector(o.prevButton),n=document.querySelector(o.nextButton),!a||!e||!n||!c)return console.error("Required elements not found"),null;let d=new Swiper(o.swiper,{direction:"vertical",slidesPerView:"auto",spaceBetween:8,freeMode:!1,navigation:{nextEl:o.nextButton,prevEl:o.prevButton},watchOverflow:!0});return t=d,r(),d.on("slideChange",function(){r()}),s&&c.forEach(l=>{l.addEventListener("click",u=>s(u.currentTarget))}),d}function r(){!e||!n||(e.style.opacity=t.isBeginning?"0.5":"1",e.style.pointerEvents=t.isBeginning?"none":"auto",n.style.opacity=t.isEnd?"0.5":"1",n.style.pointerEvents=t.isEnd?"none":"auto")}return{init:function({selectors:s,onItemClick:a}){o=s,document.addEventListener("DOMContentLoaded",function(){let c=document.querySelector(o.swiperWrapper);c.style.gap="0",i({onItemClick:a})})}}}();function b(t){let e=document.querySelectorAll(".room-price-data"),n=Array.from(e).map(o=>JSON.parse(o.textContent));return t?n.filter(o=>o.editionSlug===t):n}function f(t,e){return new Intl.NumberFormat("de-DE",{style:"currency",currency:e,currencyDisplay:"code"}).format(t)}function A(t,e=null){return isNaN(parseFloat(t))?e:parseFloat(t)}function S(){let t=CollectionListDropDown.getValue("#workation-season-dropdown"),e=CollectionListDropDown.getValue("#length-stay-dropdown"),n=document.querySelector("#rooms")?.getAttribute("data-currency")??"EUR",o=document.querySelectorAll(".room-list-item"),i=t?b(t):[];o.forEach(r=>{let s=r.getAttribute("data-roomslug"),a=r.getAttribute("data-allow-weekly-booking")==="Enabled",c=i.find(d=>d.roomSlug===s);F(r,c,e,n,a)})}function F(t,e,n,o,i){let r=t.querySelector(".room-item-price-breakdown"),s=t.querySelector(".room-item-price-month"),a=t.querySelector(".room-discount-text"),c=t.querySelector(".room-book-button"),d=t.querySelector(".room-item-price-not-avalable"),l=n&&n.startsWith("week"),u=d.innerText,E="Minimum length of stay for this room is 1 month",p=A(e?.basePriceWeek);if(!e||l&&!i||l&&i&&!p){d.innerText=l&&!i?E:u,d.style.display="flex",r.style.display="none",s.style.display="none",a.parentElement.style.display="none",c.style.opacity="0.5",c.style.pointerEvents="none",c.style.cursor="not-allowed";return}d.style.display="none",s.style.display="block",a.parentElement.style.display="flex",c.style.opacity="1",c.style.pointerEvents="auto",c.style.cursor="pointer";let h=e.basePriceMonth,m=e.discountMonth2,B=e.discountMonth3,q=h*(1-m/100),V=h*(1-B/100),w=p?f(p,o):"N/A",C=f(h,o),U=!n||n.endsWith("-1");switch(r.style.display=U?"none":"inline",n){case"week-1":s.innerText=`${w} / week`,a.innerText="Longer stays unlock better discounts!";break;case"week-2":r.innerText=`1st week: ${w}`,s.innerText=`${w} - 2nd week`,a.innerText="Longer stays unlock better discounts!";break;case"week-3":r.innerHTML=`
|
|
2
2
|
1st week: ${w}<br>
|
|
3
3
|
2nd week: ${w}`,s.innerText=`${w} - 3rd week`,a.innerText="Longer stays unlock better discounts!";break;default:case"month-1":s.innerText=`${C} / month`,a.innerText="Longer stays unlock better discounts!";break;case"month-2":r.innerText=`1st month: ${C}`,s.innerText=`${f(q,o)} - 2nd month`,a.parentElement.style.display=m==0?"none":"block",a.innerText=`${m.toFixed(1)}% discount for the 2nd month!`;break;case"month-3":r.innerHTML=`
|
|
4
4
|
1st month: ${C}<br>
|
|
5
|
-
2nd month: ${f(q,o)}`,s.innerText=`${f(V,o)} - 3rd month`,a.parentElement.style.display=B==0?"none":"block",a.innerText=`${B.toFixed(1)}% discount for the 3rd month!`;break}}function L(t){let e=document.querySelectorAll(".dropdown-discount-2-months"),n=document.querySelectorAll(".dropdown-discount-3-months"),o=b(t),i=o.map(s=>s.discountMonth2),r=o.map(s=>s.discountMonth3);e.forEach(s=>{R(s,i)}),n.forEach(s=>{R(s,r)})}function R(t,e){if(!e||e.length===0){t.style.display="none";return}t.style.display="flex";let n=e.every(i=>i===e[0]),o=Math.max(...e);o==0?t.innerText="":t.innerText=`${o.toFixed(1)}% discount`,n||(t.innerText="Up to "+t.innerText)}function x(){let t=document.querySelectorAll(".room-book-button"),e=document.querySelector("#rooms")?.getAttribute("data-destination-slug");t.forEach(n=>{let o=n.querySelector("a"),i=o.getAttribute("href").split("?")[0],r=n.getAttribute("data-roomslug"),s=CollectionListDropDown.getValue("#workation-season-dropdown"),a=CollectionListDropDown.getValue("#guest-count-dropdown")??1;o.setAttribute("href",`${i}?destination=${encodeURIComponent(e)}&edition=${encodeURIComponent(s)}&room=${encodeURIComponent(r)}&guests=${encodeURIComponent(a)}`)})}function I(){let t=new URLSearchParams(window.location.search).get("edition"),e=document.querySelectorAll("#workation-season-dropdown .dropdown-item"),n=t??(e.length>0?e[0].getAttribute("data-value"):null);CollectionListDropDown.setValue("#workation-season-dropdown",n)}function W(){let t=document.getElementById("map-data").dataset.address;if(!t)return;new google.maps.Geocoder().geocode({address:t},function(n,o){if(o==="OK"){let i=new google.maps.Map(document.getElementById("map"),{zoom:14,center:n[0].geometry.location});new google.maps.Marker({map:i,position:n[0].geometry.location})}else console.error("Geocode failed: "+o)})}function $(){document.querySelectorAll("#upcoming-workations .swiper-slide").forEach(t=>{let e=t.getAttribute("data-booking-state")?.toLowerCase();e==="closed"?(t.style.opacity="0.5",t.style.pointerEvents="none",t.style.cursor="not-allowed"):e==="available soon"&&(t.style.pointerEvents="none",t.style.cursor="default")})}var y=class{constructor(e){this.SELECTORS=e,this.swiperInstance=null,this.prevButton=null,this.nextButton=null}init(){document.addEventListener("DOMContentLoaded",()=>{let e=document.querySelector(this.SELECTORS.swiperWrapper);e&&(e.style.gap="0"),this.initSwiper()})}initSwiper(){let e=document.querySelector(this.SELECTORS.refContainer),n=document.querySelector(this.SELECTORS.swiperWrapper);if(this.prevButton=document.querySelector(this.SELECTORS.prevButton),this.nextButton=document.querySelector(this.SELECTORS.nextButton),!e||!n||!this.prevButton||!this.nextButton)return console.error("Required elements not found"),null;let i=e.getBoundingClientRect().left,r=new Swiper(this.SELECTORS.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:i,slidesOffsetAfter:16,navigation:{nextEl:this.SELECTORS.nextButton,prevEl:this.SELECTORS.prevButton},watchOverflow:!0});return this.swiperInstance=r,this.updateButtonsState(),r.on("slideChange",this.updateButtonsState.bind(this)),window.addEventListener("resize",()=>{let s=e.getBoundingClientRect().left;r&&r.params&&(r.params.slidesOffsetBefore=s,r.update())}),r}updateButtonsState(){if(!this.prevButton||!this.nextButton)return;this.prevButton.style.opacity=this.swiperInstance.isBeginning?"0.5":"1",this.prevButton.style.pointerEvents=this.swiperInstance.isBeginning?"none":"auto";let e=this.swiperInstance.maxTranslate();this.swiperInstance.translate<=e+5?(this.nextButton.style.opacity="0.5",this.nextButton.style.pointerEvents="none"):(this.nextButton.style.opacity="1",this.nextButton.style.pointerEvents="auto")}};var v=class{constructor(e){this.elements=e,this.swiperInstance=null}init(){let{swiper:e,prevButton:n,nextButton:o}=this.elements;this.swiperInstance=new Swiper(e,{slidesPerView:1,spaceBetween:0,nested:!0,wrapperClass:"common-facilities-card-image-wrapper",slideClass:"common-facility-card-image-slide",navigation:{nextEl:o,prevEl:n},watchOverflow:!0}),this.updateButtonsState(),this.swiperInstance.on("slideChange",()=>this.updateButtonsState())}updateButtonsState(){let{prevButton:e,nextButton:n}=this.elements;!e||!n||(e.style.opacity=this.swiperInstance.isBeginning?"0.5":"1",e.style.pointerEvents=this.swiperInstance.isBeginning?"none":"auto",n.style.opacity=this.swiperInstance.isEnd?"0.5":"1",n.style.pointerEvents=this.swiperInstance.isEnd?"none":"auto")}};var M=function(){let t,e,n=null,o=null;function i(){let s=document.querySelector(o.swiperWrapper);if(e=document.querySelector(o.prevButton),n=document.querySelector(o.nextButton),!s||!e||!n)return console.error("Required elements not found"),null;let a=new Swiper(o.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetAfter:16,navigation:{nextEl:o.nextButton,prevEl:o.prevButton},watchOverflow:!0});t=a,r(),a.on("slideChange",function(){r()});function c(){let l=s.getBoundingClientRect().left,
|
|
5
|
+
2nd month: ${f(q,o)}`,s.innerText=`${f(V,o)} - 3rd month`,a.parentElement.style.display=B==0?"none":"block",a.innerText=`${B.toFixed(1)}% discount for the 3rd month!`;break}}function L(t){let e=document.querySelectorAll(".dropdown-discount-2-months"),n=document.querySelectorAll(".dropdown-discount-3-months"),o=b(t),i=o.map(s=>s.discountMonth2),r=o.map(s=>s.discountMonth3);e.forEach(s=>{R(s,i)}),n.forEach(s=>{R(s,r)})}function R(t,e){if(!e||e.length===0){t.style.display="none";return}t.style.display="flex";let n=e.every(i=>i===e[0]),o=Math.max(...e);o==0?t.innerText="":t.innerText=`${o.toFixed(1)}% discount`,n||(t.innerText="Up to "+t.innerText)}function x(){let t=document.querySelectorAll(".room-book-button"),e=document.querySelector("#rooms")?.getAttribute("data-destination-slug");t.forEach(n=>{let o=n.querySelector("a"),i=o.getAttribute("href").split("?")[0],r=n.getAttribute("data-roomslug"),s=CollectionListDropDown.getValue("#workation-season-dropdown"),a=CollectionListDropDown.getValue("#guest-count-dropdown")??1;o.setAttribute("href",`${i}?destination=${encodeURIComponent(e)}&edition=${encodeURIComponent(s)}&room=${encodeURIComponent(r)}&guests=${encodeURIComponent(a)}`)})}function I(){let t=new URLSearchParams(window.location.search).get("edition"),e=document.querySelectorAll("#workation-season-dropdown .dropdown-item"),n=t??(e.length>0?e[0].getAttribute("data-value"):null);CollectionListDropDown.setValue("#workation-season-dropdown",n)}function W(){let t=document.getElementById("map-data").dataset.address;if(!t)return;new google.maps.Geocoder().geocode({address:t},function(n,o){if(o==="OK"){let i=new google.maps.Map(document.getElementById("map"),{zoom:14,center:n[0].geometry.location});new google.maps.Marker({map:i,position:n[0].geometry.location})}else console.error("Geocode failed: "+o)})}function $(){document.querySelectorAll("#upcoming-workations .swiper-slide").forEach(t=>{let e=t.getAttribute("data-booking-state")?.toLowerCase();e==="closed"?(t.style.opacity="0.5",t.style.pointerEvents="none",t.style.cursor="not-allowed"):e==="available soon"&&(t.style.pointerEvents="none",t.style.cursor="default")})}var y=class{constructor(e){this.SELECTORS=e,this.swiperInstance=null,this.prevButton=null,this.nextButton=null}init(){document.addEventListener("DOMContentLoaded",()=>{let e=document.querySelector(this.SELECTORS.swiperWrapper);e&&(e.style.gap="0"),this.initSwiper()})}initSwiper(){let e=document.querySelector(this.SELECTORS.refContainer),n=document.querySelector(this.SELECTORS.swiperWrapper);if(this.prevButton=document.querySelector(this.SELECTORS.prevButton),this.nextButton=document.querySelector(this.SELECTORS.nextButton),!e||!n||!this.prevButton||!this.nextButton)return console.error("Required elements not found"),null;let i=e.getBoundingClientRect().left,r=new Swiper(this.SELECTORS.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:i,slidesOffsetAfter:16,navigation:{nextEl:this.SELECTORS.nextButton,prevEl:this.SELECTORS.prevButton},watchOverflow:!0});return this.swiperInstance=r,this.updateButtonsState(),r.on("slideChange",this.updateButtonsState.bind(this)),window.addEventListener("resize",()=>{let s=e.getBoundingClientRect().left;r&&r.params&&(r.params.slidesOffsetBefore=s,r.update())}),r}updateButtonsState(){if(!this.prevButton||!this.nextButton)return;this.prevButton.style.opacity=this.swiperInstance.isBeginning?"0.5":"1",this.prevButton.style.pointerEvents=this.swiperInstance.isBeginning?"none":"auto";let e=this.swiperInstance.maxTranslate();this.swiperInstance.translate<=e+5?(this.nextButton.style.opacity="0.5",this.nextButton.style.pointerEvents="none"):(this.nextButton.style.opacity="1",this.nextButton.style.pointerEvents="auto")}};var v=class{constructor(e){this.elements=e,this.swiperInstance=null}init(){let{swiper:e,prevButton:n,nextButton:o}=this.elements;this.swiperInstance=new Swiper(e,{slidesPerView:1,spaceBetween:0,nested:!0,wrapperClass:"common-facilities-card-image-wrapper",slideClass:"common-facility-card-image-slide",navigation:{nextEl:o,prevEl:n},watchOverflow:!0}),this.updateButtonsState(),this.swiperInstance.on("slideChange",()=>this.updateButtonsState())}updateButtonsState(){let{prevButton:e,nextButton:n}=this.elements;!e||!n||(e.style.opacity=this.swiperInstance.isBeginning?"0.5":"1",e.style.pointerEvents=this.swiperInstance.isBeginning?"none":"auto",n.style.opacity=this.swiperInstance.isEnd?"0.5":"1",n.style.pointerEvents=this.swiperInstance.isEnd?"none":"auto")}};var M=function(){let t,e,n=null,o=null;function i(){let s=document.querySelector(o.swiperWrapper);if(e=document.querySelector(o.prevButton),n=document.querySelector(o.nextButton),!s||!e||!n)return console.error("Required elements not found"),null;let a=new Swiper(o.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetAfter:16,navigation:{nextEl:o.nextButton,prevEl:o.prevButton},watchOverflow:!0});t=a,r(),a.on("slideChange",function(){r()});function c(){let l=s.getBoundingClientRect().left,u=document.querySelector("#features-cards-section .features-cards-carousel-container");u.style.width=`${window.innerWidth-l}px`,u.style.minWidth=`${window.innerWidth-l}px`,u.style.maxWidth=`${window.innerWidth-l}px`,s.style.width=`${window.innerWidth-l}px`,s.style.minWidth=`${window.innerWidth-l}px`,s.style.maxWidth=`${window.innerWidth-l}px`}return window.addEventListener("resize",c),c(),a}function r(){!e||!n||(e.style.opacity=t.isBeginning?"0.5":"1",e.style.pointerEvents=t.isBeginning?"none":"auto",n.style.opacity=t.isEnd?"0.5":"1",n.style.pointerEvents=t.isEnd?"none":"auto")}return{init:function(s){o=s,document.addEventListener("DOMContentLoaded",function(){let a=document.querySelector(o.swiperWrapper);a.style.gap="0",i()})}}}();function O(){let t=document.querySelectorAll("#destination-cards-section .filter-button"),e=document.querySelectorAll("#destination-cards-section .filter-list-item");t.forEach(o=>{o.addEventListener("click",function(){t.forEach(r=>r.classList.remove("active")),this.classList.add("active");let i=this.getAttribute("data-season");i==="all"?e.forEach(r=>{r.classList.remove("filtered-out")}):e.forEach(r=>{let s=`[data-season-${i}="true"]`;r.querySelector(s)!==null?r.classList.remove("filtered-out"):r.classList.add("filtered-out")})})});let n=document.querySelector('[data-season="all"]');n&&n.click()}function P(){function t(e){let n=document.createElement("a");return n.href="#",n.textContent=e?"Read more":"Read less",n.style.display="inline-block",n.style.color="#0a4915",n.style.fontWeight="600",n}document.querySelectorAll("[data-read-more]").forEach(e=>{let n=parseInt(e.getAttribute("data-read-more"),10);if(isNaN(n)||e.scrollHeight<=n)return;e.style.maxHeight=n+"px",e.style.overflow="hidden",e.dataset.readMoreState="collapsed";let o=t(!0);e.insertAdjacentElement("afterend",o),o.addEventListener("click",function(i){i.preventDefault(),e.dataset.readMoreState==="collapsed"?(e.style.maxHeight=e.scrollHeight+"px",e.dataset.readMoreState="expanded",this.textContent="Read less"):(e.style.maxHeight=n+"px",e.dataset.readMoreState="collapsed",this.textContent="Read more")})})}window.CollectionListDropDown=g;g.init({selector:"#workation-season-dropdown",onChange:t=>{let e=t.getAttribute("data-value");L(e),S(),x()}});g.init({selector:"#length-stay-dropdown",initialValue:"month-3",onChange:()=>S()});g.init({selector:"#guest-count-dropdown",initialValue:"1",onChange:()=>{S(),x()}});k.init({selectorId:"#impressions-cards-slider-1",isReverse:!1});k.init({selectorId:"#impressions-cards-slider-2",isReverse:!0});D.init({selectors:{swiper:"#upcoming-workations .swiper",swiperWrapper:"#upcoming-workations .swiper-wrapper",swiperSlides:"#upcoming-workations .upcoming-workation-card",prevButton:"#upcoming-workations-swiper-prev-btn",nextButton:"#upcoming-workations-swiper-next-btn"},onItemClick:t=>{let e=t.getAttribute("data-edition");window.CollectionListDropDown.setValue("#workation-season-dropdown",e)}});var N=new y({refContainer:"#activity-cards-swiper-ref-container",swiper:"#activity-cards-section .swiper",swiperWrapper:"#activity-cards-section .swiper-wrapper",prevButton:"#activity-cards-swiper-prev-btn",nextButton:"#activity-cards-swiper-next-btn"});N.init();var H=new y({refContainer:"#common-facilities-cards-swiper-ref-container",swiper:".common-facility-card-carousel-wrapper",swiperWrapper:".common-facility-card-wrapper",prevButton:"#common-facilities-cards-swiper-prev-btn",nextButton:"#common-facilities-cards-swiper-next-btn"});H.init();M.init({swiper:"#features-cards-section .swiper",swiperWrapper:"#features-cards-section .swiper-wrapper",prevButton:"#features-cards-btn-left",nextButton:"#features-cards-btn-right"});var z=new y({refContainer:"#destination-cards-swiper-ref-container",swiper:"#destination-cards-section .swiper",swiperWrapper:"#destination-cards-section .swiper-wrapper",prevButton:"#destination-cards-swiper-prev-btn",nextButton:"#destination-cards-swiper-next-btn"});z.init();document.addEventListener("DOMContentLoaded",function(){T("#destination-testimonials-section"),I(),S(),L(),x(),W(),$(),O(),P(),document.querySelectorAll(".common-facility-card-slider-item").forEach(e=>{let n={swiper:e.querySelector(".nested-swiper"),prevButton:e.querySelector(".nested-prev-btn-class a"),nextButton:e.querySelector(".nested-next-btn-class a")};n.swiper&&n.prevButton&&n.nextButton&&new v(n).init()})});})();
|