{"version":3,"file":"homejs.js","sources":["../../../ClientApp/src/js/components/DiscoverHomeCarousel.ts","../../../ClientApp/src/js/components/ReadMore.ts","../../../ClientApp/src/js/components/SpecLoadMore.ts","../../../ClientApp/src/js/page/home.ts"],"sourcesContent":["import Swiper from 'swiper';\r\nimport { Pagination } from 'swiper/modules';\r\nimport { SwiperOptions } from 'swiper/types';\r\n\r\nlet discoverSwiper: Swiper | null = null;\r\n\r\nexport function initDiscoverMobileHomeCarousel(): void {\r\n if (window.innerWidth < 992 && !discoverSwiper) {\r\n const options: SwiperOptions = {\r\n modules: [Pagination],\r\n slidesPerView: 1,\r\n centeredSlides: false,\r\n spaceBetween: 20,\r\n loop: false,\r\n slideToClickedSlide: false,\r\n pagination: {\r\n el: '.swiper-pagination',\r\n clickable: true,\r\n },\r\n };\r\n\r\n discoverSwiper = new Swiper('#js-preview-tiles', options);\r\n }\r\n}\r\n\r\nexport function destroyDiscoverMobileHomeCarousel(): void {\r\n if (discoverSwiper) {\r\n discoverSwiper.destroy(true, true);\r\n discoverSwiper = null;\r\n }\r\n}\r\n","const initReadMore = () => {\r\n // Select buttons\r\n const readMoreBtns =\r\n document.querySelectorAll('.js-btn-read-more');\r\n\r\n // Toggle function\r\n const toggle = ({ currentTarget }: Event) => {\r\n const button = currentTarget as HTMLButtonElement;\r\n const { rel } = button.dataset;\r\n if (rel) {\r\n button.classList.toggle('active');\r\n const readMoreText = document.getElementById(rel);\r\n readMoreText?.classList.toggle('active');\r\n }\r\n };\r\n\r\n // Attach event listeners\r\n readMoreBtns.forEach(btn => btn.addEventListener('click', toggle));\r\n};\r\n\r\nexport default initReadMore;\r\n","const SpecLoadMore = (contentId: string) => {\r\n const contentContainer = document.getElementById(contentId);\r\n\r\n if (!contentContainer) {\r\n return;\r\n }\r\n\r\n const hfsGridTiles =\r\n contentContainer.querySelectorAll('.hfs-grid-tile');\r\n\r\n const loadMoreBtn = contentContainer.querySelector(\r\n '.js-m-spec-load-more',\r\n );\r\n\r\n let visibleCount: number = 3;\r\n let currentVisibleCount: number = 0;\r\n\r\n const showItems = (count: number): void => {\r\n for (\r\n let i = currentVisibleCount;\r\n i < currentVisibleCount + count && i < hfsGridTiles.length;\r\n i++\r\n ) {\r\n hfsGridTiles[i].classList.add('active'); // Add the 'active' class to show the item\r\n }\r\n currentVisibleCount += count;\r\n };\r\n\r\n const loadMoreItems = () => {\r\n const hiddenItems = Array.from(hfsGridTiles).filter(\r\n item => !item.classList.contains('active'),\r\n );\r\n\r\n // Show the next batch of hidden items\r\n const itemsToShow = hiddenItems.slice(0, visibleCount);\r\n itemsToShow.forEach(item => {\r\n item.classList.add('active'); // Add the 'active' class\r\n });\r\n\r\n // Hide the \"Load More\" button if no more hidden items\r\n if (hiddenItems.length <= visibleCount) {\r\n if (loadMoreBtn) {\r\n loadMoreBtn.style.display = 'none';\r\n }\r\n }\r\n };\r\n\r\n const init = () => {\r\n if (loadMoreBtn) {\r\n loadMoreBtn.addEventListener('click', loadMoreItems);\r\n }\r\n };\r\n\r\n const updateVisibleCount = () => {\r\n visibleCount = 3;\r\n\r\n // Reset current visible count\r\n currentVisibleCount = 0;\r\n\r\n // Remove the 'active' class from all items initially\r\n hfsGridTiles.forEach(item => {\r\n item.classList.remove('active');\r\n });\r\n\r\n showItems(visibleCount); // Show the new number of items\r\n };\r\n\r\n // Show the initial number of items\r\n showItems(visibleCount);\r\n\r\n // Show the Load More button if needed\r\n if (loadMoreBtn) {\r\n loadMoreBtn.style.display = 'inline-block';\r\n }\r\n\r\n init(); // Initialize the event listeners\r\n};\r\n\r\nexport default SpecLoadMore;\r\n","import { initMap } from '../components/CommunityMap';\r\nimport {\r\n destroyDiscoverMobileHomeCarousel,\r\n initDiscoverMobileHomeCarousel,\r\n} from '../components/DiscoverHomeCarousel';\r\nimport Modal from '../components/Modal';\r\n// import ParallaxHomeHero from '../components/ParallaxHomeHero';\r\n\r\nimport QuickViewModal from '../components/QuickViewModal';\r\nimport initReadMore from '../components/ReadMore';\r\nimport SpecLoadMore from '../components/SpecLoadMore';\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n // ParallaxHomeHero();\r\n initReadMore();\r\n initDiscoverMobileHomeCarousel();\r\n QuickViewModal('js-quickview-modal');\r\n SpecLoadMore('js-home-availability');\r\n //const promoModal = Modal('js-promo-modal');\r\n //promoModal.open();\r\n});\r\n\r\nfunction handleResize(): void {\r\n destroyDiscoverMobileHomeCarousel();\r\n initDiscoverMobileHomeCarousel();\r\n}\r\n\r\nwindow.addEventListener('resize', handleResize, { passive: true });\r\n\r\nwindow.addEventListener('load', () => {\r\n //initialize map\r\n initMap('js-community-map-info-window').catch(error => {\r\n console.error('Failed to initialize map:', error);\r\n });\r\n});\r\n"],"names":["discoverSwiper","initDiscoverMobileHomeCarousel","options","Pagination","Swiper","destroyDiscoverMobileHomeCarousel","initReadMore","readMoreBtns","toggle","currentTarget","button","rel","readMoreText","btn","SpecLoadMore","contentId","contentContainer","hfsGridTiles","loadMoreBtn","visibleCount","currentVisibleCount","showItems","count","i","loadMoreItems","hiddenItems","item","init","QuickViewModal","handleResize","initMap","error"],"mappings":"yPAIA,IAAIA,EAAgC,KAE7B,SAASC,GAAuC,CACrD,GAAI,OAAO,WAAa,KAAO,CAACD,EAAgB,CAC9C,MAAME,EAAyB,CAC7B,QAAS,CAACC,CAAU,EACpB,cAAe,EACf,eAAgB,GAChB,aAAc,GACd,KAAM,GACN,oBAAqB,GACrB,WAAY,CACV,GAAI,qBACJ,UAAW,EACb,CAAA,EAGeH,EAAA,IAAII,EAAO,oBAAqBF,CAAO,CAC1D,CACF,CAEO,SAASG,GAA0C,CACpDL,IACaA,EAAA,QAAQ,GAAM,EAAI,EAChBA,EAAA,KAErB,CC9BA,MAAMM,EAAe,IAAM,CAEnB,MAAAC,EACJ,SAAS,iBAAoC,mBAAmB,EAG5DC,EAAS,CAAC,CAAE,cAAAC,KAA2B,CAC3C,MAAMC,EAASD,EACT,CAAE,IAAAE,CAAI,EAAID,EAAO,QACvB,GAAIC,EAAK,CACAD,EAAA,UAAU,OAAO,QAAQ,EAC1B,MAAAE,EAAe,SAAS,eAAeD,CAAG,EAClCC,GAAA,MAAAA,EAAA,UAAU,OAAO,SACjC,CAAA,EAIFL,EAAa,QAAeM,GAAAA,EAAI,iBAAiB,QAASL,CAAM,CAAC,CACnE,EClBMM,EAAgBC,GAAsB,CACpC,MAAAC,EAAmB,SAAS,eAAeD,CAAS,EAE1D,GAAI,CAACC,EACH,OAGI,MAAAC,EACJD,EAAiB,iBAA8B,gBAAgB,EAE3DE,EAAcF,EAAiB,cACnC,sBAAA,EAGF,IAAIG,EAAuB,EACvBC,EAA8B,EAE5B,MAAAC,EAAaC,GAAwB,CAEnC,QAAAC,EAAIH,EACRG,EAAIH,EAAsBE,GAASC,EAAIN,EAAa,OACpDM,IAEAN,EAAaM,CAAC,EAAE,UAAU,IAAI,QAAQ,EAEjBH,GAAAE,CAAA,EAGnBE,EAAgB,IAAM,CAC1B,MAAMC,EAAc,MAAM,KAAKR,CAAY,EAAE,OACnCS,GAAA,CAACA,EAAK,UAAU,SAAS,QAAQ,CAAA,EAIvBD,EAAY,MAAM,EAAGN,CAAY,EACzC,QAAgBO,GAAA,CACrBA,EAAA,UAAU,IAAI,QAAQ,CAAA,CAC5B,EAGGD,EAAY,QAAUN,GACpBD,IACFA,EAAY,MAAM,QAAU,OAEhC,EAGIS,EAAO,IAAM,CACbT,GACUA,EAAA,iBAAiB,QAASM,CAAa,CACrD,EAkBFH,EAAUF,CAAY,EAGlBD,IACFA,EAAY,MAAM,QAAU,gBAGzBS,GACP,EChEA,SAAS,iBAAiB,mBAAoB,IAAM,CAErCrB,IACkBL,IAC/B2B,EAAe,oBAAoB,EACnCd,EAAa,sBAAsB,CAGrC,CAAC,EAED,SAASe,GAAqB,CACMxB,IACHJ,GACjC,CAEA,OAAO,iBAAiB,SAAU4B,EAAc,CAAE,QAAS,GAAM,EAEjE,OAAO,iBAAiB,OAAQ,IAAM,CAE5BC,EAAA,8BAA8B,EAAE,MAAeC,GAAA,CAC7C,QAAA,MAAM,4BAA6BA,CAAK,CAAA,CACjD,CACH,CAAC"}