{"version":3,"file":"custom.min.js","names":["jQuery","document","ready","$","slimmenu","resizeWidth","collapserTitle","animSpeed","easingEffect","indentChildren","childrenIndenter","expandIcon","collapseIcon","addEventListener","goToLink","querySelectorAll","headerHeight","querySelector","clientHeight","forEach","el","goToTab","getAttribute","tabTarget","style","scrollMargin","MutationObserver","mutationList","observer","mutation","type","attributeName","scrollIntoView","observe","attributes","nextTab","sectionTabs","getElementById","tabLink","event","stopPropagation","next","parentNode","nextElementSibling","children","click","searchMobile","appendChild","window","e","scrolled_val","scrollY","searchDesktop","searchDropdown","searchDesktopInner","searchDropdownInner","classList","add","remove","clearFilters","checkboxFilters","checked","carouselThumbs","length","contains","indicatorDataSlideTo","parseInt","homeOwnersNav","homeOwnersNavInner","checkTabsWidth","navWidth","offsetWidth","navChildren","navInnerWidth","i","hScrolledItems","listWidth","itemRight","offsetLeft","difference","scroll","left","behavior","scrollBy"],"sources":["custom.js"],"sourcesContent":["jQuery(document).ready(function ($) { \r\n \r\n /* SlimMenu Prep */\r\n $('#navigation').slimmenu({\r\n resizeWidth: '1200',\r\n collapserTitle: '',\r\n animSpeed: 0,\r\n easingEffect: null,\r\n indentChildren: false,\r\n childrenIndenter: ' ',\r\n expandIcon: '',\r\n collapseIcon: ''\r\n });\r\n \r\n});\r\n\r\n\r\n// vanilla javascript\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n\r\n // go to tab content \r\n let goToLink = document.querySelectorAll('.go-to');\r\n let headerHeight = document.querySelector('header.sticky-top').clientHeight;\r\n\r\n goToLink.forEach(el => {\r\n let goToTab = el.getAttribute('data-target');\r\n let tabTarget = document.querySelector(goToTab);\r\n\r\n tabTarget.style.scrollMargin = headerHeight + 'px';\r\n\r\n const options = {\r\n attributes: true\r\n }\r\n \r\n function callback(mutationList, observer) {\r\n mutationList.forEach(function(mutation) {\r\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\r\n tabTarget.scrollIntoView();\r\n }\r\n })\r\n }\r\n \r\n // go to tab when link is clicked first time\r\n const observer = new MutationObserver(callback);\r\n observer.observe(el, options);\r\n\r\n // go to tab when link is clicked afterwards\r\n el.addEventListener('click',function () {\r\n tabTarget.scrollIntoView();\r\n });\r\n \r\n });\r\n\r\n let nextTab = document.querySelectorAll('.next-tab');\r\n let sectionTabs = document.getElementById('section-tabs');\r\n let tabLink = document.querySelectorAll('#remodeling-pathway li a');\r\n nextTab.forEach(el => {\r\n el.addEventListener('click',function (event) {\r\n event.stopPropagation();\r\n let tabLinkActive = document.querySelector('#remodeling-pathway li a.active').parentNode;\r\n let next = tabLinkActive.nextElementSibling;\r\n\r\n if (next) {\r\n next.children[0].click() \r\n sectionTabs.scrollIntoView();\r\n } else {\r\n tabLink[0].click(); // Click the first element since this is the last one\r\n sectionTabs.scrollIntoView();\r\n }\r\n });\r\n });\r\n\r\n // put search on dropdown\r\n let searchMobile = document.querySelector('.search-wrapper.search-mobile > .inner-search');\r\n document.querySelector('.search-collapse').appendChild(searchMobile);\r\n\r\n // make the sticky magic happen on the menu\r\n window.addEventListener('scroll', (e) => {\r\n let scrolled_val = window.scrollY;\r\n\r\n // wrappers\r\n let searchDesktop = document.querySelector('.search-wrapper.search-desktop');\r\n let searchDropdown = document.querySelector('.search-dropdown');\r\n // targets \r\n let searchDesktopInner = document.querySelector('.search-wrapper.search-desktop > .inner-search');\r\n let searchDropdownInner = document.querySelector('.search-dropdown > .inner-search');\r\n \r\n let headerHeight = document.getElementById('navigation').clientHeight;\r\n if(scrolled_val > headerHeight) {\r\n document.querySelector('header.sticky-top').classList.add('is-pinned');\r\n if (searchDesktopInner) {\r\n searchDropdown.appendChild(searchDesktopInner);\r\n }\r\n }\r\n \r\n if(scrolled_val == 0) { \r\n document.querySelector('header.sticky-top').classList.remove('is-pinned');\r\n if (searchDropdownInner) {\r\n searchDesktop.appendChild(searchDropdownInner);\r\n }\r\n }\r\n });\r\n\r\n\r\n // Be Inspired Gallery\r\n let beInspiredGallery = document.getElementById('gallery-filter');\r\n if (beInspiredGallery) {\r\n\r\n // gallery filter dropdown multiselection\r\n let dropdown = document.querySelectorAll('#gallery-filter .dropdown-menu');\r\n dropdown.forEach(el => {\r\n el.addEventListener('click',function (event) {\r\n event.stopPropagation();\r\n });\r\n });\r\n\r\n // gallery clear all filters\r\n let clearFilters = document.getElementById('gallery-clear-filters');\r\n let checkboxFilters = document.querySelectorAll('#gallery-filter .dropdown-menu input[type=\"checkbox\"]');\r\n clearFilters.addEventListener('click',function () {\r\n checkboxFilters.forEach(el => {\r\n el.checked = false;\r\n });\r\n });\r\n }\r\n\r\n // Carousel thumbnails update on click\r\n let carouselThumbs = document.querySelectorAll('.carousel-thumbnails > div');\r\n if (carouselThumbs.length) {\r\n carouselThumbs.forEach(el => {\r\n el.addEventListener('click', (e) => {\r\n document.querySelector('.carousel-thumbnails > div.active').classList.remove('active');\r\n el.classList.add('active');\r\n });\r\n });\r\n }\r\n\r\n // Carousel thumbnails update indicators CSS transition \r\n let beInspiredIndicators = document.querySelectorAll('#beInspiredCarousel .carousel-indicators > li');\r\n beInspiredIndicators.forEach(el => {\r\n el.addEventListener('transitionend', (e) => {\r\n if(el.classList.contains('active')) {\r\n let indicatorDataSlideTo = parseInt(el.getAttribute('data-slide-to'));\r\n document.querySelector('.carousel-thumbnails > div.active').classList.remove('active');\r\n document.querySelector('.carousel-thumbnails > div[data-slide-to=\"' + indicatorDataSlideTo + '\"]').classList.add('active')\r\n }\r\n });\r\n });\r\n\r\n\r\n // Home Owners Tabs Navigation\r\n let homeOwnersNav = document.getElementById('nav-homeowner');\r\n let homeOwnersNavInner = document.getElementById('event-tabs');\r\n\r\n if (homeOwnersNav) {\r\n\r\n function checkTabsWidth() {\r\n let navWidth = homeOwnersNav.offsetWidth;\r\n let navChildren = homeOwnersNavInner.children;\r\n let navInnerWidth = 32; // not 0, but the original spacing of parent element\r\n for (let i = 0; i < navChildren.length; i++) {\r\n navInnerWidth += parseInt(navChildren[i].offsetWidth, 10);\r\n }\r\n \r\n if(navWidth <= navInnerWidth){\r\n homeOwnersNav.classList.add('h-scrolled');\r\n } else {\r\n homeOwnersNav.classList.remove('h-scrolled');\r\n }\r\n \r\n // homeowners tabs nav controls\r\n // scroll to view when item is half hidden\r\n let hScrolledItems = document.querySelectorAll('.h-scrolled .nav-item');\r\n if (hScrolledItems.length) {\r\n hScrolledItems.forEach(el => {\r\n el.addEventListener('click', (e) => {\r\n let listWidth = homeOwnersNavInner.offsetWidth;\r\n let itemLeft = el.offsetLeft;\r\n let itemWidth = el.offsetWidth;\r\n let itemRight = itemLeft + itemWidth + 60;\r\n if (itemRight > listWidth) {\r\n let difference = itemRight - listWidth;\r\n homeOwnersNavInner.scroll({\r\n left: difference,\r\n behavior: 'smooth'\r\n });\r\n } else {\r\n homeOwnersNavInner.scroll({\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n }); \r\n });\r\n }\r\n }\r\n\r\n checkTabsWidth();\r\n \r\n window.addEventListener('resize', (e) => {\r\n checkTabsWidth();\r\n });\r\n\r\n \r\n // homeowners tabs nav controls\r\n homeOwnersNav.querySelector('.control-left').addEventListener('click', function () {\r\n homeOwnersNavInner.scrollBy({\r\n left: -200,\r\n behavior: 'smooth'\r\n });\r\n });\r\n homeOwnersNav.querySelector('.control-right').addEventListener('click', function () {\r\n homeOwnersNavInner.scrollBy({\r\n left: 200,\r\n behavior: 'smooth'\r\n });\r\n });\r\n\r\n }\r\n\r\n});"],"mappings":"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"}