hubs-travel-js 0.0.46 → 0.0.48

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,6 +1,5 @@
1
- (()=>{var p=(t,e)=>()=>(t&&(e=t(t=0)),e);var ne=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);function A(t){let e=document.querySelectorAll(`${t} .destination-testimonials-item`),n=document.querySelectorAll(`${t} .dyn-author-image`);if(!e||e.length===0){console.error("No testimonials found");return}let i=0;e.forEach(c=>c.style.display="none"),n.forEach(c=>{c.style.display="none",c.classList.remove("active")});function r(c){e.forEach((l,d)=>{l.style.display=d===c?"block":"none"}),n.forEach((l,d)=>{l.classList.toggle("active",d===c)}),i=c}let o=[...e];o.forEach((c,l)=>{let d=c.querySelector(".testimonial-card-author-image")?.src,u=document.querySelector(`${t} [data-slot="${l+1}"]`);u&&d&&(u.src=d,u.style.display="inline",l===0&&u.classList.add("active"),u.addEventListener("click",()=>{r(l)}))}),r(0);let s=document.getElementById("destination-testimonials-btn-left"),a=document.getElementById("destination-testimonials-btn-right");s&&s.addEventListener("click",()=>{let c=(i-1+o.length)%o.length;r(c)}),a&&a.addEventListener("click",()=>{let c=(i+1)%o.length;r(c)})}var T=p(()=>{});var S,R=p(()=>{S=function(){let t={};function e(r,o,s){let a=document.querySelector(r),c=document.querySelector(`${r}.w-dropdown`),l=a.querySelector(`${r} .w-dropdown-toggle`),d=a.querySelector(`${r} .w-dropdown-list`),u=a.querySelector(`${r} .dropdown-selected-value`),f=a.querySelectorAll(`${r} .dropdown-item`);if(t[r]={container:a,dropdown:c,dropdownToggle:l,dropdownList:d,selectedItemValueContainer:u,collectionItems:f,onChange:o},f.forEach(m=>{m.addEventListener("click",function(h){h.preventDefault();let w=this;n(r,w),o&&o(w),d.classList.remove("w--open"),c.blur()})}),s){let m=i(r,s);m&&setTimeout(()=>{m.click()},200)}}function n(r,o){let s=t[r];if(!s)return;let a=s.selectedItemValueContainer;for(;a.firstChild;)a.removeChild(a.firstChild);let c=o;if(c){let l=c.cloneNode(!0);a.appendChild(l);let d=c.getAttribute("data-value");s.dropdown.setAttribute("data-current-value",d)}else console.error("SelectedItem Element not found.",o)}function i(r,o){let s=t[r];return Array.from(s.collectionItems).find(a=>a.getAttribute("data-value")===o)}return{init:function({selector:r,onChange:o,initialValue:s}){document.addEventListener("DOMContentLoaded",function(){e(r,o,s)})},setValue:function(r,o){let s=i(r,o);s?s.click():o!=null&&console.error(`No item with value '${o}' found in dropdown '${r}'`)},getValue:function(r){return t[r].dropdown.getAttribute("data-current-value")}}}()});var b,W=p(()=>{b=function(){let t=null;function e({selectorId:n,isReverse:i}){if(!document.querySelector(`${n} .swiper-wrapper`))return console.error("Required elements not found"),null;let o=new Swiper(`${n}.swiper`,{spaceBetween:16,loop:!0,slidesPerView:"auto",freeMode:!0,speed:6500,autoplay:{delay:0,disableOnInteraction:!1,reverseDirection:i,pauseOnMouseEnter:!1}});return t=o,o}return{init:function({selectorId:n,isReverse:i}){document.addEventListener("DOMContentLoaded",function(){let r=document.querySelector(`${n} .swiper-wrapper`);r.style.gap="0",r.style.setProperty("transition-timing-function","linear","important"),e({selectorId:n,isReverse:i})})}}}()});var D,$=p(()=>{D=function(){let t,e,n=null,i=null;function r({onItemClick:s}){let a=document.querySelector(i.swiperWrapper),c=document.querySelectorAll(i.swiperSlides);if(e=document.querySelector(i.prevButton),n=document.querySelector(i.nextButton),!a||!e||!n||!c)return console.error("Required elements not found"),null;let l=new Swiper(i.swiper,{direction:"vertical",slidesPerView:"auto",spaceBetween:8,freeMode:!1,navigation:{nextEl:i.nextButton,prevEl:i.prevButton},watchOverflow:!0});return t=l,o(),l.on("slideChange",function(){o()}),s&&c.forEach(d=>{d.addEventListener("click",u=>s(u.currentTarget))}),l}function o(){!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}){i=s,document.addEventListener("DOMContentLoaded",function(){let c=document.querySelector(i.swiperWrapper);c.style.gap="0",r({onItemClick:a})})}}}()});function k(t){let e=document.querySelectorAll(".room-price-data"),n=Array.from(e).map(i=>JSON.parse(i.textContent));return t?n.filter(i=>i.editionSlug===t):n}function g(t,e){return new Intl.NumberFormat("de-DE",{style:"currency",currency:e,currencyDisplay:"code"}).format(t)}function I(t,e=null){return isNaN(parseFloat(t))?e:parseFloat(t)}var M=p(()=>{});function E(){let t=CollectionListDropDown.getValue("#workation-season-dropdown"),e=CollectionListDropDown.getValue("#length-stay-dropdown"),n=document.querySelector("#rooms")?.getAttribute("data-currency")??"EUR",i=document.querySelectorAll(".room-list-item"),r=t?k(t):[];i.forEach(o=>{let s=o.getAttribute("data-roomslug"),a=o.getAttribute("data-allow-weekly-booking")==="Enabled",c=r.find(l=>l.roomSlug===s);oe(o,c,e,n,a)})}function oe(t,e,n,i,r){let o=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"),l=t.querySelector(".room-item-price-not-avalable"),d=n&&n.startsWith("week"),u=l.innerText,f="Minimum length of stay for this room is 1 month",m=I(e?.basePriceWeek);if(!e||d&&!r||d&&r&&!m){l.innerText=d&&!r?f:u,l.style.display="flex",o.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}l.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,w=e.discountMonth2,B=e.discountMonth3,q=h*(1-w/100),ee=h*(1-B/100),y=m?g(m,i):"N/A",C=g(h,i),te=!n||n.endsWith("-1");switch(o.style.display=te?"none":"inline",n){case"week-1":s.innerText=`${y} / week`,a.innerText="Longer stays unlock better discounts!";break;case"week-2":o.innerText=`1st week: ${y}`,s.innerText=`${y} - 2nd week`,a.innerText="Longer stays unlock better discounts!";break;case"week-3":o.innerHTML=`
2
- 1st week: ${y}<br>
3
- 2nd week: ${y}`,s.innerText=`${y} - 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":o.innerText=`1st month: ${C}`,s.innerText=`${g(q,i)} - 2nd month`,a.parentElement.style.display=w==0?"none":"block",a.innerText=`${w.toFixed(1)}% discount for the 2nd month!`;break;case"month-3":o.innerHTML=`
4
- 1st month: ${C}<br>
5
- 2nd month: ${g(q,i)}`,s.innerText=`${g(ee,i)} - 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"),i=k(t),r=i.map(s=>s.discountMonth2),o=i.map(s=>s.discountMonth3);e.forEach(s=>{O(s,r)}),n.forEach(s=>{O(s,o)})}function O(t,e){if(!e||e.length===0){t.style.display="none";return}t.style.display="flex";let n=e.every(r=>r===e[0]),i=Math.max(...e);i==0?t.innerText="":t.innerText=`${i.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 i=n.querySelector("a"),r=i.getAttribute("href").split("?")[0],o=n.getAttribute("data-roomslug"),s=CollectionListDropDown.getValue("#workation-season-dropdown"),a=CollectionListDropDown.getValue("#guest-count-dropdown")??1;i.setAttribute("href",`${r}?destination=${encodeURIComponent(e)}&edition=${encodeURIComponent(s)}&room=${encodeURIComponent(o)}&guests=${encodeURIComponent(a)}`)})}function P(){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)}var U=p(()=>{M()});function V(){let t=document.getElementById("map-data").dataset.address;if(!t)return;new google.maps.Geocoder().geocode({address:t},function(n,i){if(i==="OK"){let r=new google.maps.Map(document.getElementById("map"),{zoom:14,center:n[0].geometry.location});new google.maps.Marker({map:r,position:n[0].geometry.location})}else console.error("Geocode failed: "+i)})}var F=p(()=>{});function N(){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 H=p(()=>{});var v,z=p(()=>{v=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.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 r=e.getBoundingClientRect().left,o=new Swiper(this.SELECTORS.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:r,slidesOffsetAfter:16,navigation:{nextEl:this.SELECTORS.nextButton,prevEl:this.SELECTORS.prevButton},watchOverflow:!0});return this.swiperInstance=o,this.updateButtonsState(),o.on("slideChange",this.updateButtonsState.bind(this)),window.addEventListener("resize",()=>{let s=e.getBoundingClientRect().left;o&&o.params&&(o.params.slidesOffsetBefore=s,o.update())}),o}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 G,K=p(()=>{G=function(){let t,e,n=null,i=null;function r(){let s=document.querySelector(i.swiperWrapper);if(e=document.querySelector(i.prevButton),n=document.querySelector(i.nextButton),!s||!e||!n)return console.error("Required elements not found"),null;let a=new Swiper(i.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetAfter:16,navigation:{nextEl:i.nextButton,prevEl:i.prevButton},watchOverflow:!0});t=a,o(),a.on("slideChange",function(){o()});function c(){let d=s.getBoundingClientRect().left,u=document.querySelector("#features-cards-section .features-cards-carousel-container");u.style.width=`${window.innerWidth-d}px`,u.style.minWidth=`${window.innerWidth-d}px`,u.style.maxWidth=`${window.innerWidth-d}px`,s.style.width=`${window.innerWidth-d}px`,s.style.minWidth=`${window.innerWidth-d}px`,s.style.maxWidth=`${window.innerWidth-d}px`}return window.addEventListener("resize",c),c(),a}function o(){!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){i=s,document.addEventListener("DOMContentLoaded",function(){let a=document.querySelector(i.swiperWrapper);a.style.gap="0",r()})}}}()});function J(){document.querySelectorAll("#edition-cards-section .edition-card-item").forEach(e=>{let n=e.querySelectorAll("a"),i=e.getAttribute("data-editionslug"),r=e.getAttribute("data-bookingstate");n.forEach(o=>{if(r=="Available Soon"){o.setAttribute("href","#"),o.style.cursor="auto";let s=o.querySelector(".edition-card-image");s.style.opacity=.4}else if(i){let s=o.getAttribute("href").split("?")[0];o.setAttribute("href",`${s}?edition=${encodeURIComponent(i)}`)}})})}var j,Q=p(()=>{j=function(){let t,e,n=null,i=[],r=null;function o(){let a=document.querySelector(r.refContainer),c=document.querySelector(r.swiperWrapper);if(e=document.querySelector(r.prevButton),n=document.querySelector(r.nextButton),i=Array.from(document.querySelectorAll("#edition-cards-section .swiper .swiper-slide")),!a||!c||!e||!n)return console.error("Required elements not found"),null;let d=a.getBoundingClientRect().left,u=new Swiper(r.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:d,slidesOffsetAfter:16,navigation:{nextEl:r.nextButton,prevEl:r.prevButton},watchOverflow:!0});return t=u,s(),u.on("slideChange",s),window.addEventListener("resize",()=>{let f=a.getBoundingClientRect().left;u&&u.params&&(u.params.slidesOffsetBefore=f,u.update())}),u}function s(){if(!e||!n)return;e.style.opacity=t.isBeginning?"0.5":"1",e.style.pointerEvents=t.isBeginning?"none":"auto";let a=t.maxTranslate();t.translate<=a+5?(n.style.opacity="0.5",n.style.pointerEvents="none"):(n.style.opacity="1",n.style.pointerEvents="auto")}return{init:function(a){r=a,document.addEventListener("DOMContentLoaded",function(){let c=document.querySelector(r.swiperWrapper);c.style.gap="0",o()})},filterSeason(a){if(!t)return;let c=i.filter(l=>a==="all"||a===l.getAttribute("data-season"));t.removeAllSlides(),t.addSlide(0,c),t.slideTo(0,0,!1),s()}}}()});function X(){let t=document.querySelectorAll(".filter-button"),e=document.querySelectorAll(".filter-list-item");t.forEach(i=>{i.addEventListener("click",function(){t.forEach(o=>o.classList.remove("active")),this.classList.add("active");let r=this.getAttribute("data-season");r==="all"?e.forEach(o=>{o.classList.remove("filtered-out")}):e.forEach(o=>{o.getAttribute("data-season")===r?o.classList.remove("filtered-out"):o.classList.add("filtered-out")})})});let n=document.querySelector('[data-season="all"]');n&&n.click()}var Y=p(()=>{});function Z(){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 i=t(!0);e.insertAdjacentElement("afterend",i),i.addEventListener("click",function(r){r.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")})})}var _=p(()=>{});var se=ne(()=>{T();R();W();$();U();F();H();z();K();Q();Y();_();window.CollectionListDropDown=S;S.init({selector:"#workation-season-dropdown",onChange:t=>{let e=t.getAttribute("data-value");L(e),E(),x()}});S.init({selector:"#length-stay-dropdown",initialValue:"month-3",onChange:()=>E()});S.init({selector:"#guest-count-dropdown",initialValue:"1",onChange:()=>{E(),x()}});b.init({selectorId:"#impressions-cards-slider-1",isReverse:!1});b.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 re=new v({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"});re.init();var ie=new v({refContainer:"#common-facilities-cards-swiper-ref-container",swiper:"#common-facilities-cards-section .swiper",swiperWrapper:"#common-facilities-cards-section .swiper-wrapper",prevButton:"#common-facilities-cards-swiper-prev-btn",nextButton:"#common-facilities-cards-swiper-next-btn"});ie.init();G.init({swiper:"#features-cards-section .swiper",swiperWrapper:"#features-cards-section .swiper-wrapper",prevButton:"#features-cards-btn-left",nextButton:"#features-cards-btn-right"});j.init({refContainer:"#edition-cards-swiper-ref-container",swiper:"#edition-cards-section .swiper",swiperWrapper:"#edition-cards-section .swiper-wrapper",prevButton:"#edition-cards-swiper-prev-btn",nextButton:"#edition-cards-swiper-next-btn"});document.addEventListener("DOMContentLoaded",function(){A("#destination-testimonials-section"),P(),E(),L(),x(),V(),N(),J(),X(),Z()})});se();})();
6
- //# sourceMappingURL=bundle-destination.min.js.map
1
+ (()=>{function q(t){let e=document.querySelectorAll(`${t} .destination-testimonials-item`),n=document.querySelectorAll(`${t} .dyn-author-image`);if(!e||e.length===0)return;let i=0;e.forEach(c=>c.style.display="none"),n.forEach(c=>{c.style.display="none",c.classList.remove("active")});function r(c){e.forEach((l,d)=>{l.style.display=d===c?"block":"none"}),n.forEach((l,d)=>{l.classList.toggle("active",d===c)}),i=c}let o=[...e];o.forEach((c,l)=>{let d=c.querySelector(".testimonial-card-author-image")?.src,u=document.querySelector(`${t} [data-slot="${l+1}"]`);u&&d&&(u.src=d,u.style.display="inline",l===0&&u.classList.add("active"),u.addEventListener("click",()=>{r(l)}))}),r(0);let s=document.getElementById("destination-testimonials-btn-left"),a=document.getElementById("destination-testimonials-btn-right");s&&s.addEventListener("click",()=>{let c=(i-1+o.length)%o.length;r(c)}),a&&a.addEventListener("click",()=>{let c=(i+1)%o.length;r(c)})}var h=function(){let t={};function e(r,o,s){let a=document.querySelector(r),c=document.querySelector(`${r}.w-dropdown`),l=a.querySelector(`${r} .w-dropdown-toggle`),d=a.querySelector(`${r} .w-dropdown-list`),u=a.querySelector(`${r} .dropdown-selected-value`),m=a.querySelectorAll(`${r} .dropdown-item`);if(t[r]={container:a,dropdown:c,dropdownToggle:l,dropdownList:d,selectedItemValueContainer:u,collectionItems:m,onChange:o},m.forEach(p=>{p.addEventListener("click",function(g){g.preventDefault();let f=this;n(r,f),o&&o(f),d.classList.remove("w--open"),c.blur()})}),s){let p=i(r,s);p&&setTimeout(()=>{p.click()},200)}}function n(r,o){let s=t[r];if(!s)return;let a=s.selectedItemValueContainer;for(;a.firstChild;)a.removeChild(a.firstChild);let c=o;if(c){let l=c.cloneNode(!0);a.appendChild(l);let d=c.getAttribute("data-value");s.dropdown.setAttribute("data-current-value",d)}else console.error("SelectedItem Element not found.",o)}function i(r,o){let s=t[r];return Array.from(s.collectionItems).find(a=>a.getAttribute("data-value")===o)}return{init:function({selector:r,onChange:o,initialValue:s}){document.addEventListener("DOMContentLoaded",function(){e(r,o,s)})},setValue:function(r,o){let s=i(r,o);s?s.click():o!=null&&console.error(`No item with value '${o}' found in dropdown '${r}'`)},getValue:function(r){return t[r].dropdown.getAttribute("data-current-value")}}}();var C=function(){let t=null;function e({selectorId:n,isReverse:i}){if(!document.querySelector(`${n} .swiper-wrapper`))return console.error("Required elements not found"),null;let o=new Swiper(`${n}.swiper`,{spaceBetween:16,loop:!0,slidesPerView:"auto",freeMode:!0,speed:6500,autoplay:{delay:0,disableOnInteraction:!1,reverseDirection:i,pauseOnMouseEnter:!1}});return t=o,o}return{init:function({selectorId:n,isReverse:i}){document.addEventListener("DOMContentLoaded",function(){let r=document.querySelector(`${n} .swiper-wrapper`);r.style.gap="0",r.style.setProperty("transition-timing-function","linear","important"),e({selectorId:n,isReverse:i})})}}}();var A=function(){let t,e,n=null,i=null;function r({onItemClick:s}){let a=document.querySelector(i.swiperWrapper),c=document.querySelectorAll(i.swiperSlides);if(e=document.querySelector(i.prevButton),n=document.querySelector(i.nextButton),!a||!e||!n||!c)return console.error("Required elements not found"),null;let l=new Swiper(i.swiper,{direction:"vertical",slidesPerView:"auto",spaceBetween:8,freeMode:!1,navigation:{nextEl:i.nextButton,prevEl:i.prevButton},watchOverflow:!0});return t=l,o(),l.on("slideChange",function(){o()}),s&&c.forEach(d=>{d.addEventListener("click",u=>s(u.currentTarget))}),l}function o(){!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}){i=s,document.addEventListener("DOMContentLoaded",function(){let c=document.querySelector(i.swiperWrapper);c.style.gap="0",r({onItemClick:a})})}}}();function b(t){let e=document.querySelectorAll(".room-price-data"),n=Array.from(e).map(i=>JSON.parse(i.textContent));return t?n.filter(i=>i.editionSlug===t):n}function y(t,e){return new Intl.NumberFormat("de-DE",{style:"currency",currency:e,currencyDisplay:"code"}).format(t)}function T(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",i=document.querySelectorAll(".room-list-item"),r=t?b(t):[];i.forEach(o=>{let s=o.getAttribute("data-roomslug"),a=o.getAttribute("data-allow-weekly-booking")==="Enabled",c=r.find(l=>l.roomSlug===s);N(o,c,e,n,a)})}function N(t,e,n,i,r){let o=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"),l=t.querySelector(".room-item-price-not-avalable"),d=n&&n.startsWith("week"),u=l.innerText,m="Minimum length of stay for this room is 1 month",p=T(e?.basePriceWeek);if(!e||d&&!r||d&&r&&!p){l.innerText=d&&!r?m:u,l.style.display="flex",o.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}l.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 g=e.basePriceMonth,f=e.discountMonth2,x=e.discountMonth3,L=g*(1-f/100),V=g*(1-x/100),w=p?y(p,i):"N/A",B=y(g,i),F=!n||n.endsWith("-1");switch(o.style.display=F?"none":"inline",n){case"week-1":s.innerText=`${w} / week`,a.innerText="Longer stays unlock better discounts!";break;case"week-2":o.innerText=`1st week: ${w}`,s.innerText=`${w} - 2nd week`,a.innerText="Longer stays unlock better discounts!";break;case"week-3":o.innerHTML=`
2
+ 1st week: ${w}<br>
3
+ 2nd week: ${w}`,s.innerText=`${w} - 3rd week`,a.innerText="Longer stays unlock better discounts!";break;default:case"month-1":s.innerText=`${B} / month`,a.innerText="Longer stays unlock better discounts!";break;case"month-2":o.innerText=`1st month: ${B}`,s.innerText=`${y(L,i)} - 2nd month`,a.parentElement.style.display=f==0?"none":"block",a.innerText=`${f.toFixed(1)}% discount for the 2nd month!`;break;case"month-3":o.innerHTML=`
4
+ 1st month: ${B}<br>
5
+ 2nd month: ${y(L,i)}`,s.innerText=`${y(V,i)} - 3rd month`,a.parentElement.style.display=x==0?"none":"block",a.innerText=`${x.toFixed(1)}% discount for the 3rd month!`;break}}function k(t){let e=document.querySelectorAll(".dropdown-discount-2-months"),n=document.querySelectorAll(".dropdown-discount-3-months"),i=b(t),r=i.map(s=>s.discountMonth2),o=i.map(s=>s.discountMonth3);e.forEach(s=>{R(s,r)}),n.forEach(s=>{R(s,o)})}function R(t,e){if(!e||e.length===0){t.style.display="none";return}t.style.display="flex";let n=e.every(r=>r===e[0]),i=Math.max(...e);i==0?t.innerText="":t.innerText=`${i.toFixed(1)}% discount`,n||(t.innerText="Up to "+t.innerText)}function v(){let t=document.querySelectorAll(".room-book-button"),e=document.querySelector("#rooms")?.getAttribute("data-destination-slug");t.forEach(n=>{let i=n.querySelector("a"),r=i.getAttribute("href").split("?")[0],o=n.getAttribute("data-roomslug"),s=CollectionListDropDown.getValue("#workation-season-dropdown"),a=CollectionListDropDown.getValue("#guest-count-dropdown")??1;i.setAttribute("href",`${r}?destination=${encodeURIComponent(e)}&edition=${encodeURIComponent(s)}&room=${encodeURIComponent(o)}&guests=${encodeURIComponent(a)}`)})}function W(){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 D(){let t=document.getElementById("map-data").dataset.address;if(!t)return;new google.maps.Geocoder().geocode({address:t},function(n,i){if(i==="OK"){let r=new google.maps.Map(document.getElementById("map"),{zoom:14,center:n[0].geometry.location});new google.maps.Marker({map:r,position:n[0].geometry.location})}else console.error("Geocode failed: "+i)})}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 E=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 r=e.getBoundingClientRect().left,o=new Swiper(this.SELECTORS.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:r,slidesOffsetAfter:16,navigation:{nextEl:this.SELECTORS.nextButton,prevEl:this.SELECTORS.prevButton},watchOverflow:!0});return this.swiperInstance=o,this.updateButtonsState(),o.on("slideChange",this.updateButtonsState.bind(this)),window.addEventListener("resize",()=>{let s=e.getBoundingClientRect().left;o&&o.params&&(o.params.slidesOffsetBefore=s,o.update())}),o}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 I=function(){let t,e,n=null,i=null;function r(){let s=document.querySelector(i.swiperWrapper);if(e=document.querySelector(i.prevButton),n=document.querySelector(i.nextButton),!s||!e||!n)return console.error("Required elements not found"),null;let a=new Swiper(i.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetAfter:16,navigation:{nextEl:i.nextButton,prevEl:i.prevButton},watchOverflow:!0});t=a,o(),a.on("slideChange",function(){o()});function c(){let d=s.getBoundingClientRect().left,u=document.querySelector("#features-cards-section .features-cards-carousel-container");u.style.width=`${window.innerWidth-d}px`,u.style.minWidth=`${window.innerWidth-d}px`,u.style.maxWidth=`${window.innerWidth-d}px`,s.style.width=`${window.innerWidth-d}px`,s.style.minWidth=`${window.innerWidth-d}px`,s.style.maxWidth=`${window.innerWidth-d}px`}return window.addEventListener("resize",c),c(),a}function o(){!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){i=s,document.addEventListener("DOMContentLoaded",function(){let a=document.querySelector(i.swiperWrapper);a.style.gap="0",r()})}}}();var M=function(){let t,e,n=null,i=[],r=null;function o(){let a=document.querySelector(r.refContainer),c=document.querySelector(r.swiperWrapper);if(e=document.querySelector(r.prevButton),n=document.querySelector(r.nextButton),i=Array.from(document.querySelectorAll("#edition-cards-section .swiper .swiper-slide")),!a||!c||!e||!n)return console.error("Required elements not found"),null;let d=a.getBoundingClientRect().left,u=new Swiper(r.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:d,slidesOffsetAfter:16,navigation:{nextEl:r.nextButton,prevEl:r.prevButton},watchOverflow:!0});return t=u,s(),u.on("slideChange",s),window.addEventListener("resize",()=>{let m=a.getBoundingClientRect().left;u&&u.params&&(u.params.slidesOffsetBefore=m,u.update())}),u}function s(){if(!e||!n)return;e.style.opacity=t.isBeginning?"0.5":"1",e.style.pointerEvents=t.isBeginning?"none":"auto";let a=t.maxTranslate();t.translate<=a+5?(n.style.opacity="0.5",n.style.pointerEvents="none"):(n.style.opacity="1",n.style.pointerEvents="auto")}return{init:function(a){r=a,document.addEventListener("DOMContentLoaded",function(){let c=document.querySelector(r.swiperWrapper);c.style.gap="0",o()})},filterSeason(a){if(!t)return;let c=i.filter(l=>a==="all"||a===l.getAttribute("data-season"));t.removeAllSlides(),t.addSlide(0,c),t.slideTo(0,0,!1),s()}}}();function O(){document.querySelectorAll("#edition-cards-section .edition-card-item").forEach(e=>{let n=e.querySelectorAll("a"),i=e.getAttribute("data-editionslug"),r=e.getAttribute("data-bookingstate");n.forEach(o=>{if(r=="Available Soon"){o.setAttribute("href","#"),o.style.cursor="auto";let s=o.querySelector(".edition-card-image");s.style.opacity=.4}else if(i){let s=o.getAttribute("href").split("?")[0];o.setAttribute("href",`${s}?edition=${encodeURIComponent(i)}`)}})})}function P(){let t=document.querySelectorAll(".filter-button"),e=document.querySelectorAll(".filter-list-item");t.forEach(i=>{i.addEventListener("click",function(){t.forEach(o=>o.classList.remove("active")),this.classList.add("active");let r=this.getAttribute("data-season");r==="all"?e.forEach(o=>{o.classList.remove("filtered-out")}):e.forEach(o=>{o.getAttribute("data-season")===r?o.classList.remove("filtered-out"):o.classList.add("filtered-out")})})});let n=document.querySelector('[data-season="all"]');n&&n.click()}function U(){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 i=t(!0);e.insertAdjacentElement("afterend",i),i.addEventListener("click",function(r){r.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=h;h.init({selector:"#workation-season-dropdown",onChange:t=>{let e=t.getAttribute("data-value");k(e),S(),v()}});h.init({selector:"#length-stay-dropdown",initialValue:"month-3",onChange:()=>S()});h.init({selector:"#guest-count-dropdown",initialValue:"1",onChange:()=>{S(),v()}});C.init({selectorId:"#impressions-cards-slider-1",isReverse:!1});C.init({selectorId:"#impressions-cards-slider-2",isReverse:!0});A.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 H=new E({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"});H.init();var z=new E({refContainer:"#common-facilities-cards-swiper-ref-container",swiper:"#common-facilities-cards-section .swiper",swiperWrapper:"#common-facilities-cards-section .swiper-wrapper",prevButton:"#common-facilities-cards-swiper-prev-btn",nextButton:"#common-facilities-cards-swiper-next-btn"});z.init();I.init({swiper:"#features-cards-section .swiper",swiperWrapper:"#features-cards-section .swiper-wrapper",prevButton:"#features-cards-btn-left",nextButton:"#features-cards-btn-right"});M.init({refContainer:"#edition-cards-swiper-ref-container",swiper:"#edition-cards-section .swiper",swiperWrapper:"#edition-cards-section .swiper-wrapper",prevButton:"#edition-cards-swiper-prev-btn",nextButton:"#edition-cards-swiper-next-btn"});document.addEventListener("DOMContentLoaded",function(){q("#destination-testimonials-section"),W(),S(),k(),v(),D(),$(),O(),P(),U()});})();
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../pages/destination/testimonials.js", "../controls/collectionListDropdown.js", "../components/impression-cards-carousel.js", "../components/upcoming-workations-carousel.js", "../utils/commonUtils.js", "../pages/destination/rooms-list.js", "../pages/destination/location-map.js", "../pages/destination/upcoming-workations.js", "../components/simple-cards.js", "../components/feature-slider.js", "../components/upcoming-editions.js", "../components/upcoming-editions-filter.js", "../utils/readMore.js", "../pages/destination/index.js"],
4
4
  "sourcesContent": ["\nexport function initTestimonials (selectorId) {\n const allTestimonials = document.querySelectorAll(`${selectorId} .destination-testimonials-item`);\n const allAuthorSlots = document.querySelectorAll(`${selectorId} .dyn-author-image`);\n \n if (!allTestimonials || allTestimonials.length === 0) {\n \tconsole.error(\"No testimonials found\");\n\t return;\n }\n\n let currentIndex = 0;\n\n // Hide all testimonials initially\n allTestimonials.forEach((el) => el.style.display = \"none\");\n allAuthorSlots.forEach((slot) => {\n slot.style.display = \"none\";\n slot.classList.remove(\"active\");\n });\n\n // Show initial\n function showTestimonial(index) {\n allTestimonials.forEach((el, i) => {\n el.style.display = i === index ? \"block\" : \"none\";\n });\n allAuthorSlots.forEach((slot, i) => {\n slot.classList.toggle(\"active\", i === index);\n });\n currentIndex = index;\n }\n\n // Inject author images into slots\n const authors = [...allTestimonials];\n authors.forEach((testimonial, index) => {\n const imgUrl = testimonial.querySelector('.testimonial-card-author-image')?.src;\n const slot = document.querySelector(`${selectorId} [data-slot=\"${index+1}\"]`);\n //const testimonialSlug = testimonial.dataset.slug;\n\n if (slot && imgUrl) {\n\t slot.src = imgUrl;\n slot.style.display = \"inline\";\n if (index === 0) slot.classList.add(\"active\");\n\n slot.addEventListener('click', () => {\n showTestimonial(index);\n });\n }\n });\n\n // Initial display\n showTestimonial(0);\n\n // Add navigation button logic\n const prevBtn = document.getElementById('destination-testimonials-btn-left');\n const nextBtn = document.getElementById('destination-testimonials-btn-right');\n\n if (prevBtn) {\n prevBtn.addEventListener('click', () => {\n const newIndex = (currentIndex - 1 + authors.length) % authors.length;\n showTestimonial(newIndex);\n });\n }\n\n if (nextBtn) {\n nextBtn.addEventListener('click', () => {\n const newIndex = (currentIndex + 1) % authors.length;\n showTestimonial(newIndex);\n });\n }\n}", "export const CollectionListDropDown = (function () {\n // Store dropdown instances to access them later\n const dropdowns = {};\n \n function initDropDown(selector, onChange, initialValue) {\n const container = document.querySelector(selector);\n const dropdown = document.querySelector(`${selector}.w-dropdown`);\n const dropdownToggle = container.querySelector(`${selector} .w-dropdown-toggle`); \n const dropdownList = container.querySelector(`${selector} .w-dropdown-list`);\n const selectedItemValueContainer = container.querySelector(`${selector} .dropdown-selected-value`);\n const collectionItems = container.querySelectorAll(`${selector} .dropdown-item`);\n \n // Store this dropdown instance data for later access\n dropdowns[selector] = {\n container,\n dropdown,\n dropdownToggle,\n dropdownList,\n selectedItemValueContainer,\n collectionItems,\n onChange\n };\n \n collectionItems.forEach(item => {\n item.addEventListener('click', function(event) {\n event.preventDefault(); // Prevent default link behavior if using Link Blocks\n const selectedOption = this;\n selectDropDownElement(selector, selectedOption);\n \n onChange && onChange(selectedOption);\n // Close the dropdown\n dropdownList.classList.remove('w--open'); // Close the dropdown\n // Move focus away to reset dropdown behavior\n dropdown.blur();\n });\n });\n \n if (initialValue) {\n const item = getElementByItemValue(selector, initialValue);\n if (item) { \n setTimeout(() => {\n item.click(); // Simulate a click on the matching item to activate filter\n }, 200);\n }\n }\n }\n \n function selectDropDownElement(selector, selectedItem) {\n const dropdown = dropdowns[selector];\n if (!dropdown) return;\n \n const selectedItemValueContainer = dropdown.selectedItemValueContainer;\n \n while (selectedItemValueContainer.firstChild) {\n selectedItemValueContainer.removeChild(selectedItemValueContainer.firstChild);\n }\n \n const sourceElement = selectedItem;\n if (sourceElement) {\n const clonedElement = sourceElement.cloneNode(true);\n selectedItemValueContainer.appendChild(clonedElement);\n const currentValue = sourceElement.getAttribute('data-value');\n dropdown.dropdown.setAttribute('data-current-value', currentValue);\n } else {\n console.error(\"SelectedItem Element not found.\", selectedItem);\n }\n }\n \n function getElementByItemValue(selector, value) {\n const dropdown = dropdowns[selector];\n return Array.from(dropdown.collectionItems).find((x) => {\n return x.getAttribute('data-value') === value;\n });\n }\n \n // Public methods\n return {\n init: function({ selector, onChange, initialValue }) {\n document.addEventListener('DOMContentLoaded', function() {\n initDropDown(selector, onChange, initialValue);\n });\n },\n // Add a new public method to change dropdown value from outside\n setValue: function(selector, value) {\n const item = getElementByItemValue(selector, value);\n if (item) {\n item.click(); // Trigger the click event on the item\n } else if (value !== undefined && value !== null) {\n console.error(`No item with value '${value}' found in dropdown '${selector}'`);\n }\n },\n // Get currently selected dropdown value\n getValue: function(selector) {\n const dropdown = dropdowns[selector];\n return dropdown.dropdown.getAttribute('data-current-value');\n }\n };\n})();", "export const ImpressionCardsCarousel = (function () {\n\tlet swiperInstance = null;\n \n function initSwiper({selectorId, isReverse}) {\n const swiperWrapper = document.querySelector(`${selectorId} .swiper-wrapper`);\n\n if (!swiperWrapper) {\n console.error('Required elements not found');\n return null;\n } \n \n // Initialize Swiper\n const swiper = new Swiper(`${selectorId}.swiper`, {\n spaceBetween: 16,\n loop: true,\n slidesPerView: \"auto\",\n freeMode: true,\n speed: 6500,\n autoplay: {\n delay: 0,\n disableOnInteraction: false,\n reverseDirection: isReverse,\n pauseOnMouseEnter: false\n },\n });\n\n\t\tswiperInstance = swiper;\n\n\t\treturn swiper;\n }\n\n // Public methods\n return {\n init: function({selectorId, isReverse}) {\n document.addEventListener('DOMContentLoaded', function() {\n \tconst swiperWrapper = document.querySelector(`${selectorId} .swiper-wrapper`);\n swiperWrapper.style.gap = '0';\n swiperWrapper.style.setProperty(\"transition-timing-function\", \"linear\", \"important\");\n \t\n // Initialize swiper\n initSwiper({selectorId, isReverse});\n });\n }\n };\n})();", "\nexport const UpcomingWorkationsCarousel = (function () {\n\tlet swiperInstance, prevButton, nextButton = null;\n let SELECTORS = null; // Declare SELECTORS as null initially\n\n function initSwiper({onItemClick}) {\n const swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n const swiperSlides = document.querySelectorAll(SELECTORS.swiperSlides);\n\n prevButton = document.querySelector(SELECTORS.prevButton);\n nextButton = document.querySelector(SELECTORS.nextButton);\n\n if (!swiperWrapper || !prevButton || !nextButton || !swiperSlides) {\n console.error('Required elements not found');\n return null;\n } \n\n // Initialize Swiper\n const swiper = new Swiper(SELECTORS.swiper, {\n direction: \"vertical\",\n slidesPerView: \"auto\",\n spaceBetween: 8,\n freeMode: false,\n navigation: {\n nextEl: SELECTORS.nextButton,\n prevEl: SELECTORS.prevButton,\n },\n watchOverflow: true,\n });\n\n\t\tswiperInstance = swiper;\n\n // Set initial state of buttons\n updateButtonsState();\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', function () {\n updateButtonsState();\n });\n \n if (onItemClick) {\n swiperSlides.forEach(slide => {\n slide.addEventListener('click', (e) => onItemClick(e.currentTarget));\n });\n }\n\n return swiper;\n }\n\n // Function to update button states\n function updateButtonsState() {\n \tif (!prevButton || !nextButton) return;\n \n prevButton.style.opacity = swiperInstance.isBeginning ? '0.5' : '1';\n prevButton.style.pointerEvents = swiperInstance.isBeginning ? 'none' : 'auto'; \n\n\t\tnextButton.style.opacity = swiperInstance.isEnd ? '0.5' : '1';\n nextButton.style.pointerEvents = swiperInstance.isEnd ? 'none' : 'auto';\n }\n\n // Public methods\n return {\n init: function({selectors, onItemClick}) {\n SELECTORS = selectors;\n document.addEventListener('DOMContentLoaded', function() {\n \tconst swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n swiperWrapper.style.gap = '0';\n \t\n // Initialize swiper\n initSwiper({onItemClick});\n });\n }\n };\n})();", "\n// Get all room price data - this is done by a collection list element creating:\n// < script type=\"application/json\" class=\"room-price-data\"> \n// {\n// \"roomSlug\": \"\",\n// \"editionSlug\": \"\",\n// \"basePriceWeek\": ,\n// \"basePriceMonth\": ,\n// \"discountMonth2\": ,\n// \"discountMonth3\":\n// }\n// </ script > \nexport function getAllRoomPrices(editionSlugFilter) {\n const priceElements = document.querySelectorAll('.room-price-data');\n const roomPrices = Array.from(priceElements).map(x => JSON.parse(x.textContent));\n if (!editionSlugFilter) {\n \treturn roomPrices;\n }\n return roomPrices.filter((x) => x.editionSlug === editionSlugFilter)\n}\n\n// calculate month difference while 1 month is always 30 days\nexport function getMonthDifference(startDate, endDate) {\n if (!startDate || !endDate) return 0;\n return Math.floor((endDate - startDate) / (1000 * 60 * 60 * 24 * 30)); \n}\n\nexport function formatPrice(price, currency) {\n\t// That\u2019s the locale for German, which uses the formatting style we\u2019re after. \n // We could also use 'fr-FR', 'it-IT', etc. \u2014 most European locales format this way.\n return new Intl.NumberFormat('de-DE', {\n style: 'currency',\n \tcurrency,\n currencyDisplay: 'code'\n }).format(price);\n}\n\nexport function parseDecimalFromString(price, defaultValue = null) {\n return !isNaN(parseFloat(price))\n ? parseFloat(price)\n : defaultValue; \n}\n", "import { getAllRoomPrices, formatPrice, parseDecimalFromString } from \"../../utils/commonUtils\"\n\n// Updates all room prices in the list based on selected values on the dropdowns\nexport function updateRoomPrices() {\n\tconst editionSlug = CollectionListDropDown.getValue(\"#workation-season-dropdown\");\n const lengthOfStay = CollectionListDropDown.getValue(\"#length-stay-dropdown\");\n //const guestCount = parseInt(CollectionListDropDown.getValue(\"#guest-count-dropdown\"));\n const currency = document.querySelector(\"#rooms\")?.getAttribute(\"data-currency\") ?? \"EUR\";\n\n // Get all room items\n const allRooms = document.querySelectorAll('.room-list-item');\n \n const roomEditionPrices = editionSlug ? getAllRoomPrices(editionSlug) : []; //if no edition selected, we still want to loop and hide prices\n allRooms.forEach((room) => {\n const roomSlug = room.getAttribute('data-roomslug');\n const allowWeeklyBooking = room.getAttribute('data-allow-weekly-booking') === \"Enabled\";\n const roomEditionPrice = roomEditionPrices.find((x) => x.roomSlug === roomSlug);\n updateRoomPrice(room, roomEditionPrice, lengthOfStay, currency, allowWeeklyBooking);\n });\n}\n\n// Updates the price of one room\nfunction updateRoomPrice(room, roomEditionPrice, lengthOfStay, currency, allowWeeklyBooking) {\n const priceBreakdownElem = room.querySelector('.room-item-price-breakdown');\n const priceMonthElem = room.querySelector('.room-item-price-month');\n const roomDiscountElem = room.querySelector('.room-discount-text');\n const roomBookButton = room.querySelector('.room-book-button');\n const noPriceAvailable = room.querySelector('.room-item-price-not-avalable');\n const isWeekBooking = lengthOfStay && lengthOfStay.startsWith(\"week\");\n\n const noPriceAvailableText = noPriceAvailable.innerText;\n const weeklyBookingText = \"Minimum length of stay for this room is 1 month\";\n\n const basePriceWeek = parseDecimalFromString(roomEditionPrice?.basePriceWeek);\n\n // if there is no price set for the room, hide all prices and booking button\n if (!roomEditionPrice || (isWeekBooking && !allowWeeklyBooking) || (isWeekBooking && allowWeeklyBooking && !basePriceWeek)) {\n noPriceAvailable.innerText = (isWeekBooking && !allowWeeklyBooking) ? weeklyBookingText : noPriceAvailableText;\n\t noPriceAvailable.style.display = 'flex';\n priceBreakdownElem.style.display = 'none';\n priceMonthElem.style.display = 'none';\n roomDiscountElem.parentElement.style.display = 'none';\n roomBookButton.style.opacity = \"0.5\";\n roomBookButton.style.pointerEvents = \"none\";\n roomBookButton.style.cursor = \"not-allowed\";\n return;\n }\n \n // reset all elements in case they were hidden before\n noPriceAvailable.style.display = 'none';\n priceMonthElem.style.display = 'block';\n roomDiscountElem.parentElement.style.display = 'flex';\n roomBookButton.style.opacity = \"1\";\n roomBookButton.style.pointerEvents = \"auto\";\n roomBookButton.style.cursor = \"pointer\";\n \n const basePriceMonth = roomEditionPrice.basePriceMonth;\n\n const discount2months = roomEditionPrice.discountMonth2;\n const discount3months = roomEditionPrice.discountMonth3;\n const price2Month = basePriceMonth * (1 - discount2months / 100);\n const price3Month = basePriceMonth * (1 - discount3months / 100);\n\n const weeklyPriceFormatted = basePriceWeek ? formatPrice(basePriceWeek, currency) : \"N/A\";\n const basePriceFormatted = formatPrice(basePriceMonth, currency);\n\n // Hide price breakdown if guest stays only 1 month or 1 week (or no length is selected), else show it\n const hidePriceBreakdown = !lengthOfStay || lengthOfStay.endsWith(\"-1\");\n priceBreakdownElem.style.display = hidePriceBreakdown ? 'none' : 'inline';\n\n switch (lengthOfStay) {\n case 'week-1':\n priceMonthElem.innerText = `${weeklyPriceFormatted} / week`;\n roomDiscountElem.innerText = `Longer stays unlock better discounts!`;\n break;\n \n case 'week-2':\n priceBreakdownElem.innerText = `1st week: ${weeklyPriceFormatted}`;\n priceMonthElem.innerText = `${weeklyPriceFormatted} - 2nd week`;\n roomDiscountElem.innerText = `Longer stays unlock better discounts!`;\n break;\n \n case 'week-3':\n priceBreakdownElem.innerHTML = `\n \t1st week: ${weeklyPriceFormatted}<br>\n 2nd week: ${weeklyPriceFormatted}`;\n priceMonthElem.innerText = `${weeklyPriceFormatted} - 3rd week`;\n roomDiscountElem.innerText = `Longer stays unlock better discounts!`;\n break;\n\n default:\n case 'month-1':\n priceMonthElem.innerText = `${basePriceFormatted} / month`;\n roomDiscountElem.innerText = `Longer stays unlock better discounts!`;\n break;\n\n case 'month-2':\n priceBreakdownElem.innerText = `1st month: ${basePriceFormatted}`;\n priceMonthElem.innerText = `${formatPrice(price2Month, currency)} - 2nd month`;\n roomDiscountElem.parentElement.style.display = (discount2months == 0) ? \"none\": \"block\";\n roomDiscountElem.innerText = `${discount2months.toFixed(1)}% discount for the 2nd month!`;\n break;\n\n case 'month-3':\n priceBreakdownElem.innerHTML = `\n \t1st month: ${basePriceFormatted}<br>\n 2nd month: ${formatPrice(price2Month, currency)}`;\n priceMonthElem.innerText = `${formatPrice(price3Month, currency)} - 3rd month`;\n \n roomDiscountElem.parentElement.style.display = (discount3months == 0) ? \"none\": \"block\";\n roomDiscountElem.innerText = `${discount3months.toFixed(1)}% discount for the 3rd month!`;\n break;\n }\n}\n\n// updates the discount elements in the length of stay dropdown\nexport function updateLengthOfStayDropdownDiscounts(editionSlug) {\n const months2discountElems = document.querySelectorAll('.dropdown-discount-2-months');\n const months3discountElems = document.querySelectorAll('.dropdown-discount-3-months');\n \n const roomEditionPrices = getAllRoomPrices(editionSlug);\n const discounts2months = roomEditionPrices.map((x) => x.discountMonth2);\n const discounts3months = roomEditionPrices.map((x) => x.discountMonth3);\n \n //need to be forEach because if an item is selected there are 2 (selected one and in dropdown)\n months2discountElems.forEach((elem) => {\n \tupdateLengthOfStayDropdownDiscount(elem, discounts2months);\n });\n months3discountElems.forEach((elem) => {\n \tupdateLengthOfStayDropdownDiscount(elem, discounts3months);\n });\n}\n\n// updates a single discount element in the length of stay dropdown\nfunction updateLengthOfStayDropdownDiscount(elem, discounts) {\n\tif (!discounts || discounts.length === 0) {\n \telem.style.display = 'none';\n return;\n }\n elem.style.display = 'flex'; // reset previous hide\n\n const allEqual = discounts.every(val => val === discounts[0]);\n const highestDiscount = Math.max(...discounts);\n if (highestDiscount == 0) {\n \telem.innerText = ``;\n } else {\n \telem.innerText = `${highestDiscount.toFixed(1)}% discount`;\n }\n if (!allEqual) {\n elem.innerText = 'Up to ' + elem.innerText;\n }\n}\n\n// loop through all rooms and update the booking URLs accoring to the filter values\nexport function updateAllRoomBookingButtonsUrls() {\n\tconst allBookingButtons = document.querySelectorAll(\".room-book-button\");\n const destinationSlug = document.querySelector(\"#rooms\")?.getAttribute(\"data-destination-slug\");\n \n allBookingButtons.forEach((bookingButton) => {\n \tconst bookingLinkElem = bookingButton.querySelector(\"a\");\n const baseUrl = bookingLinkElem.getAttribute(\"href\").split(\"?\")[0]; // Remove existing query params\n\n\t\tconst roomSlug = bookingButton.getAttribute(\"data-roomslug\");\n const editionSlug = CollectionListDropDown.getValue(\"#workation-season-dropdown\");\n\t const guestsCount = CollectionListDropDown.getValue(\"#guest-count-dropdown\") ?? 1;\n\n // Update the link's href with the new query parameters\n bookingLinkElem.setAttribute(\"href\", `${baseUrl}` +\n \t`?destination=${encodeURIComponent(destinationSlug)}` +\n \t`&edition=${encodeURIComponent(editionSlug)}` +\n `&room=${encodeURIComponent(roomSlug)}` +\n `&guests=${encodeURIComponent(guestsCount)}`);\n });\n}\n\n// set initial value of the workation season dropdown\nexport function setInitialWorkationSeasonDropdownItem() {\n\tconst editionSlugQueryParam = new URLSearchParams(window.location.search).get(\"edition\");\n\tconst workationSeasonItems = document.querySelectorAll(\"#workation-season-dropdown .dropdown-item\");\n\tconst workationInitialValue = editionSlugQueryParam ?? (workationSeasonItems.length > 0 ? workationSeasonItems[0].getAttribute('data-value') : null);\n\tCollectionListDropDown.setValue(\"#workation-season-dropdown\", workationInitialValue);\n}\n", "export function initLocationMap () {\n const address = document.getElementById(\"map-data\").dataset.address;\n if (!address) return;\n\n // Geocode the address to get coordinates\n const geocoder = new google.maps.Geocoder();\n\n geocoder.geocode({ address: address }, function (results, status) {\n if (status === \"OK\") {\n const map = new google.maps.Map(document.getElementById(\"map\"), {\n zoom: 14,\n center: results[0].geometry.location,\n });\n\n new google.maps.Marker({\n map: map,\n position: results[0].geometry.location,\n });\n } else {\n console.error(\"Geocode failed: \" + status);\n }\n });\n}", "export function initUpcomingWorkations() {\n //reducing opacity for all CLOSED booking states \n document.querySelectorAll(\"#upcoming-workations .swiper-slide\").forEach(item => {\n let bookingState = item.getAttribute(\"data-booking-state\")?.toLowerCase();\n if (bookingState === \"closed\") {\n item.style.opacity = \"0.5\";\n item.style.pointerEvents = \"none\";\n\t\t\titem.style.cursor = \"not-allowed\";\n } else if (bookingState === \"available soon\") {\n item.style.pointerEvents = \"none\";\n item.style.cursor = \"default\";\n }\n });\n}\n", "export class SimpleCardsCarousel {\n constructor(selectors) {\n this.SELECTORS = selectors;\n this.swiperInstance = null;\n this.prevButton = null;\n this.nextButton = null;\n }\n\n init() {\n document.addEventListener('DOMContentLoaded', () => {\n const swiperWrapper = document.querySelector(this.SELECTORS.swiperWrapper);\n swiperWrapper.style.gap = '0';\n this.initSwiper();\n });\n }\n\n initSwiper() {\n const refContainer = document.querySelector(this.SELECTORS.refContainer);\n const swiperWrapper = document.querySelector(this.SELECTORS.swiperWrapper);\n this.prevButton = document.querySelector(this.SELECTORS.prevButton);\n this.nextButton = document.querySelector(this.SELECTORS.nextButton);\n\n if (!refContainer || !swiperWrapper || !this.prevButton || !this.nextButton) {\n console.error('Required elements not found');\n return null;\n }\n\n const refRect = refContainer.getBoundingClientRect();\n const offsetBefore = refRect.left;\n\n // Initialize Swiper\n const swiper = new Swiper(this.SELECTORS.swiper, {\n slidesPerView: 'auto',\n spaceBetween: 16,\n freeMode: false,\n slidesOffsetBefore: offsetBefore,\n slidesOffsetAfter: 16,\n navigation: {\n nextEl: this.SELECTORS.nextButton,\n prevEl: this.SELECTORS.prevButton,\n },\n watchOverflow: true,\n });\n\n this.swiperInstance = swiper;\n\n // Set initial state of buttons\n this.updateButtonsState();\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', this.updateButtonsState.bind(this));\n\n // Add resize event listener separately\n window.addEventListener('resize', () => {\n const newOffsetBefore = refContainer.getBoundingClientRect().left;\n if (swiper && swiper.params) {\n swiper.params.slidesOffsetBefore = newOffsetBefore;\n swiper.update();\n }\n });\n\n return swiper;\n }\n\n updateButtonsState() {\n if (!this.prevButton || !this.nextButton) return;\n\n this.prevButton.style.opacity = this.swiperInstance.isBeginning ? '0.5' : '1';\n this.prevButton.style.pointerEvents = this.swiperInstance.isBeginning ? 'none' : 'auto';\n\n // Get Swiper's max translate position\n const maxTranslate = this.swiperInstance.maxTranslate();\n const currentTranslate = this.swiperInstance.translate;\n\n if (currentTranslate <= maxTranslate + 5) {\n this.nextButton.style.opacity = '0.5';\n this.nextButton.style.pointerEvents = 'none';\n } else {\n this.nextButton.style.opacity = '1';\n this.nextButton.style.pointerEvents = 'auto';\n }\n }\n}", "export const FeaturesCardsCarousel = (function () {\n let swiperInstance, prevButton, nextButton = null;\n let SELECTORS = null;\n\n function initSwiper() {\n const swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n prevButton = document.querySelector(SELECTORS.prevButton);\n nextButton = document.querySelector(SELECTORS.nextButton);\n\n if (!swiperWrapper || !prevButton || !nextButton) {\n console.error('Required elements not found');\n return null;\n } \n\n // Initialize Swiper\n const swiper = new Swiper(SELECTORS.swiper, {\n slidesPerView: \"auto\",\n spaceBetween: 16,\n freeMode: false,\n slidesOffsetAfter: 16,\n navigation: {\n nextEl: SELECTORS.nextButton,\n prevEl: SELECTORS.prevButton,\n },\n watchOverflow: true,\n });\n\n\t\tswiperInstance = swiper;\n\n // Set initial state of buttons\n updateButtonsState();\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', function () {\n updateButtonsState();\n });\n \n \n function setWrapperWidth() {\n const wrapperRect = swiperWrapper.getBoundingClientRect();\n \tconst wrapperBefore = wrapperRect.left;\n const carouselContainer = document.querySelector('#features-cards-section .features-cards-carousel-container')\n \n carouselContainer.style.width = `${window.innerWidth - wrapperBefore}px`;\n carouselContainer.style.minWidth = `${window.innerWidth - wrapperBefore}px`;\n carouselContainer.style.maxWidth = `${window.innerWidth - wrapperBefore}px`;\n\n swiperWrapper.style.width = `${window.innerWidth - wrapperBefore}px`;\n swiperWrapper.style.minWidth = `${window.innerWidth - wrapperBefore}px`;\n swiperWrapper.style.maxWidth = `${window.innerWidth - wrapperBefore}px`;\n }\n\n window.addEventListener('resize', setWrapperWidth);\n setWrapperWidth(); \n \n // Add resize event listener separately\n //window.addEventListener('resize', () => {\n // const newOffsetBefore = refContainer.getBoundingClientRect().left;\n // Check if Swiper instance exists and has a method to update params\n // if (swiper && swiper.params) {\n // swiper.params.slidesOffsetBefore = newOffsetBefore;\n // swiper.update(); // Refresh Swiper\n // }\n //});\n\n return swiper;\n }\n\n // Function to update button states\n function updateButtonsState() {\n \tif (!prevButton || !nextButton) return;\n \n prevButton.style.opacity = swiperInstance.isBeginning ? '0.5' : '1';\n prevButton.style.pointerEvents = swiperInstance.isBeginning ? 'none' : 'auto'; \n\n\t\tnextButton.style.opacity = swiperInstance.isEnd ? '0.5' : '1';\n nextButton.style.pointerEvents = swiperInstance.isEnd ? 'none' : 'auto';\n }\n\n // Public methods\n return {\n init: function(selectors) {\n SELECTORS = selectors;\n \tdocument.addEventListener('DOMContentLoaded', function() {\n\t\t\t\tconst swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n swiperWrapper.style.gap = '0';\n \n // Initialize swiper\n initSwiper();\n\t\t\t});\n }\n };\n})();\n", "export const EditionCardsCarousel = (function () {\n let swiperInstance, prevButton, nextButton = null;\n let allSlides = []; // we need to store them for filtering \n let SELECTORS = null; \n\n function initSwiper() {\n const refContainer = document.querySelector(SELECTORS.refContainer); \n const swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n prevButton = document.querySelector(SELECTORS.prevButton);\n nextButton = document.querySelector(SELECTORS.nextButton);\n allSlides = Array.from(document.querySelectorAll('#edition-cards-section .swiper .swiper-slide'));\n\n if (!refContainer || !swiperWrapper || !prevButton || !nextButton) {\n console.error('Required elements not found');\n return null;\n } \n \n\t\tconst refRect = refContainer.getBoundingClientRect();\n \tconst offsetBefore = refRect.left;\n\n // Initialize Swiper\n const swiper = new Swiper(SELECTORS.swiper, {\n slidesPerView: \"auto\",\n spaceBetween: 16,\n freeMode: false,\n slidesOffsetBefore: offsetBefore,\n slidesOffsetAfter: 16,\n navigation: {\n nextEl: SELECTORS.nextButton,\n \tprevEl: SELECTORS.prevButton,\n },\n watchOverflow: true,\n });\n\n\t swiperInstance = swiper;\n\n // Set initial state of buttons\n updateButtonsState();\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', updateButtonsState);\n \n // Add resize event listener separately\n window.addEventListener('resize', () => {\n const newOffsetBefore = refContainer.getBoundingClientRect().left;\n\n // Check if Swiper instance exists and has a method to update params\n if (swiper && swiper.params) {\n swiper.params.slidesOffsetBefore = newOffsetBefore;\n swiper.update(); // Refresh Swiper\n }\n });\n\n return swiper;\n }\n\n // Function to update button states\n function updateButtonsState() {\n \tif (!prevButton || !nextButton) return;\n \n prevButton.style.opacity = swiperInstance.isBeginning ? '0.5' : '1';\n prevButton.style.pointerEvents = swiperInstance.isBeginning ? 'none' : 'auto'; \n\n //nextButton.style.opacity = swiperInstance.isEnd ? '0.5' : '1';\n //nextButton.style.pointerEvents = swiperInstance.isEnd ? 'none' : 'auto';\n // Get Swiper's max translate position\n const maxTranslate = swiperInstance.maxTranslate();\n const currentTranslate = swiperInstance.translate;\n\n if (currentTranslate <= maxTranslate + 5) { // buffer of 5 to prevent minor calculation errors.\n nextButton.style.opacity = '0.5';\n nextButton.style.pointerEvents = 'none';\n } else {\n nextButton.style.opacity = '1';\n nextButton.style.pointerEvents = 'auto';\n }\n }\n\n // Public methods\n return {\n init: function(selectors) {\n SELECTORS = selectors;\n document.addEventListener('DOMContentLoaded', function() {\n \tconst swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n swiperWrapper.style.gap = '0';\n \t\n // Initialize swiper\n initSwiper();\n });\n },\n filterSeason(season) {\n \tif (!swiperInstance) return;\n \n \t// Collect slides to keep\n \tconst slidesToKeep = allSlides.filter(slideEl => \n \t\tseason === 'all' || \n \t\tseason === slideEl.getAttribute('data-season')\n \t);\n \n swiperInstance.removeAllSlides();\n\n // Add filtered slides\n swiperInstance.addSlide(0, slidesToKeep);\n\n // Reset to first slide\n swiperInstance.slideTo(0, 0, false);\n \n updateButtonsState();\n }\n };\n})();\n\n\n// loop through all edition cards and add the edition query param to all URLs\n// because we are linking to a destination page and want to pre-set the edition dropdown \nexport function updateEditionCardLinkUrls() {\n\tconst allEditionCards = document.querySelectorAll(\"#edition-cards-section .edition-card-item\");\n \n allEditionCards.forEach((editionCard) => {\n \tconst editionLinkElems = editionCard.querySelectorAll(\"a\"); // we defined the card multiple times in the collection item\n const editionSlug = editionCard.getAttribute(\"data-editionslug\");\n const bookingState = editionCard.getAttribute(\"data-bookingstate\");\n\n editionLinkElems.forEach((link) => {\n \t// remove link from card and give bg less opacity for booking state \"available soon\"\n \tif (bookingState == \"Available Soon\") {\n \t\tlink.setAttribute(\"href\", \"#\");\n link.style.cursor = \"auto\";\n \n const bgImage = link.querySelector(\".edition-card-image\");\n bgImage.style.opacity = 0.4;\n } else if (editionSlug) {\n const baseUrl = link.getAttribute(\"href\").split(\"?\")[0]; // Remove existing query params\n // Update the link's href with the new query parameter\n link.setAttribute(\"href\", `${baseUrl}?edition=${encodeURIComponent(editionSlug)}`);\n }\n });\n });\n}\n", "export function initUpcomingEditionsFilter() {\n // Set up filter buttons\n const filterButtons = document.querySelectorAll('.filter-button');\n const allItems = document.querySelectorAll('.filter-list-item');\n\n // Add click event to each filter button\n filterButtons.forEach(button => {\n button.addEventListener('click', function() {\n // Remove active class from all buttons\n filterButtons.forEach(btn => btn.classList.remove(\"active\"));\n \n // Add active class to current button\n this.classList.add(\"active\");\n \n // Get the season value from the button's data attribute\n const season = this.getAttribute('data-season');\n \n // If \"All\" is selected, show all items\n if (season === 'all') {\n allItems.forEach(item => {\n item.classList.remove(\"filtered-out\");\n \t});\n } else {\n \t// Filter items based on the selected season\n \tallItems.forEach(item => {\n const itemSeason = item.getAttribute('data-season');\n if (itemSeason === season) {\n item.classList.remove(\"filtered-out\");\n } else {\n item.classList.add(\"filtered-out\");\n }\n });\n }\n });\n });\n \n // Trigger \"All\" filter on page load\n const allButton = document.querySelector('[data-season=\"all\"]');\n if (allButton) {\n allButton.click();\n }\n}", "/**\n * Read-more truncator\n * ---------------------------------\n * 1. Finds every element that has data-read-more=\"123\" (height in px).\n * 2. If the element\u2019s scrollHeight > maxHeight, it:\n * \u2022 sets max-height + overflow: hidden\n * \u2022 appends a toggle link\n * 3. Clicking the link expands/collapses the element and updates the link text.\n *\n * Works for any text-based element (div, p, rich-text, etc.).\n */\nexport function initReadMore () {\n /** Utility to create the toggle link */\n function makeToggleLink(initial) {\n const link = document.createElement('a');\n link.href = '#';\n link.textContent = initial ? 'Read more' : 'Read less';\n link.style.display = 'inline-block';\n link.style.color = '#0a4915';\n link.style.fontWeight = '600';\n return link;\n }\n\n /** Main scan */\n document.querySelectorAll('[data-read-more]').forEach((el) => {\n const maxHeight = parseInt(el.getAttribute('data-read-more'), 10);\n if (isNaN(maxHeight)) return; // skip if attribute malformed\n\n // Already short enough? leave untouched\n if (el.scrollHeight <= maxHeight) return;\n\n // Prepare element: hide overflow & store full height\n el.style.maxHeight = maxHeight + 'px';\n el.style.overflow = 'hidden';\n el.dataset.readMoreState = 'collapsed';\n\n // Insert toggle link after the element\n const toggle = makeToggleLink(true);\n el.insertAdjacentElement('afterend', toggle);\n\n toggle.addEventListener('click', function (e) {\n e.preventDefault();\n const collapsed = el.dataset.readMoreState === 'collapsed';\n\n if (collapsed) {\n el.style.maxHeight = el.scrollHeight + 'px';\n el.dataset.readMoreState = 'expanded';\n this.textContent = 'Read less';\n } else {\n el.style.maxHeight = maxHeight + 'px';\n el.dataset.readMoreState = 'collapsed';\n this.textContent = 'Read more';\n }\n });\n });\n}", "import { initTestimonials } from './testimonials.js';\nimport { CollectionListDropDown } from \"../../controls/collectionListDropdown\"\nimport { ImpressionCardsCarousel } from \"../../components/impression-cards-carousel\";\nimport { UpcomingWorkationsCarousel } from \"../../components/upcoming-workations-carousel\";\nimport { setInitialWorkationSeasonDropdownItem, updateRoomPrices, updateLengthOfStayDropdownDiscounts, updateAllRoomBookingButtonsUrls } from './rooms-list.js';\nimport { initLocationMap } from './location-map.js';\nimport { initUpcomingWorkations } from './upcoming-workations.js';\nimport { SimpleCardsCarousel } from \"../../components/simple-cards.js\";\nimport { FeaturesCardsCarousel } from \"../../components/feature-slider\";\nimport { EditionCardsCarousel, updateEditionCardLinkUrls } from \"../../components/upcoming-editions\";\nimport { initUpcomingEditionsFilter } from \"../../components/upcoming-editions-filter\";\nimport { initReadMore } from \"../../utils/readMore.js\";\n\n// Make CollectionListDropDown globally accessible for other scripts\nwindow.CollectionListDropDown = CollectionListDropDown;\n\n\n/*****\n***\n*** Dropdown init\n***\n******/\n\n// Initialize the Room Filter Dropdowns\nCollectionListDropDown.init({ \n selector: \"#workation-season-dropdown\", \n onChange: (selectedItem) => {\n // Get the location value from the dropdown\n const editionSlug = selectedItem.getAttribute('data-value');\n updateLengthOfStayDropdownDiscounts(editionSlug);\n updateRoomPrices();\n updateAllRoomBookingButtonsUrls();\n }\n});\n\n// Initialize the Length of stay Dropdown\nCollectionListDropDown.init({ \n selector: \"#length-stay-dropdown\", \n initialValue: 'month-3', \n onChange: () => updateRoomPrices()\n});\n\n// Initialize the Guest Count Dropdown\nCollectionListDropDown.init({ \n selector: \"#guest-count-dropdown\", \n initialValue: '1', \n onChange: () => {\n updateRoomPrices();\n updateAllRoomBookingButtonsUrls();\n }\n});\n\n// Initialize the image carousels\nImpressionCardsCarousel.init({selectorId: '#impressions-cards-slider-1', isReverse: false});\nImpressionCardsCarousel.init({selectorId: '#impressions-cards-slider-2', isReverse: true});\n\n// Initialize the Upcoming Workations Carousel\nUpcomingWorkationsCarousel.init({\n selectors: {\n\t swiper: '#upcoming-workations .swiper',\n swiperWrapper: '#upcoming-workations .swiper-wrapper',\n swiperSlides: '#upcoming-workations .upcoming-workation-card', \n prevButton: '#upcoming-workations-swiper-prev-btn',\n nextButton: '#upcoming-workations-swiper-next-btn'\n },\n onItemClick: (item) => { \n\t\tconst editionSlug = item.getAttribute('data-edition');\n window.CollectionListDropDown.setValue(\"#workation-season-dropdown\", editionSlug);\n }\n});\n\n// Initialize the activity cards carousel with a separate instance\nconst activityCardsCarousel = new SimpleCardsCarousel({\n refContainer: \"#activity-cards-swiper-ref-container\", // this is needed for calculating the left offset\n swiper: '#activity-cards-section .swiper',\n swiperWrapper: '#activity-cards-section .swiper-wrapper', \n prevButton: '#activity-cards-swiper-prev-btn',\n nextButton: '#activity-cards-swiper-next-btn'\n});\nactivityCardsCarousel.init();\n\n// Initialize the common facilities cards carousel with a separate instance\nconst commonFacilitiesCardsCarousel = new SimpleCardsCarousel({\n refContainer: \"#common-facilities-cards-swiper-ref-container\", // this is needed for calculating the left offset\n swiper: '#common-facilities-cards-section .swiper',\n swiperWrapper: '#common-facilities-cards-section .swiper-wrapper', \n prevButton: '#common-facilities-cards-swiper-prev-btn',\n nextButton: '#common-facilities-cards-swiper-next-btn'\n});\ncommonFacilitiesCardsCarousel.init();\n\n// Initialize the feature cards carousel\nFeaturesCardsCarousel.init({\n swiper: '#features-cards-section .swiper',\n swiperWrapper: '#features-cards-section .swiper-wrapper', \n prevButton: '#features-cards-btn-left',\n nextButton: '#features-cards-btn-right'\n});\n\n// Initialize the carousel\nEditionCardsCarousel.init({\n refContainer: \"#edition-cards-swiper-ref-container\", // this is needed for calculating the left offset\n swiper: '#edition-cards-section .swiper',\n swiperWrapper: '#edition-cards-section .swiper-wrapper', \n prevButton: '#edition-cards-swiper-prev-btn',\n nextButton: '#edition-cards-swiper-next-btn'\n});\n\n\n/*****\n***\n*** Initial setup after dom load\n***\n******/\ndocument.addEventListener('DOMContentLoaded', function() {\n initTestimonials('#destination-testimonials-section');\n\n\t// set initial value of the workation season dropdown\n\tsetInitialWorkationSeasonDropdownItem();\n \n\t// initially update room prices and discounts\n\tupdateRoomPrices();\n updateLengthOfStayDropdownDiscounts();\n \n // update initially all booking button URLs of all rooms\n updateAllRoomBookingButtonsUrls();\n\n // init location map\n initLocationMap();\n\n // init upcoming workations\n initUpcomingWorkations();\n\n // update edition card links\n updateEditionCardLinkUrls();\n\n // init upcoming editions filter\n initUpcomingEditionsFilter();\n\n // init read more\n initReadMore();\n});\n\n"],
5
- "mappings": "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",
6
- "names": ["initTestimonials", "selectorId", "allTestimonials", "allAuthorSlots", "currentIndex", "el", "slot", "showTestimonial", "index", "i", "authors", "testimonial", "imgUrl", "prevBtn", "nextBtn", "newIndex", "init_testimonials", "__esmMin", "CollectionListDropDown", "init_collectionListDropdown", "__esmMin", "dropdowns", "initDropDown", "selector", "onChange", "initialValue", "container", "dropdown", "dropdownToggle", "dropdownList", "selectedItemValueContainer", "collectionItems", "item", "event", "selectedOption", "selectDropDownElement", "getElementByItemValue", "selectedItem", "sourceElement", "clonedElement", "currentValue", "value", "x", "ImpressionCardsCarousel", "init_impression_cards_carousel", "__esmMin", "swiperInstance", "initSwiper", "selectorId", "isReverse", "swiper", "swiperWrapper", "UpcomingWorkationsCarousel", "init_upcoming_workations_carousel", "__esmMin", "swiperInstance", "prevButton", "nextButton", "SELECTORS", "initSwiper", "onItemClick", "swiperWrapper", "swiperSlides", "swiper", "updateButtonsState", "slide", "e", "selectors", "getAllRoomPrices", "editionSlugFilter", "priceElements", "roomPrices", "x", "formatPrice", "price", "currency", "parseDecimalFromString", "defaultValue", "init_commonUtils", "__esmMin", "updateRoomPrices", "editionSlug", "lengthOfStay", "currency", "allRooms", "roomEditionPrices", "getAllRoomPrices", "room", "roomSlug", "allowWeeklyBooking", "roomEditionPrice", "x", "updateRoomPrice", "priceBreakdownElem", "priceMonthElem", "roomDiscountElem", "roomBookButton", "noPriceAvailable", "isWeekBooking", "noPriceAvailableText", "weeklyBookingText", "basePriceWeek", "parseDecimalFromString", "basePriceMonth", "discount2months", "discount3months", "price2Month", "price3Month", "weeklyPriceFormatted", "formatPrice", "basePriceFormatted", "hidePriceBreakdown", "updateLengthOfStayDropdownDiscounts", "months2discountElems", "months3discountElems", "discounts2months", "discounts3months", "elem", "updateLengthOfStayDropdownDiscount", "discounts", "allEqual", "val", "highestDiscount", "updateAllRoomBookingButtonsUrls", "allBookingButtons", "destinationSlug", "bookingButton", "bookingLinkElem", "baseUrl", "guestsCount", "setInitialWorkationSeasonDropdownItem", "editionSlugQueryParam", "workationSeasonItems", "workationInitialValue", "init_rooms_list", "__esmMin", "init_commonUtils", "initLocationMap", "address", "results", "status", "map", "init_location_map", "__esmMin", "initUpcomingWorkations", "item", "bookingState", "init_upcoming_workations", "__esmMin", "SimpleCardsCarousel", "init_simple_cards", "__esmMin", "selectors", "swiperWrapper", "refContainer", "offsetBefore", "swiper", "newOffsetBefore", "maxTranslate", "FeaturesCardsCarousel", "init_feature_slider", "__esmMin", "swiperInstance", "prevButton", "nextButton", "SELECTORS", "initSwiper", "swiperWrapper", "swiper", "updateButtonsState", "setWrapperWidth", "wrapperBefore", "carouselContainer", "selectors", "updateEditionCardLinkUrls", "editionCard", "editionLinkElems", "editionSlug", "bookingState", "link", "bgImage", "baseUrl", "EditionCardsCarousel", "init_upcoming_editions", "__esmMin", "swiperInstance", "prevButton", "nextButton", "allSlides", "SELECTORS", "initSwiper", "refContainer", "swiperWrapper", "offsetBefore", "swiper", "updateButtonsState", "newOffsetBefore", "maxTranslate", "selectors", "season", "slidesToKeep", "slideEl", "initUpcomingEditionsFilter", "filterButtons", "allItems", "button", "btn", "season", "item", "allButton", "init_upcoming_editions_filter", "__esmMin", "initReadMore", "makeToggleLink", "initial", "link", "el", "maxHeight", "toggle", "e", "init_readMore", "__esmMin", "require_destination", "__commonJSMin", "init_testimonials", "init_collectionListDropdown", "init_impression_cards_carousel", "init_upcoming_workations_carousel", "init_rooms_list", "init_location_map", "init_upcoming_workations", "init_simple_cards", "init_feature_slider", "init_upcoming_editions", "init_upcoming_editions_filter", "init_readMore", "CollectionListDropDown", "selectedItem", "editionSlug", "updateLengthOfStayDropdownDiscounts", "updateRoomPrices", "updateAllRoomBookingButtonsUrls", "ImpressionCardsCarousel", "UpcomingWorkationsCarousel", "item", "activityCardsCarousel", "SimpleCardsCarousel", "commonFacilitiesCardsCarousel", "FeaturesCardsCarousel", "EditionCardsCarousel", "initTestimonials", "setInitialWorkationSeasonDropdownItem", "initLocationMap", "initUpcomingWorkations", "updateEditionCardLinkUrls", "initUpcomingEditionsFilter", "initReadMore"]
5
+ "mappings": "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",
6
+ "names": ["initTestimonials", "selectorId", "allTestimonials", "allAuthorSlots", "currentIndex", "el", "slot", "showTestimonial", "index", "i", "authors", "testimonial", "imgUrl", "prevBtn", "nextBtn", "newIndex", "CollectionListDropDown", "dropdowns", "initDropDown", "selector", "onChange", "initialValue", "container", "dropdown", "dropdownToggle", "dropdownList", "selectedItemValueContainer", "collectionItems", "item", "event", "selectedOption", "selectDropDownElement", "getElementByItemValue", "selectedItem", "sourceElement", "clonedElement", "currentValue", "value", "x", "ImpressionCardsCarousel", "swiperInstance", "initSwiper", "selectorId", "isReverse", "swiper", "swiperWrapper", "UpcomingWorkationsCarousel", "swiperInstance", "prevButton", "nextButton", "SELECTORS", "initSwiper", "onItemClick", "swiperWrapper", "swiperSlides", "swiper", "updateButtonsState", "slide", "e", "selectors", "getAllRoomPrices", "editionSlugFilter", "priceElements", "roomPrices", "x", "formatPrice", "price", "currency", "parseDecimalFromString", "defaultValue", "updateRoomPrices", "editionSlug", "lengthOfStay", "currency", "allRooms", "roomEditionPrices", "getAllRoomPrices", "room", "roomSlug", "allowWeeklyBooking", "roomEditionPrice", "x", "updateRoomPrice", "priceBreakdownElem", "priceMonthElem", "roomDiscountElem", "roomBookButton", "noPriceAvailable", "isWeekBooking", "noPriceAvailableText", "weeklyBookingText", "basePriceWeek", "parseDecimalFromString", "basePriceMonth", "discount2months", "discount3months", "price2Month", "price3Month", "weeklyPriceFormatted", "formatPrice", "basePriceFormatted", "hidePriceBreakdown", "updateLengthOfStayDropdownDiscounts", "months2discountElems", "months3discountElems", "discounts2months", "discounts3months", "elem", "updateLengthOfStayDropdownDiscount", "discounts", "allEqual", "val", "highestDiscount", "updateAllRoomBookingButtonsUrls", "allBookingButtons", "destinationSlug", "bookingButton", "bookingLinkElem", "baseUrl", "guestsCount", "setInitialWorkationSeasonDropdownItem", "editionSlugQueryParam", "workationSeasonItems", "workationInitialValue", "initLocationMap", "address", "results", "status", "map", "initUpcomingWorkations", "item", "bookingState", "SimpleCardsCarousel", "selectors", "swiperWrapper", "refContainer", "offsetBefore", "swiper", "newOffsetBefore", "maxTranslate", "FeaturesCardsCarousel", "swiperInstance", "prevButton", "nextButton", "SELECTORS", "initSwiper", "swiperWrapper", "swiper", "updateButtonsState", "setWrapperWidth", "wrapperBefore", "carouselContainer", "selectors", "EditionCardsCarousel", "swiperInstance", "prevButton", "nextButton", "allSlides", "SELECTORS", "initSwiper", "refContainer", "swiperWrapper", "offsetBefore", "swiper", "updateButtonsState", "newOffsetBefore", "maxTranslate", "selectors", "season", "slidesToKeep", "slideEl", "updateEditionCardLinkUrls", "editionCard", "editionLinkElems", "editionSlug", "bookingState", "link", "bgImage", "baseUrl", "initUpcomingEditionsFilter", "filterButtons", "allItems", "button", "btn", "season", "item", "allButton", "initReadMore", "makeToggleLink", "initial", "link", "el", "maxHeight", "toggle", "e", "CollectionListDropDown", "selectedItem", "editionSlug", "updateLengthOfStayDropdownDiscounts", "updateRoomPrices", "updateAllRoomBookingButtonsUrls", "ImpressionCardsCarousel", "UpcomingWorkationsCarousel", "item", "activityCardsCarousel", "SimpleCardsCarousel", "commonFacilitiesCardsCarousel", "FeaturesCardsCarousel", "EditionCardsCarousel", "initTestimonials", "setInitialWorkationSeasonDropdownItem", "initLocationMap", "initUpcomingWorkations", "updateEditionCardLinkUrls", "initUpcomingEditionsFilter", "initReadMore"]
7
7
  }
@@ -1,2 +1 @@
1
- (()=>{var h=(t,e)=>()=>(t&&(e=t(t=0)),e);var y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);function d(){let t=document.querySelectorAll("[data-target-destination]"),e=document.querySelectorAll("[data-faq-destination]");function f(n){e.forEach(a=>{let i=a.getAttribute("data-faq-destination")===n||a.getAttribute("data-faq-destination")==="";a.style.display=i?"block":"none"})}t.forEach(n=>{n.addEventListener("click",()=>{let a=n.getAttribute("data-target-destination");t.forEach(c=>{let o=c.querySelector("a");o&&o.classList.remove("active")});let i=n.querySelector("a");i&&i.classList.add("active"),f(a),document.querySelectorAll(".faq-list-wrapper").forEach(c=>{let o=Array.from(c.children).filter(s=>s.hasAttribute("data-faq-destination")),u=o.length>0&&o.every(s=>s.style.display==="none"),r=c.closest(".section");r&&(r.style.display=u?"none":"")})})}),t.length>0&&t[0].click()}var l=h(()=>{});var q=y(()=>{l();document.addEventListener("DOMContentLoaded",function(){d()})});q();})();
2
- //# sourceMappingURL=bundle-faqs.min.js.map
1
+ (()=>{function r(){let a=document.querySelectorAll("[data-target-destination]"),d=document.querySelectorAll("[data-faq-destination]");function l(t){d.forEach(e=>{let o=e.getAttribute("data-faq-destination")===t||e.getAttribute("data-faq-destination")==="";e.style.display=o?"block":"none"})}a.forEach(t=>{t.addEventListener("click",()=>{let e=t.getAttribute("data-target-destination");a.forEach(i=>{let n=i.querySelector("a");n&&n.classList.remove("active")});let o=t.querySelector("a");o&&o.classList.add("active"),l(e),document.querySelectorAll(".faq-list-wrapper").forEach(i=>{let n=Array.from(i.children).filter(c=>c.hasAttribute("data-faq-destination")),f=n.length>0&&n.every(c=>c.style.display==="none"),s=i.closest(".section");s&&(s.style.display=f?"none":"")})})}),a.length>0&&a[0].click()}document.addEventListener("DOMContentLoaded",function(){r()});})();
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../pages/faqs/faq-tabs.js", "../pages/faqs/index.js"],
4
4
  "sourcesContent": ["export function initFaqTabs () {\n const tabs = document.querySelectorAll(\"[data-target-destination]\");\n const faqs = document.querySelectorAll(\"[data-faq-destination]\");\n\n function showFAQsFor(destinationId) {\n faqs.forEach(faq => {\n const matchesDestination = faq.getAttribute(\"data-faq-destination\") === destinationId || faq.getAttribute(\"data-faq-destination\") === \"\";\n faq.style.display = matchesDestination ? \"block\" : \"none\";\n });\n }\n\n tabs.forEach(tab => {\n tab.addEventListener(\"click\", () => {\n const selectedId = tab.getAttribute(\"data-target-destination\");\n\n // UI update for active tab (on anchor child)\n tabs.forEach(t => {\n const anchor = t.querySelector(\"a\");\n if (anchor) anchor.classList.remove(\"active\");\n });\n\n const currentAnchor = tab.querySelector(\"a\");\n if (currentAnchor) currentAnchor.classList.add(\"active\");\n\n showFAQsFor(selectedId);\n\n // Show/hide \"no FAQs\" message if all children are hidden\n document.querySelectorAll('.faq-list-wrapper').forEach(wrapper => {\n const children = Array.from(wrapper.children).filter(child => child.hasAttribute('data-faq-destination'));\n const allHidden = children.length > 0 && children.every(child => child.style.display === 'none');\n const section = wrapper.closest('.section');\n if (section) {\n section.style.display = allHidden ? 'none' : '';\n }\n });\n });\n });\n\n //Trigger first tab\n if (tabs.length > 0) {\n tabs[0].click();\n }\n}", "import { initFaqTabs } from \"./faq-tabs.js\";\n\ndocument.addEventListener('DOMContentLoaded', function() {\n initFaqTabs();\n});"],
5
- "mappings": "uGAAO,SAASA,GAAe,CAC7B,IAAMC,EAAO,SAAS,iBAAiB,2BAA2B,EAC5DC,EAAO,SAAS,iBAAiB,wBAAwB,EAE/D,SAASC,EAAYC,EAAe,CAClCF,EAAK,QAAQG,GAAO,CAClB,IAAMC,EAAqBD,EAAI,aAAa,sBAAsB,IAAMD,GAAiBC,EAAI,aAAa,sBAAsB,IAAM,GACtIA,EAAI,MAAM,QAAUC,EAAqB,QAAU,MACrD,CAAC,CACH,CAEAL,EAAK,QAAQM,GAAO,CAClBA,EAAI,iBAAiB,QAAS,IAAM,CAClC,IAAMC,EAAaD,EAAI,aAAa,yBAAyB,EAG7DN,EAAK,QAAQQ,GAAK,CAChB,IAAMC,EAASD,EAAE,cAAc,GAAG,EAC9BC,GAAQA,EAAO,UAAU,OAAO,QAAQ,CAC9C,CAAC,EAED,IAAMC,EAAgBJ,EAAI,cAAc,GAAG,EACvCI,GAAeA,EAAc,UAAU,IAAI,QAAQ,EAEvDR,EAAYK,CAAU,EAGtB,SAAS,iBAAiB,mBAAmB,EAAE,QAAQI,GAAW,CAChE,IAAMC,EAAW,MAAM,KAAKD,EAAQ,QAAQ,EAAE,OAAOE,GAASA,EAAM,aAAa,sBAAsB,CAAC,EAClGC,EAAYF,EAAS,OAAS,GAAKA,EAAS,MAAMC,GAASA,EAAM,MAAM,UAAY,MAAM,EACzFE,EAAUJ,EAAQ,QAAQ,UAAU,EACtCI,IACFA,EAAQ,MAAM,QAAUD,EAAY,OAAS,GAEjD,CAAC,CACH,CAAC,CACH,CAAC,EAGGd,EAAK,OAAS,GAChBA,EAAK,CAAC,EAAE,MAAM,CAElB,CA1CA,IAAAgB,EAAAC,EAAA,QCAA,IAAAC,EAAAC,EAAA,KAAAC,IAEA,SAAS,iBAAiB,mBAAoB,UAAW,CACvDC,EAAY,CACd,CAAC",
6
- "names": ["initFaqTabs", "tabs", "faqs", "showFAQsFor", "destinationId", "faq", "matchesDestination", "tab", "selectedId", "t", "anchor", "currentAnchor", "wrapper", "children", "child", "allHidden", "section", "init_faq_tabs", "__esmMin", "require_faqs", "__commonJSMin", "init_faq_tabs", "initFaqTabs"]
5
+ "mappings": "MAAO,SAASA,GAAe,CAC7B,IAAMC,EAAO,SAAS,iBAAiB,2BAA2B,EAC5DC,EAAO,SAAS,iBAAiB,wBAAwB,EAE/D,SAASC,EAAYC,EAAe,CAClCF,EAAK,QAAQG,GAAO,CAClB,IAAMC,EAAqBD,EAAI,aAAa,sBAAsB,IAAMD,GAAiBC,EAAI,aAAa,sBAAsB,IAAM,GACtIA,EAAI,MAAM,QAAUC,EAAqB,QAAU,MACrD,CAAC,CACH,CAEAL,EAAK,QAAQM,GAAO,CAClBA,EAAI,iBAAiB,QAAS,IAAM,CAClC,IAAMC,EAAaD,EAAI,aAAa,yBAAyB,EAG7DN,EAAK,QAAQQ,GAAK,CAChB,IAAMC,EAASD,EAAE,cAAc,GAAG,EAC9BC,GAAQA,EAAO,UAAU,OAAO,QAAQ,CAC9C,CAAC,EAED,IAAMC,EAAgBJ,EAAI,cAAc,GAAG,EACvCI,GAAeA,EAAc,UAAU,IAAI,QAAQ,EAEvDR,EAAYK,CAAU,EAGtB,SAAS,iBAAiB,mBAAmB,EAAE,QAAQI,GAAW,CAChE,IAAMC,EAAW,MAAM,KAAKD,EAAQ,QAAQ,EAAE,OAAOE,GAASA,EAAM,aAAa,sBAAsB,CAAC,EAClGC,EAAYF,EAAS,OAAS,GAAKA,EAAS,MAAMC,GAASA,EAAM,MAAM,UAAY,MAAM,EACzFE,EAAUJ,EAAQ,QAAQ,UAAU,EACtCI,IACFA,EAAQ,MAAM,QAAUD,EAAY,OAAS,GAEjD,CAAC,CACH,CAAC,CACH,CAAC,EAGGd,EAAK,OAAS,GAChBA,EAAK,CAAC,EAAE,MAAM,CAElB,CCxCA,SAAS,iBAAiB,mBAAoB,UAAW,CACvDgB,EAAY,CACd,CAAC",
6
+ "names": ["initFaqTabs", "tabs", "faqs", "showFAQsFor", "destinationId", "faq", "matchesDestination", "tab", "selectedId", "t", "anchor", "currentAnchor", "wrapper", "children", "child", "allHidden", "section", "initFaqTabs"]
7
7
  }
@@ -1,2 +1 @@
1
- (()=>{var p=(i,n)=>()=>(i&&(n=i(i=0)),n);var T=(i,n)=>()=>(n||i((n={exports:{}}).exports,n),n.exports);var E,y=p(()=>{E=function(){let i,n=null,o=null;function s(){let e=document.querySelector(o.swiperWrapper);if(n=document.querySelector(o.pagination),!e||!n)return console.error("Required elements not found"),null;let t=new Swiper(o.swiper,{slidesPerView:1,grid:{rows:5},spaceBetween:0,pagination:{el:o.pagination,clickable:!0}});return i=t,t.on("slideChange",function(){}),t}return{init:function(e){o=e,document.addEventListener("DOMContentLoaded",function(){s()})}}}()});var h,v=p(()=>{h=function(){let i={};function n(e,t,r){let a=document.querySelector(e),c=document.querySelector(`${e}.w-dropdown`),u=a.querySelector(`${e} .w-dropdown-toggle`),d=a.querySelector(`${e} .w-dropdown-list`),l=a.querySelector(`${e} .dropdown-selected-value`),f=a.querySelectorAll(`${e} .dropdown-item`);if(i[e]={container:a,dropdown:c,dropdownToggle:u,dropdownList:d,selectedItemValueContainer:l,collectionItems:f,onChange:t},f.forEach(w=>{w.addEventListener("click",function(R){R.preventDefault();let S=this;o(e,S),t&&t(S),d.classList.remove("w--open"),c.blur()})}),r){let w=s(e,r);w&&setTimeout(()=>{w.click()},200)}}function o(e,t){let r=i[e];if(!r)return;let a=r.selectedItemValueContainer;for(;a.firstChild;)a.removeChild(a.firstChild);let c=t;if(c){let u=c.cloneNode(!0);a.appendChild(u);let d=c.getAttribute("data-value");r.dropdown.setAttribute("data-current-value",d)}else console.error("SelectedItem Element not found.",t)}function s(e,t){let r=i[e];return Array.from(r.collectionItems).find(a=>a.getAttribute("data-value")===t)}return{init:function({selector:e,onChange:t,initialValue:r}){document.addEventListener("DOMContentLoaded",function(){n(e,t,r)})},setValue:function(e,t){let r=s(e,t);r?r.click():t!=null&&console.error(`No item with value '${t}' found in dropdown '${e}'`)},getValue:function(e){return i[e].dropdown.getAttribute("data-current-value")}}}()});function B(){document.querySelectorAll("#edition-cards-section .edition-card-item").forEach(n=>{let o=n.querySelectorAll("a"),s=n.getAttribute("data-editionslug"),e=n.getAttribute("data-bookingstate");o.forEach(t=>{if(e=="Available Soon"){t.setAttribute("href","#"),t.style.cursor="auto";let r=t.querySelector(".edition-card-image");r.style.opacity=.4}else if(s){let r=t.getAttribute("href").split("?")[0];t.setAttribute("href",`${r}?edition=${encodeURIComponent(s)}`)}})})}var g,C=p(()=>{g=function(){let i,n,o=null,s=[],e=null;function t(){let a=document.querySelector(e.refContainer),c=document.querySelector(e.swiperWrapper);if(n=document.querySelector(e.prevButton),o=document.querySelector(e.nextButton),s=Array.from(document.querySelectorAll("#edition-cards-section .swiper .swiper-slide")),!a||!c||!n||!o)return console.error("Required elements not found"),null;let d=a.getBoundingClientRect().left,l=new Swiper(e.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:d,slidesOffsetAfter:16,navigation:{nextEl:e.nextButton,prevEl:e.prevButton},watchOverflow:!0});return i=l,r(),l.on("slideChange",r),window.addEventListener("resize",()=>{let f=a.getBoundingClientRect().left;l&&l.params&&(l.params.slidesOffsetBefore=f,l.update())}),l}function r(){if(!n||!o)return;n.style.opacity=i.isBeginning?"0.5":"1",n.style.pointerEvents=i.isBeginning?"none":"auto";let a=i.maxTranslate();i.translate<=a+5?(o.style.opacity="0.5",o.style.pointerEvents="none"):(o.style.opacity="1",o.style.pointerEvents="auto")}return{init:function(a){e=a,document.addEventListener("DOMContentLoaded",function(){let c=document.querySelector(e.swiperWrapper);c.style.gap="0",t()})},filterSeason(a){if(!i)return;let c=s.filter(u=>a==="all"||a===u.getAttribute("data-season"));i.removeAllSlides(),i.addSlide(0,c),i.slideTo(0,0,!1),r()}}}()});function x(){let i=document.querySelectorAll(".filter-button"),n=document.querySelectorAll(".filter-list-item");i.forEach(s=>{s.addEventListener("click",function(){i.forEach(t=>t.classList.remove("active")),this.classList.add("active");let e=this.getAttribute("data-season");e==="all"?n.forEach(t=>{t.classList.remove("filtered-out")}):n.forEach(t=>{t.getAttribute("data-season")===e?t.classList.remove("filtered-out"):t.classList.add("filtered-out")})})});let o=document.querySelector('[data-season="all"]');o&&o.click()}var L=p(()=>{});var m,b=p(()=>{m=class{constructor(n){this.SELECTORS=n,this.swiperInstance=null,this.prevButton=null,this.nextButton=null}init(){document.addEventListener("DOMContentLoaded",()=>{let n=document.querySelector(this.SELECTORS.swiperWrapper);n.style.gap="0",this.initSwiper()})}initSwiper(){let n=document.querySelector(this.SELECTORS.refContainer),o=document.querySelector(this.SELECTORS.swiperWrapper);if(this.prevButton=document.querySelector(this.SELECTORS.prevButton),this.nextButton=document.querySelector(this.SELECTORS.nextButton),!n||!o||!this.prevButton||!this.nextButton)return console.error("Required elements not found"),null;let e=n.getBoundingClientRect().left,t=new Swiper(this.SELECTORS.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:e,slidesOffsetAfter:16,navigation:{nextEl:this.SELECTORS.nextButton,prevEl:this.SELECTORS.prevButton},watchOverflow:!0});return this.swiperInstance=t,this.updateButtonsState(),t.on("slideChange",this.updateButtonsState.bind(this)),window.addEventListener("resize",()=>{let r=n.getBoundingClientRect().left;t&&t.params&&(t.params.slidesOffsetBefore=r,t.update())}),t}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 n=this.swiperInstance.maxTranslate();this.swiperInstance.translate<=n+5?(this.nextButton.style.opacity="0.5",this.nextButton.style.pointerEvents="none"):(this.nextButton.style.opacity="1",this.nextButton.style.pointerEvents="auto")}}});function O(){document.querySelectorAll("#testimonial-cards-section .testimonial-card-slide").forEach(o=>{o.style.position="static"}),document.querySelectorAll("#testimonial-cards-section .swiper-slide-shadow").forEach(o=>{o.style.borderRadius="16px"})}var q,A=p(()=>{q=function(){function i(o){let s=new Swiper(o,{effect:"cards",grabCursor:!0,slidesPerView:1,spaceBetween:0,freeMode:!1,slidesOffsetAfter:0,watchOverflow:!0,navigation:{nextEl:"#testimonial-cards-swiper-next-btn",prevEl:"#testimonial-cards-swiper-prev-btn"}});return n(s),s.on("slideChange",function(){n(s)}),s}function n(o){let s=document.querySelector("#testimonial-cards-swiper-prev-btn"),e=document.querySelector("#testimonial-cards-swiper-next-btn");s.style.opacity=o.isBeginning?"0.5":"1",s.style.pointerEvents=o.isBeginning?"none":"auto",e.style.opacity=o.isEnd?"0.5":"1",e.style.pointerEvents=o.isEnd?"none":"auto"}return{initSwiper:i}}()});var D=T(()=>{y();v();C();L();b();A();document.addEventListener("DOMContentLoaded",function(){B(),x(),O()});h.init({selector:"#destination-dropdown",onChange:i=>{let n=i.getAttribute("data-value")||i.textContent.trim(),o=document.querySelector("#find-workation-button"),s=o.getAttribute("href").split("?")[0];o.setAttribute("href",`${s}?location=${encodeURIComponent(n)}`)}});E.init({swiper:"#special-room-offers-section .swiper",swiperWrapper:"#special-room-offers-section .swiper-wrapper",pagination:"#special-room-offers-section .swiper-pagination"});g.init({refContainer:"#edition-cards-swiper-ref-container",swiper:"#edition-cards-section .swiper",swiperWrapper:"#edition-cards-section .swiper-wrapper",prevButton:"#edition-cards-swiper-prev-btn",nextButton:"#edition-cards-swiper-next-btn"});var I=new m({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"});I.init();q.initSwiper("#testimonial-cards-section .swiper")});D();})();
2
- //# sourceMappingURL=bundle-homepage.min.js.map
1
+ (()=>{var c=function(){let r,t=null,e=null;function i(){let s=document.querySelector(e.swiperWrapper);if(t=document.querySelector(e.pagination),!s||!t)return console.error("Required elements not found"),null;let n=new Swiper(e.swiper,{slidesPerView:1,grid:{rows:5},spaceBetween:0,pagination:{el:e.pagination,clickable:!0}});return r=n,n.on("slideChange",function(){}),n}return{init:function(s){e=s,document.addEventListener("DOMContentLoaded",function(){i()})}}}();function l(){let r=document.querySelectorAll(".filter-button"),t=document.querySelectorAll(".filter-list-item");r.forEach(i=>{i.addEventListener("click",function(){r.forEach(n=>n.classList.remove("active")),this.classList.add("active");let s=this.getAttribute("data-season");s==="all"?t.forEach(n=>{n.classList.remove("filtered-out")}):t.forEach(n=>{let a=`[data-season-${s}="true"]`;slideEl.querySelector(a)!==null?n.classList.remove("filtered-out"):n.classList.add("filtered-out")})})});let e=document.querySelector('[data-season="all"]');e&&e.click()}var o=class{constructor(t){this.SELECTORS=t,this.swiperInstance=null,this.prevButton=null,this.nextButton=null}init(){document.addEventListener("DOMContentLoaded",()=>{let t=document.querySelector(this.SELECTORS.swiperWrapper);t&&(t.style.gap="0"),this.initSwiper()})}initSwiper(){let t=document.querySelector(this.SELECTORS.refContainer),e=document.querySelector(this.SELECTORS.swiperWrapper);if(this.prevButton=document.querySelector(this.SELECTORS.prevButton),this.nextButton=document.querySelector(this.SELECTORS.nextButton),!t||!e||!this.prevButton||!this.nextButton)return console.error("Required elements not found"),null;let s=t.getBoundingClientRect().left,n=new Swiper(this.SELECTORS.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetBefore:s,slidesOffsetAfter:16,navigation:{nextEl:this.SELECTORS.nextButton,prevEl:this.SELECTORS.prevButton},watchOverflow:!0});return this.swiperInstance=n,this.updateButtonsState(),n.on("slideChange",this.updateButtonsState.bind(this)),window.addEventListener("resize",()=>{let a=t.getBoundingClientRect().left;n&&n.params&&(n.params.slidesOffsetBefore=a,n.update())}),n}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 t=this.swiperInstance.maxTranslate();this.swiperInstance.translate<=t+5?(this.nextButton.style.opacity="0.5",this.nextButton.style.pointerEvents="none"):(this.nextButton.style.opacity="1",this.nextButton.style.pointerEvents="auto")}};var p=function(){function r(e){let i=new Swiper(e,{effect:"cards",grabCursor:!0,slidesPerView:1,spaceBetween:0,freeMode:!1,slidesOffsetAfter:0,watchOverflow:!0,navigation:{nextEl:"#testimonial-cards-swiper-next-btn",prevEl:"#testimonial-cards-swiper-prev-btn"}});return t(i),i.on("slideChange",function(){t(i)}),i}function t(e){let i=document.querySelector("#testimonial-cards-swiper-prev-btn"),s=document.querySelector("#testimonial-cards-swiper-next-btn");i.style.opacity=e.isBeginning?"0.5":"1",i.style.pointerEvents=e.isBeginning?"none":"auto",s.style.opacity=e.isEnd?"0.5":"1",s.style.pointerEvents=e.isEnd?"none":"auto"}return{initSwiper:r}}();function u(){document.querySelectorAll("#testimonial-cards-section .testimonial-card-slide").forEach(e=>{e.style.position="static"}),document.querySelectorAll("#testimonial-cards-section .swiper-slide-shadow").forEach(e=>{e.style.borderRadius="16px"})}document.addEventListener("DOMContentLoaded",function(){l(),u()});c.init({swiper:"#special-room-offers-section .swiper",swiperWrapper:"#special-room-offers-section .swiper-wrapper",pagination:"#special-room-offers-section .swiper-pagination"});var d=new o({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"});d.init();var f=new o({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"});f.init();p.initSwiper("#testimonial-cards-section .swiper");})();
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../components/special-room-offers-cards.js", "../controls/collectionListDropdown.js", "../components/upcoming-editions.js", "../components/upcoming-editions-filter.js", "../components/simple-cards.js", "../components/testimonial-cards.js", "../pages/homepage/index.js"],
4
4
  "sourcesContent": ["export const SpecialRoomOffersCardsCarousel = (function () {\n\tlet swiperInstance, pagination = null;\n let SELECTORS = null;\n\n function initSwiper() {\n const swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n pagination = document.querySelector(SELECTORS.pagination);\n\n if (!swiperWrapper || !pagination) { \n console.error('Required elements not found');\n return null;\n } \n\n // Initialize Swiper\n const swiper = new Swiper(SELECTORS.swiper, {\n slidesPerView: 1,\n grid: {\n rows: 5,\n },\n spaceBetween: 0,\n pagination: {\n el: SELECTORS.pagination,\n clickable: true,\n },\n });\n\n\t\tswiperInstance = swiper;\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', function () {\n });\n\n return swiper;\n }\n\n // Public methods\n return {\n init: function(selectors) {\n SELECTORS = selectors;\n document.addEventListener('DOMContentLoaded', function() {\n\n // Initialize swiper\n initSwiper();\n });\n }\n };\n})();\n\n", "export const CollectionListDropDown = (function () {\n // Store dropdown instances to access them later\n const dropdowns = {};\n \n function initDropDown(selector, onChange, initialValue) {\n const container = document.querySelector(selector);\n const dropdown = document.querySelector(`${selector}.w-dropdown`);\n const dropdownToggle = container.querySelector(`${selector} .w-dropdown-toggle`); \n const dropdownList = container.querySelector(`${selector} .w-dropdown-list`);\n const selectedItemValueContainer = container.querySelector(`${selector} .dropdown-selected-value`);\n const collectionItems = container.querySelectorAll(`${selector} .dropdown-item`);\n \n // Store this dropdown instance data for later access\n dropdowns[selector] = {\n container,\n dropdown,\n dropdownToggle,\n dropdownList,\n selectedItemValueContainer,\n collectionItems,\n onChange\n };\n \n collectionItems.forEach(item => {\n item.addEventListener('click', function(event) {\n event.preventDefault(); // Prevent default link behavior if using Link Blocks\n const selectedOption = this;\n selectDropDownElement(selector, selectedOption);\n \n onChange && onChange(selectedOption);\n // Close the dropdown\n dropdownList.classList.remove('w--open'); // Close the dropdown\n // Move focus away to reset dropdown behavior\n dropdown.blur();\n });\n });\n \n if (initialValue) {\n const item = getElementByItemValue(selector, initialValue);\n if (item) { \n setTimeout(() => {\n item.click(); // Simulate a click on the matching item to activate filter\n }, 200);\n }\n }\n }\n \n function selectDropDownElement(selector, selectedItem) {\n const dropdown = dropdowns[selector];\n if (!dropdown) return;\n \n const selectedItemValueContainer = dropdown.selectedItemValueContainer;\n \n while (selectedItemValueContainer.firstChild) {\n selectedItemValueContainer.removeChild(selectedItemValueContainer.firstChild);\n }\n \n const sourceElement = selectedItem;\n if (sourceElement) {\n const clonedElement = sourceElement.cloneNode(true);\n selectedItemValueContainer.appendChild(clonedElement);\n const currentValue = sourceElement.getAttribute('data-value');\n dropdown.dropdown.setAttribute('data-current-value', currentValue);\n } else {\n console.error(\"SelectedItem Element not found.\", selectedItem);\n }\n }\n \n function getElementByItemValue(selector, value) {\n const dropdown = dropdowns[selector];\n return Array.from(dropdown.collectionItems).find((x) => {\n return x.getAttribute('data-value') === value;\n });\n }\n \n // Public methods\n return {\n init: function({ selector, onChange, initialValue }) {\n document.addEventListener('DOMContentLoaded', function() {\n initDropDown(selector, onChange, initialValue);\n });\n },\n // Add a new public method to change dropdown value from outside\n setValue: function(selector, value) {\n const item = getElementByItemValue(selector, value);\n if (item) {\n item.click(); // Trigger the click event on the item\n } else if (value !== undefined && value !== null) {\n console.error(`No item with value '${value}' found in dropdown '${selector}'`);\n }\n },\n // Get currently selected dropdown value\n getValue: function(selector) {\n const dropdown = dropdowns[selector];\n return dropdown.dropdown.getAttribute('data-current-value');\n }\n };\n})();", "export const EditionCardsCarousel = (function () {\n let swiperInstance, prevButton, nextButton = null;\n let allSlides = []; // we need to store them for filtering \n let SELECTORS = null; \n\n function initSwiper() {\n const refContainer = document.querySelector(SELECTORS.refContainer); \n const swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n prevButton = document.querySelector(SELECTORS.prevButton);\n nextButton = document.querySelector(SELECTORS.nextButton);\n allSlides = Array.from(document.querySelectorAll('#edition-cards-section .swiper .swiper-slide'));\n\n if (!refContainer || !swiperWrapper || !prevButton || !nextButton) {\n console.error('Required elements not found');\n return null;\n } \n \n\t\tconst refRect = refContainer.getBoundingClientRect();\n \tconst offsetBefore = refRect.left;\n\n // Initialize Swiper\n const swiper = new Swiper(SELECTORS.swiper, {\n slidesPerView: \"auto\",\n spaceBetween: 16,\n freeMode: false,\n slidesOffsetBefore: offsetBefore,\n slidesOffsetAfter: 16,\n navigation: {\n nextEl: SELECTORS.nextButton,\n \tprevEl: SELECTORS.prevButton,\n },\n watchOverflow: true,\n });\n\n\t swiperInstance = swiper;\n\n // Set initial state of buttons\n updateButtonsState();\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', updateButtonsState);\n \n // Add resize event listener separately\n window.addEventListener('resize', () => {\n const newOffsetBefore = refContainer.getBoundingClientRect().left;\n\n // Check if Swiper instance exists and has a method to update params\n if (swiper && swiper.params) {\n swiper.params.slidesOffsetBefore = newOffsetBefore;\n swiper.update(); // Refresh Swiper\n }\n });\n\n return swiper;\n }\n\n // Function to update button states\n function updateButtonsState() {\n \tif (!prevButton || !nextButton) return;\n \n prevButton.style.opacity = swiperInstance.isBeginning ? '0.5' : '1';\n prevButton.style.pointerEvents = swiperInstance.isBeginning ? 'none' : 'auto'; \n\n //nextButton.style.opacity = swiperInstance.isEnd ? '0.5' : '1';\n //nextButton.style.pointerEvents = swiperInstance.isEnd ? 'none' : 'auto';\n // Get Swiper's max translate position\n const maxTranslate = swiperInstance.maxTranslate();\n const currentTranslate = swiperInstance.translate;\n\n if (currentTranslate <= maxTranslate + 5) { // buffer of 5 to prevent minor calculation errors.\n nextButton.style.opacity = '0.5';\n nextButton.style.pointerEvents = 'none';\n } else {\n nextButton.style.opacity = '1';\n nextButton.style.pointerEvents = 'auto';\n }\n }\n\n // Public methods\n return {\n init: function(selectors) {\n SELECTORS = selectors;\n document.addEventListener('DOMContentLoaded', function() {\n \tconst swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n swiperWrapper.style.gap = '0';\n \t\n // Initialize swiper\n initSwiper();\n });\n },\n filterSeason(season) {\n \tif (!swiperInstance) return;\n \n \t// Collect slides to keep\n \tconst slidesToKeep = allSlides.filter(slideEl => \n \t\tseason === 'all' || \n \t\tseason === slideEl.getAttribute('data-season')\n \t);\n \n swiperInstance.removeAllSlides();\n\n // Add filtered slides\n swiperInstance.addSlide(0, slidesToKeep);\n\n // Reset to first slide\n swiperInstance.slideTo(0, 0, false);\n \n updateButtonsState();\n }\n };\n})();\n\n\n// loop through all edition cards and add the edition query param to all URLs\n// because we are linking to a destination page and want to pre-set the edition dropdown \nexport function updateEditionCardLinkUrls() {\n\tconst allEditionCards = document.querySelectorAll(\"#edition-cards-section .edition-card-item\");\n \n allEditionCards.forEach((editionCard) => {\n \tconst editionLinkElems = editionCard.querySelectorAll(\"a\"); // we defined the card multiple times in the collection item\n const editionSlug = editionCard.getAttribute(\"data-editionslug\");\n const bookingState = editionCard.getAttribute(\"data-bookingstate\");\n\n editionLinkElems.forEach((link) => {\n \t// remove link from card and give bg less opacity for booking state \"available soon\"\n \tif (bookingState == \"Available Soon\") {\n \t\tlink.setAttribute(\"href\", \"#\");\n link.style.cursor = \"auto\";\n \n const bgImage = link.querySelector(\".edition-card-image\");\n bgImage.style.opacity = 0.4;\n } else if (editionSlug) {\n const baseUrl = link.getAttribute(\"href\").split(\"?\")[0]; // Remove existing query params\n // Update the link's href with the new query parameter\n link.setAttribute(\"href\", `${baseUrl}?edition=${encodeURIComponent(editionSlug)}`);\n }\n });\n });\n}\n", "export function initUpcomingEditionsFilter() {\n // Set up filter buttons\n const filterButtons = document.querySelectorAll('.filter-button');\n const allItems = document.querySelectorAll('.filter-list-item');\n\n // Add click event to each filter button\n filterButtons.forEach(button => {\n button.addEventListener('click', function() {\n // Remove active class from all buttons\n filterButtons.forEach(btn => btn.classList.remove(\"active\"));\n \n // Add active class to current button\n this.classList.add(\"active\");\n \n // Get the season value from the button's data attribute\n const season = this.getAttribute('data-season');\n \n // If \"All\" is selected, show all items\n if (season === 'all') {\n allItems.forEach(item => {\n item.classList.remove(\"filtered-out\");\n \t});\n } else {\n \t// Filter items based on the selected season\n \tallItems.forEach(item => {\n const itemSeason = item.getAttribute('data-season');\n if (itemSeason === season) {\n item.classList.remove(\"filtered-out\");\n } else {\n item.classList.add(\"filtered-out\");\n }\n });\n }\n });\n });\n \n // Trigger \"All\" filter on page load\n const allButton = document.querySelector('[data-season=\"all\"]');\n if (allButton) {\n allButton.click();\n }\n}", "export class SimpleCardsCarousel {\n constructor(selectors) {\n this.SELECTORS = selectors;\n this.swiperInstance = null;\n this.prevButton = null;\n this.nextButton = null;\n }\n\n init() {\n document.addEventListener('DOMContentLoaded', () => {\n const swiperWrapper = document.querySelector(this.SELECTORS.swiperWrapper);\n swiperWrapper.style.gap = '0';\n this.initSwiper();\n });\n }\n\n initSwiper() {\n const refContainer = document.querySelector(this.SELECTORS.refContainer);\n const swiperWrapper = document.querySelector(this.SELECTORS.swiperWrapper);\n this.prevButton = document.querySelector(this.SELECTORS.prevButton);\n this.nextButton = document.querySelector(this.SELECTORS.nextButton);\n\n if (!refContainer || !swiperWrapper || !this.prevButton || !this.nextButton) {\n console.error('Required elements not found');\n return null;\n }\n\n const refRect = refContainer.getBoundingClientRect();\n const offsetBefore = refRect.left;\n\n // Initialize Swiper\n const swiper = new Swiper(this.SELECTORS.swiper, {\n slidesPerView: 'auto',\n spaceBetween: 16,\n freeMode: false,\n slidesOffsetBefore: offsetBefore,\n slidesOffsetAfter: 16,\n navigation: {\n nextEl: this.SELECTORS.nextButton,\n prevEl: this.SELECTORS.prevButton,\n },\n watchOverflow: true,\n });\n\n this.swiperInstance = swiper;\n\n // Set initial state of buttons\n this.updateButtonsState();\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', this.updateButtonsState.bind(this));\n\n // Add resize event listener separately\n window.addEventListener('resize', () => {\n const newOffsetBefore = refContainer.getBoundingClientRect().left;\n if (swiper && swiper.params) {\n swiper.params.slidesOffsetBefore = newOffsetBefore;\n swiper.update();\n }\n });\n\n return swiper;\n }\n\n updateButtonsState() {\n if (!this.prevButton || !this.nextButton) return;\n\n this.prevButton.style.opacity = this.swiperInstance.isBeginning ? '0.5' : '1';\n this.prevButton.style.pointerEvents = this.swiperInstance.isBeginning ? 'none' : 'auto';\n\n // Get Swiper's max translate position\n const maxTranslate = this.swiperInstance.maxTranslate();\n const currentTranslate = this.swiperInstance.translate;\n\n if (currentTranslate <= maxTranslate + 5) {\n this.nextButton.style.opacity = '0.5';\n this.nextButton.style.pointerEvents = 'none';\n } else {\n this.nextButton.style.opacity = '1';\n this.nextButton.style.pointerEvents = 'auto';\n }\n }\n}", "export const TestimonialCardsCarousel = (function () {\n function initSwiper(selector) {\n // Initialize Swiper\n const swiper = new Swiper(selector, {\n effect: \"cards\",\n grabCursor: true,\n slidesPerView: 1,\n spaceBetween: 0,\n freeMode: false,\n slidesOffsetAfter: 0,\n watchOverflow: true,\n navigation: {\n nextEl: '#testimonial-cards-swiper-next-btn',\n prevEl: '#testimonial-cards-swiper-prev-btn',\n },\n });\n\n // Set initial state of buttons\n updateButtonsState(swiper);\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', function() {\n updateButtonsState(swiper);\n });\n\n return swiper;\n }\n\n // Function to update button states\n function updateButtonsState(swiper) {\n const prevButton = document.querySelector('#testimonial-cards-swiper-prev-btn');\n const nextButton = document.querySelector('#testimonial-cards-swiper-next-btn');\n\n prevButton.style.opacity = swiper.isBeginning ? '0.5' : '1';\n prevButton.style.pointerEvents = swiper.isBeginning ? 'none': 'auto'; \n\n nextButton.style.opacity = swiper.isEnd ? '0.5' : '1';\n nextButton.style.pointerEvents = swiper.isEnd ? 'none' : 'auto';\n }\n \n // Public API\n return {\n initSwiper\n };\n})();\n\nexport function initTestimonialCards() {\n //fix webflow designer display\n const slides = document.querySelectorAll('#testimonial-cards-section .testimonial-card-slide');\n slides.forEach(slide => {\n slide.style.position = \"static\";\n });\n \n //fix error of shadows\n const shadows = document.querySelectorAll('#testimonial-cards-section .swiper-slide-shadow');\n shadows.forEach(shadow => {\n shadow.style.borderRadius = \"16px\";\n });\n}", "import { SpecialRoomOffersCardsCarousel } from \"../../components/special-room-offers-cards\"; \nimport { CollectionListDropDown } from \"../../controls/collectionListDropdown\"\nimport { EditionCardsCarousel, updateEditionCardLinkUrls } from \"../../components/upcoming-editions\";\nimport { initUpcomingEditionsFilter } from \"../../components/upcoming-editions-filter\";\nimport { SimpleCardsCarousel } from \"../../components/simple-cards\";\nimport { TestimonialCardsCarousel, initTestimonialCards } from \"../../components/testimonial-cards\";\n\ndocument.addEventListener('DOMContentLoaded', function() {\n // Update edition card links\n updateEditionCardLinkUrls();\n\n // Initialize the upcoming editions filter\n initUpcomingEditionsFilter();\n\n // Initialize the testimonial cards\n initTestimonialCards();\n});\n\n// Initialize the Location Filter Dropdown in the Hero Section\nCollectionListDropDown.init({ selector: \"#destination-dropdown\", onChange: (selectedItem) => {\n\tconst selectedValue = selectedItem.getAttribute(\"data-value\") || selectedItem.textContent.trim(); \n const linkElement = document.querySelector(\"#find-workation-button\");\n const baseUrl = linkElement.getAttribute(\"href\").split(\"?\")[0]; // Remove existing query params\n\n // Update the link's href with the new query parameter\n linkElement.setAttribute(\"href\", `${baseUrl}?location=${encodeURIComponent(selectedValue)}`);\n}});\n\n// Initialize the carousel\nSpecialRoomOffersCardsCarousel.init({\n swiper: '#special-room-offers-section .swiper',\n swiperWrapper: '#special-room-offers-section .swiper-wrapper', \n pagination: '#special-room-offers-section .swiper-pagination',\n});\n\n// Initialize the carousel\nEditionCardsCarousel.init({\n refContainer: \"#edition-cards-swiper-ref-container\", // this is needed for calculating the left offset\n swiper: '#edition-cards-section .swiper',\n swiperWrapper: '#edition-cards-section .swiper-wrapper', \n prevButton: '#edition-cards-swiper-prev-btn',\n nextButton: '#edition-cards-swiper-next-btn'\n});\n\n// Initialize the carousel\nconst activityCardsCarousel = new SimpleCardsCarousel({\n refContainer: \"#activity-cards-swiper-ref-container\", // this is needed for calculating the left offset\n swiper: '#activity-cards-section .swiper',\n swiperWrapper: '#activity-cards-section .swiper-wrapper', \n prevButton: '#activity-cards-swiper-prev-btn',\n nextButton: '#activity-cards-swiper-next-btn'\n});\nactivityCardsCarousel.init();\n\nTestimonialCardsCarousel.initSwiper(\"#testimonial-cards-section .swiper\");\n"],
5
- "mappings": "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",
6
- "names": ["SpecialRoomOffersCardsCarousel", "init_special_room_offers_cards", "__esmMin", "swiperInstance", "pagination", "SELECTORS", "initSwiper", "swiperWrapper", "swiper", "selectors", "CollectionListDropDown", "init_collectionListDropdown", "__esmMin", "dropdowns", "initDropDown", "selector", "onChange", "initialValue", "container", "dropdown", "dropdownToggle", "dropdownList", "selectedItemValueContainer", "collectionItems", "item", "event", "selectedOption", "selectDropDownElement", "getElementByItemValue", "selectedItem", "sourceElement", "clonedElement", "currentValue", "value", "x", "updateEditionCardLinkUrls", "editionCard", "editionLinkElems", "editionSlug", "bookingState", "link", "bgImage", "baseUrl", "EditionCardsCarousel", "init_upcoming_editions", "__esmMin", "swiperInstance", "prevButton", "nextButton", "allSlides", "SELECTORS", "initSwiper", "refContainer", "swiperWrapper", "offsetBefore", "swiper", "updateButtonsState", "newOffsetBefore", "maxTranslate", "selectors", "season", "slidesToKeep", "slideEl", "initUpcomingEditionsFilter", "filterButtons", "allItems", "button", "btn", "season", "item", "allButton", "init_upcoming_editions_filter", "__esmMin", "SimpleCardsCarousel", "init_simple_cards", "__esmMin", "selectors", "swiperWrapper", "refContainer", "offsetBefore", "swiper", "newOffsetBefore", "maxTranslate", "initTestimonialCards", "slide", "shadow", "TestimonialCardsCarousel", "init_testimonial_cards", "__esmMin", "initSwiper", "selector", "swiper", "updateButtonsState", "prevButton", "nextButton", "require_homepage", "__commonJSMin", "init_special_room_offers_cards", "init_collectionListDropdown", "init_upcoming_editions", "init_upcoming_editions_filter", "init_simple_cards", "init_testimonial_cards", "updateEditionCardLinkUrls", "initUpcomingEditionsFilter", "initTestimonialCards", "CollectionListDropDown", "selectedItem", "selectedValue", "linkElement", "baseUrl", "SpecialRoomOffersCardsCarousel", "EditionCardsCarousel", "activityCardsCarousel", "SimpleCardsCarousel", "TestimonialCardsCarousel"]
5
+ "mappings": "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",
6
+ "names": ["SpecialRoomOffersCardsCarousel", "swiperInstance", "pagination", "SELECTORS", "initSwiper", "swiperWrapper", "swiper", "selectors", "CollectionListDropDown", "dropdowns", "initDropDown", "selector", "onChange", "initialValue", "container", "dropdown", "dropdownToggle", "dropdownList", "selectedItemValueContainer", "collectionItems", "item", "event", "selectedOption", "selectDropDownElement", "getElementByItemValue", "selectedItem", "sourceElement", "clonedElement", "currentValue", "value", "x", "EditionCardsCarousel", "swiperInstance", "prevButton", "nextButton", "allSlides", "SELECTORS", "initSwiper", "refContainer", "swiperWrapper", "offsetBefore", "swiper", "updateButtonsState", "newOffsetBefore", "maxTranslate", "selectors", "season", "slidesToKeep", "slideEl", "updateEditionCardLinkUrls", "editionCard", "editionLinkElems", "editionSlug", "bookingState", "link", "bgImage", "baseUrl", "initUpcomingEditionsFilter", "filterButtons", "allItems", "button", "btn", "season", "item", "allButton", "SimpleCardsCarousel", "selectors", "swiperWrapper", "refContainer", "offsetBefore", "swiper", "newOffsetBefore", "maxTranslate", "TestimonialCardsCarousel", "initSwiper", "selector", "swiper", "updateButtonsState", "prevButton", "nextButton", "initTestimonialCards", "slide", "shadow", "updateEditionCardLinkUrls", "initUpcomingEditionsFilter", "initTestimonialCards", "CollectionListDropDown", "selectedItem", "selectedValue", "linkElement", "baseUrl", "SpecialRoomOffersCardsCarousel", "EditionCardsCarousel", "activityCardsCarousel", "SimpleCardsCarousel", "TestimonialCardsCarousel"]
7
7
  }
@@ -1,2 +1 @@
1
- (()=>{var w=(t,e)=>()=>(t&&(e=t(t=0)),e);var f=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var d,c=w(()=>{d=function(){let t,e,o=null,n=null;function l(){let r=document.querySelector(n.swiperWrapper);if(e=document.querySelector(n.prevButton),o=document.querySelector(n.nextButton),!r||!e||!o)return console.error("Required elements not found"),null;let s=new Swiper(n.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetAfter:16,navigation:{nextEl:n.nextButton,prevEl:n.prevButton},watchOverflow:!0});t=s,p(),s.on("slideChange",function(){p()});function a(){let i=r.getBoundingClientRect().left,u=document.querySelector("#features-cards-section .features-cards-carousel-container");u.style.width=`${window.innerWidth-i}px`,u.style.minWidth=`${window.innerWidth-i}px`,u.style.maxWidth=`${window.innerWidth-i}px`,r.style.width=`${window.innerWidth-i}px`,r.style.minWidth=`${window.innerWidth-i}px`,r.style.maxWidth=`${window.innerWidth-i}px`}return window.addEventListener("resize",a),a(),s}function p(){!e||!o||(e.style.opacity=t.isBeginning?"0.5":"1",e.style.pointerEvents=t.isBeginning?"none":"auto",o.style.opacity=t.isEnd?"0.5":"1",o.style.pointerEvents=t.isEnd?"none":"auto")}return{init:function(r){n=r,document.addEventListener("DOMContentLoaded",function(){let s=document.querySelector(n.swiperWrapper);s.style.gap="0",l()})}}}()});var y=f(()=>{c();d.init({swiper:"#features-cards-section .swiper",swiperWrapper:"#features-cards-section .swiper-wrapper",prevButton:"#features-cards-btn-left",nextButton:"#features-cards-btn-right"})});y();})();
2
- //# sourceMappingURL=bundle-hubs-business.min.js.map
1
+ (()=>{var d=function(){let r,i,o=null,e=null;function c(){let t=document.querySelector(e.swiperWrapper);if(i=document.querySelector(e.prevButton),o=document.querySelector(e.nextButton),!t||!i||!o)return console.error("Required elements not found"),null;let s=new Swiper(e.swiper,{slidesPerView:"auto",spaceBetween:16,freeMode:!1,slidesOffsetAfter:16,navigation:{nextEl:e.nextButton,prevEl:e.prevButton},watchOverflow:!0});r=s,p(),s.on("slideChange",function(){p()});function a(){let n=t.getBoundingClientRect().left,u=document.querySelector("#features-cards-section .features-cards-carousel-container");u.style.width=`${window.innerWidth-n}px`,u.style.minWidth=`${window.innerWidth-n}px`,u.style.maxWidth=`${window.innerWidth-n}px`,t.style.width=`${window.innerWidth-n}px`,t.style.minWidth=`${window.innerWidth-n}px`,t.style.maxWidth=`${window.innerWidth-n}px`}return window.addEventListener("resize",a),a(),s}function p(){!i||!o||(i.style.opacity=r.isBeginning?"0.5":"1",i.style.pointerEvents=r.isBeginning?"none":"auto",o.style.opacity=r.isEnd?"0.5":"1",o.style.pointerEvents=r.isEnd?"none":"auto")}return{init:function(t){e=t,document.addEventListener("DOMContentLoaded",function(){let s=document.querySelector(e.swiperWrapper);s.style.gap="0",c()})}}}();d.init({swiper:"#features-cards-section .swiper",swiperWrapper:"#features-cards-section .swiper-wrapper",prevButton:"#features-cards-btn-left",nextButton:"#features-cards-btn-right"});})();
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../components/feature-slider.js", "../pages/hubs-business/index.js"],
4
4
  "sourcesContent": ["export const FeaturesCardsCarousel = (function () {\n let swiperInstance, prevButton, nextButton = null;\n let SELECTORS = null;\n\n function initSwiper() {\n const swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n prevButton = document.querySelector(SELECTORS.prevButton);\n nextButton = document.querySelector(SELECTORS.nextButton);\n\n if (!swiperWrapper || !prevButton || !nextButton) {\n console.error('Required elements not found');\n return null;\n } \n\n // Initialize Swiper\n const swiper = new Swiper(SELECTORS.swiper, {\n slidesPerView: \"auto\",\n spaceBetween: 16,\n freeMode: false,\n slidesOffsetAfter: 16,\n navigation: {\n nextEl: SELECTORS.nextButton,\n prevEl: SELECTORS.prevButton,\n },\n watchOverflow: true,\n });\n\n\t\tswiperInstance = swiper;\n\n // Set initial state of buttons\n updateButtonsState();\n\n // Add event listeners to update button states when slides change\n swiper.on('slideChange', function () {\n updateButtonsState();\n });\n \n \n function setWrapperWidth() {\n const wrapperRect = swiperWrapper.getBoundingClientRect();\n \tconst wrapperBefore = wrapperRect.left;\n const carouselContainer = document.querySelector('#features-cards-section .features-cards-carousel-container')\n \n carouselContainer.style.width = `${window.innerWidth - wrapperBefore}px`;\n carouselContainer.style.minWidth = `${window.innerWidth - wrapperBefore}px`;\n carouselContainer.style.maxWidth = `${window.innerWidth - wrapperBefore}px`;\n\n swiperWrapper.style.width = `${window.innerWidth - wrapperBefore}px`;\n swiperWrapper.style.minWidth = `${window.innerWidth - wrapperBefore}px`;\n swiperWrapper.style.maxWidth = `${window.innerWidth - wrapperBefore}px`;\n }\n\n window.addEventListener('resize', setWrapperWidth);\n setWrapperWidth(); \n \n // Add resize event listener separately\n //window.addEventListener('resize', () => {\n // const newOffsetBefore = refContainer.getBoundingClientRect().left;\n // Check if Swiper instance exists and has a method to update params\n // if (swiper && swiper.params) {\n // swiper.params.slidesOffsetBefore = newOffsetBefore;\n // swiper.update(); // Refresh Swiper\n // }\n //});\n\n return swiper;\n }\n\n // Function to update button states\n function updateButtonsState() {\n \tif (!prevButton || !nextButton) return;\n \n prevButton.style.opacity = swiperInstance.isBeginning ? '0.5' : '1';\n prevButton.style.pointerEvents = swiperInstance.isBeginning ? 'none' : 'auto'; \n\n\t\tnextButton.style.opacity = swiperInstance.isEnd ? '0.5' : '1';\n nextButton.style.pointerEvents = swiperInstance.isEnd ? 'none' : 'auto';\n }\n\n // Public methods\n return {\n init: function(selectors) {\n SELECTORS = selectors;\n \tdocument.addEventListener('DOMContentLoaded', function() {\n\t\t\t\tconst swiperWrapper = document.querySelector(SELECTORS.swiperWrapper);\n swiperWrapper.style.gap = '0';\n \n // Initialize swiper\n initSwiper();\n\t\t\t});\n }\n };\n})();\n", "import { FeaturesCardsCarousel } from \"../../components/feature-slider\";\n\n// Initialize the feature cards carousel\nFeaturesCardsCarousel.init({\n swiper: '#features-cards-section .swiper',\n swiperWrapper: '#features-cards-section .swiper-wrapper', \n prevButton: '#features-cards-btn-left',\n nextButton: '#features-cards-btn-right'\n});"],
5
- "mappings": "uGAAA,IAAaA,EAAbC,EAAAC,EAAA,KAAaF,EAAyB,UAAY,CAChD,IAAIG,EAAgBC,EAAYC,EAAa,KACzCC,EAAY,KAEhB,SAASC,GAAa,CACpB,IAAMC,EAAgB,SAAS,cAAcF,EAAU,aAAa,EAIpE,GAHAF,EAAa,SAAS,cAAcE,EAAU,UAAU,EACxDD,EAAa,SAAS,cAAcC,EAAU,UAAU,EAEpD,CAACE,GAAiB,CAACJ,GAAc,CAACC,EACpC,eAAQ,MAAM,6BAA6B,EACpC,KAIT,IAAMI,EAAS,IAAI,OAAOH,EAAU,OAAQ,CAC1C,cAAe,OACf,aAAc,GACd,SAAU,GACV,kBAAmB,GACnB,WAAY,CACV,OAAQA,EAAU,WAClB,OAAQA,EAAU,UACpB,EACA,cAAe,EACjB,CAAC,EAEHH,EAAiBM,EAGfC,EAAmB,EAGnBD,EAAO,GAAG,cAAe,UAAY,CACnCC,EAAmB,CACrB,CAAC,EAGD,SAASC,GAAkB,CAE1B,IAAMC,EADeJ,EAAc,sBAAsB,EACvB,KAC3BK,EAAoB,SAAS,cAAc,4DAA4D,EAE7GA,EAAkB,MAAM,MAAQ,GAAG,OAAO,WAAaD,CAAa,KACpEC,EAAkB,MAAM,SAAW,GAAG,OAAO,WAAaD,CAAa,KACvEC,EAAkB,MAAM,SAAW,GAAG,OAAO,WAAaD,CAAa,KAEvEJ,EAAc,MAAM,MAAQ,GAAG,OAAO,WAAaI,CAAa,KAChEJ,EAAc,MAAM,SAAW,GAAG,OAAO,WAAaI,CAAa,KACnEJ,EAAc,MAAM,SAAW,GAAG,OAAO,WAAaI,CAAa,IACrE,CAEA,cAAO,iBAAiB,SAAUD,CAAe,EACjDA,EAAgB,EAYTF,CACT,CAGA,SAASC,GAAqB,CACzB,CAACN,GAAc,CAACC,IAEnBD,EAAW,MAAM,QAAUD,EAAe,YAAc,MAAQ,IAChEC,EAAW,MAAM,cAAgBD,EAAe,YAAc,OAAS,OAEzEE,EAAW,MAAM,QAAUF,EAAe,MAAQ,MAAQ,IACxDE,EAAW,MAAM,cAAgBF,EAAe,MAAQ,OAAS,OACnE,CAGA,MAAO,CACL,KAAM,SAASW,EAAW,CACxBR,EAAYQ,EACZ,SAAS,iBAAiB,mBAAoB,UAAW,CAC3D,IAAMN,EAAgB,SAAS,cAAcF,EAAU,aAAa,EAChEE,EAAc,MAAM,IAAM,IAG1BD,EAAW,CAChB,CAAC,CACA,CACF,CACF,EAAG,IC5FH,IAAAQ,EAAAC,EAAA,KAAAC,IAGAC,EAAsB,KAAK,CACzB,OAAQ,kCACR,cAAe,0CACf,WAAY,2BACZ,WAAY,2BACd,CAAC",
6
- "names": ["FeaturesCardsCarousel", "init_feature_slider", "__esmMin", "swiperInstance", "prevButton", "nextButton", "SELECTORS", "initSwiper", "swiperWrapper", "swiper", "updateButtonsState", "setWrapperWidth", "wrapperBefore", "carouselContainer", "selectors", "require_hubs_business", "__commonJSMin", "init_feature_slider", "FeaturesCardsCarousel"]
5
+ "mappings": "MAAO,IAAMA,EAAyB,UAAY,CAChD,IAAIC,EAAgBC,EAAYC,EAAa,KACzCC,EAAY,KAEhB,SAASC,GAAa,CACpB,IAAMC,EAAgB,SAAS,cAAcF,EAAU,aAAa,EAIpE,GAHAF,EAAa,SAAS,cAAcE,EAAU,UAAU,EACxDD,EAAa,SAAS,cAAcC,EAAU,UAAU,EAEpD,CAACE,GAAiB,CAACJ,GAAc,CAACC,EACpC,eAAQ,MAAM,6BAA6B,EACpC,KAIT,IAAMI,EAAS,IAAI,OAAOH,EAAU,OAAQ,CAC1C,cAAe,OACf,aAAc,GACd,SAAU,GACV,kBAAmB,GACnB,WAAY,CACV,OAAQA,EAAU,WAClB,OAAQA,EAAU,UACpB,EACA,cAAe,EACjB,CAAC,EAEHH,EAAiBM,EAGfC,EAAmB,EAGnBD,EAAO,GAAG,cAAe,UAAY,CACnCC,EAAmB,CACrB,CAAC,EAGD,SAASC,GAAkB,CAE1B,IAAMC,EADeJ,EAAc,sBAAsB,EACvB,KAC3BK,EAAoB,SAAS,cAAc,4DAA4D,EAE7GA,EAAkB,MAAM,MAAQ,GAAG,OAAO,WAAaD,CAAa,KACpEC,EAAkB,MAAM,SAAW,GAAG,OAAO,WAAaD,CAAa,KACvEC,EAAkB,MAAM,SAAW,GAAG,OAAO,WAAaD,CAAa,KAEvEJ,EAAc,MAAM,MAAQ,GAAG,OAAO,WAAaI,CAAa,KAChEJ,EAAc,MAAM,SAAW,GAAG,OAAO,WAAaI,CAAa,KACnEJ,EAAc,MAAM,SAAW,GAAG,OAAO,WAAaI,CAAa,IACrE,CAEA,cAAO,iBAAiB,SAAUD,CAAe,EACjDA,EAAgB,EAYTF,CACT,CAGA,SAASC,GAAqB,CACzB,CAACN,GAAc,CAACC,IAEnBD,EAAW,MAAM,QAAUD,EAAe,YAAc,MAAQ,IAChEC,EAAW,MAAM,cAAgBD,EAAe,YAAc,OAAS,OAEzEE,EAAW,MAAM,QAAUF,EAAe,MAAQ,MAAQ,IACxDE,EAAW,MAAM,cAAgBF,EAAe,MAAQ,OAAS,OACnE,CAGA,MAAO,CACL,KAAM,SAASW,EAAW,CACxBR,EAAYQ,EACZ,SAAS,iBAAiB,mBAAoB,UAAW,CAC3D,IAAMN,EAAgB,SAAS,cAAcF,EAAU,aAAa,EAChEE,EAAc,MAAM,IAAM,IAG1BD,EAAW,CAChB,CAAC,CACA,CACF,CACF,EAAG,ECzFHQ,EAAsB,KAAK,CACzB,OAAQ,kCACR,cAAe,0CACf,WAAY,2BACZ,WAAY,2BACd,CAAC",
6
+ "names": ["FeaturesCardsCarousel", "swiperInstance", "prevButton", "nextButton", "SELECTORS", "initSwiper", "swiperWrapper", "swiper", "updateButtonsState", "setWrapperWidth", "wrapperBefore", "carouselContainer", "selectors", "FeaturesCardsCarousel"]
7
7
  }
@@ -1,2 +1 @@
1
- (()=>{var p=(o,n)=>()=>(o&&(n=o(o=0)),n);var q=(o,n)=>()=>(n||o((n={exports:{}}).exports,n),n.exports);function y(){document.querySelectorAll("[data-trigger]").forEach(e=>{e.addEventListener("change",()=>n(e)),n(e)});function n(e){let l=e.getAttribute("data-trigger"),c=e.value;document.querySelectorAll(`[data-condition-trigger="${l}"]`).forEach(s=>{let a=s.getAttribute("data-condition-value")===c,r=s.matches("input, select, textarea")?s:s.querySelector("input, select, textarea");s.style.display=a?"block":"none",r&&(r.required=a,a||(r.value=""))})}}function h(){document.querySelectorAll("[data-custom-dropdown]").forEach(o=>{let n=document.createElement("input");n.type="hidden",n.name=o.dataset.name||"custom-dropdown",n.setAttribute("required",o.dataset.required==="true"||!1),n.value="",o.appendChild(n);let e=o.querySelector(".dropdown-selected-value");o.querySelectorAll(".dropdown-item").forEach(c=>{c.addEventListener("click",d=>{d.preventDefault();let s=c.dataset.value,a=c.cloneNode(!0);a.style.padding=0,e.innerHTML="",e.appendChild(a),n.value=s})})})}function v(o,n,e=30){let l=document.querySelector(o),c=document.querySelector(n),d=new DateRangePicker(l,{format:"dd. MM yyyy"}),s=e;return d.setMinimumDays=a=>{s=a},d.validateDateRange=()=>{let[a,r]=d.getDates();a&&r&&Math.floor((r-a)/864e5)<s?(c.setCustomValidity(`You need to choose a minimum of ${s} days.`),d.setDates(a,new Date(a.getTime()+s*24*60*60*1e3))):c.setCustomValidity(""),c.reportValidity()},l.addEventListener("changeDate",d.validateDateRange),{rangepicker:d,datesInput:l,startDateField:c}}function g(){let o=document.querySelectorAll(".form-step"),n=document.querySelectorAll(".form-wizard-step .form-wizard-step-progress"),e=0;function l(r){o.forEach((i,t)=>{i.style.display=t===r?"block":"none"}),n.forEach((i,t)=>{t<r||t===r?i.classList.add("active"):i.classList.remove("active")})}function c(){let r=o[e].querySelectorAll("input, select, textarea"),i=[];return r.forEach(t=>{let u=t.type==="hidden"||t.offsetParent===null;if(t.required&&(!t.value||t.value.trim()==="")){let f=t.dataset.name||t.name||t.placeholder||"Unnamed field";i.push(`${f} is required.`)}if(!u&&t.value&&!t.checkValidity()){let m=t.name||t.placeholder||"Unnamed field";i.push(`${m} is invalid.`)}}),i}function d(r,i){let t=document.querySelector(r);if(!t)return;t.innerHTML="";let u=document.createElement("ul");i.forEach(m=>{let f=document.createElement("li");f.textContent=m,u.appendChild(f)}),t.appendChild(u)}function s(r){let i=document.querySelector(r);i&&(i.innerHTML="")}document.querySelectorAll(".form-next-step-btn").forEach(r=>{r.addEventListener("click",()=>{if(r.getAttribute("disabled")==="true")return;let i=c(),t=`#error-list-step-${e}`;s(t),i.length==0?(e=Math.min(e+1,o.length-1),e===o.length-1&&a(),l(e)):d(t,i)})});function a(){document.querySelectorAll('[id^="review-"]').forEach(i=>{let t=i.dataset.fieldname;try{let u=document.querySelector(`[name="${t}"]`).value;i.innerText=u}catch{}})}document.querySelectorAll(".form-previous-step-btn").forEach(r=>{r.addEventListener("click",()=>{e=Math.max(e-1,0),l(e)})}),l(e)}var E=p(()=>{});function S(){document.getElementById("close-button").addEventListener("click",function(){let o=document.referrer,n=window.location.hostname,e=null;try{e=o?new URL(o).hostname:null}catch{e=null}window.history.length>1&&e===n?window.history.back():window.location.href="/"})}var D=p(()=>{});var w=q(()=>{E();D();document.addEventListener("DOMContentLoaded",function(){S(),y(),g(),h(),v("#dates-start-end-group","#Estimated-Start-Date")})});w();})();
2
- //# sourceMappingURL=bundle-request-quote.min.js.map
1
+ (()=>{function p(){document.querySelectorAll("[data-trigger]").forEach(e=>{e.addEventListener("change",()=>i(e)),i(e)});function i(e){let l=e.getAttribute("data-trigger"),c=e.value;document.querySelectorAll(`[data-condition-trigger="${l}"]`).forEach(s=>{let a=s.getAttribute("data-condition-value")===c,n=s.matches("input, select, textarea")?s:s.querySelector("input, select, textarea");s.style.display=a?"block":"none",n&&(n.required=a,a||(n.value=""))})}}function y(){document.querySelectorAll("[data-custom-dropdown]").forEach(r=>{let i=document.createElement("input");i.type="hidden",i.name=r.dataset.name||"custom-dropdown",i.setAttribute("required",r.dataset.required==="true"||!1),i.value="",r.appendChild(i);let e=r.querySelector(".dropdown-selected-value");r.querySelectorAll(".dropdown-item").forEach(c=>{c.addEventListener("click",d=>{d.preventDefault();let s=c.dataset.value,a=c.cloneNode(!0);a.style.padding=0,e.innerHTML="",e.appendChild(a),i.value=s})})})}function h(r,i,e=30){let l=document.querySelector(r),c=document.querySelector(i),d=new DateRangePicker(l,{format:"dd. MM yyyy"}),s=e;return d.setMinimumDays=a=>{s=a},d.validateDateRange=()=>{let[a,n]=d.getDates();a&&n&&Math.floor((n-a)/864e5)<s?(c.setCustomValidity(`You need to choose a minimum of ${s} days.`),d.setDates(a,new Date(a.getTime()+s*24*60*60*1e3))):c.setCustomValidity(""),c.reportValidity()},l.addEventListener("changeDate",d.validateDateRange),{rangepicker:d,datesInput:l,startDateField:c}}function v(){let r=document.querySelectorAll(".form-step"),i=document.querySelectorAll(".form-wizard-step .form-wizard-step-progress"),e=0;function l(n){r.forEach((o,t)=>{o.style.display=t===n?"block":"none"}),i.forEach((o,t)=>{t<n||t===n?o.classList.add("active"):o.classList.remove("active")})}function c(){let n=r[e].querySelectorAll("input, select, textarea"),o=[];return n.forEach(t=>{let u=t.type==="hidden"||t.offsetParent===null;if(t.required&&(!t.value||t.value.trim()==="")){let f=t.dataset.name||t.name||t.placeholder||"Unnamed field";o.push(`${f} is required.`)}if(!u&&t.value&&!t.checkValidity()){let m=t.name||t.placeholder||"Unnamed field";o.push(`${m} is invalid.`)}}),o}function d(n,o){let t=document.querySelector(n);if(!t)return;t.innerHTML="";let u=document.createElement("ul");o.forEach(m=>{let f=document.createElement("li");f.textContent=m,u.appendChild(f)}),t.appendChild(u)}function s(n){let o=document.querySelector(n);o&&(o.innerHTML="")}document.querySelectorAll(".form-next-step-btn").forEach(n=>{n.addEventListener("click",()=>{if(n.getAttribute("disabled")==="true")return;let o=c(),t=`#error-list-step-${e}`;s(t),o.length==0?(e=Math.min(e+1,r.length-1),e===r.length-1&&a(),l(e)):d(t,o)})});function a(){document.querySelectorAll('[id^="review-"]').forEach(o=>{let t=o.dataset.fieldname;try{let u=document.querySelector(`[name="${t}"]`).value;o.innerText=u}catch{}})}document.querySelectorAll(".form-previous-step-btn").forEach(n=>{n.addEventListener("click",()=>{e=Math.max(e-1,0),l(e)})}),l(e)}function g(){document.getElementById("close-button").addEventListener("click",function(){let r=document.referrer,i=window.location.hostname,e=null;try{e=r?new URL(r).hostname:null}catch{e=null}window.history.length>1&&e===i?window.history.back():window.location.href="/"})}document.addEventListener("DOMContentLoaded",function(){g(),p(),v(),y(),h("#dates-start-end-group","#Estimated-Start-Date")});})();