{"version":3,"sources":["program-benefits.js"],"names":["ProgramBenefits","_this","this","_classCallCheck","Object","defineProperty","enumerable","writable","value","$","document","ready","init","window","addEventListener","once","passive","body","off","player","stop","_this2","YT","Player","height","width","videoId","events","onReady","on","pauseVideo","onStateChange","event","data","PlayerState","PLAYING","ENDED","_satellite","track","removeClass","addClass","initTabs","initTable","initDelayedLinks","initVideoPlayer","initCarousel","containerElm","querySelector","style","display","pageIndicator","PageIndicator","snapScrollPage","SnapScrollPage","updateFocusability","_containerElm","cardsElm","Array","from","querySelectorAll","visibleCount","forEach","cardElm","classesToAdd","isFlipped","itemElm","classList","contains","find","$front","idx","_this3","elm","parentElement","removeChild","setAttribute","onPageChange","_ref","currentPageIndex","detail","setPageIndex","onPageIndicatorClick","_ref2","index","onScrollOverflowChange","_ref3","target","hasScrollOverflow","removeEventListener","preventDefault","stopImmediatePropagation","closest","toggleClass","showElms","length","_elm$classList","containerSelector","push","remove","add","apply","reverse","prepend","setPageCount","_this4","href","attr","setTimeout","location","scrollPosition","getBoundingClientRect","top","isMobile","matchMedia","matches","timeframe","updateTable","scrollLeft","benefitsTableScrollWidth","clearTimeout","updateShown","$tableWrapper","tableWrapperElm","prevntDefault","tablePosition","animate","$tabs","bg_image_src","tab_two","tab_three","click","tab_id","$tab","isScrollingDown","i","e","replace","_this5","handleVideoPlayerReady","stopVideo","$container","shouldDisable","arguments","undefined","preventKeyboardNav","$focusableElms","addBack","removeAttr"],"mappings":"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","file":"program-benefits.min.js","sourcesContent":["class ProgramBenefits {\r\n\r\n constructor() {\r\n $(document).ready(() => this.init());\r\n\r\n window.addEventListener('unload', () => {\r\n this.destroy();\r\n }, { once: true, passive: true });\r\n }\r\n\r\n player = null;\r\n snapScrollPage = null;\r\n pageIndicator = null;\r\n\r\n /**\r\n * Destroy's the class\r\n */\r\n destroy() {\r\n $(document.body).off('click');\r\n $(document).off('scroll');\r\n\r\n if (this.player != null) {\r\n this.player.stop();\r\n }\r\n this.player = null;\r\n }\r\n\r\n /**\r\n * Handles the video player ready\r\n */\r\n handleVideoPlayerReady() {\r\n if (window.YT == null) {\r\n return;\r\n }\r\n // This function creates an ')\r\n // .attr('src', 'https://www.youtube.com/embed/' + videoid + '?rel=0&autoplay=1')\r\n // .appendTo('.video-wrapper');\r\n\r\n $('.video-overlay').removeClass('hidden');\r\n });\r\n\r\n // Close video overlay onclick\r\n $('.video-player-background, .video-close').on('click', () => {\r\n // e.preventDefault();\r\n\r\n //close popup\r\n $('.video-overlay').addClass('hidden'); \r\n //remove active video\r\n // $('.video-wrapper').find('iframe').remove();\r\n });\r\n }\r\n\r\n /**\r\n * Initializing the page\r\n */\r\n init() {\r\n this.initTabs();\r\n this.initTable();\r\n this.initDelayedLinks();\r\n this.initVideoPlayer();\r\n this.initCarousel();\r\n }\r\n\r\n initCarousel() {\r\n const containerSelector = '.awards-carousel';\r\n const containerElm = document.querySelector(containerSelector);\r\n\r\n if (containerElm == null) {\r\n return;\r\n }\r\n\r\n containerElm.style.display = 'block';\r\n\r\n this.pageIndicator = new PageIndicator();\r\n this.snapScrollPage = new window.SnapScrollPage();\r\n\r\n this.pageIndicator.init(containerElm);\r\n this.snapScrollPage.init(containerElm, 'li.show-item');\r\n\r\n /**\r\n * Update which vehicles are shown. Called from selecting a tab category\r\n *\r\n * @param [tabId] - The selected tab id\r\n */\r\n const updateShown = () => {\r\n const _containerElm = document.querySelector(containerSelector);\r\n\r\n if (_containerElm == null) {\r\n return;\r\n }\r\n\r\n const cardsElm = _containerElm.querySelector('.scroll-snap-page-container');\r\n\r\n if (cardsElm == null) {\r\n return;\r\n }\r\n\r\n const showElms = Array.from(cardsElm.querySelectorAll('.scroll-snap-page'));\r\n const visibleCount = showElms.length;\r\n\r\n showElms\r\n .forEach((elm, idx) => {\r\n const classesToAdd = ['show-item'];\r\n\r\n if (idx == 0) {\r\n classesToAdd.push('first');\r\n } else if (idx === (visibleCount - 1)) {\r\n classesToAdd.push('last');\r\n }\r\n\r\n elm.parentElement.removeChild(elm);\r\n elm.classList.remove('first', 'last');\r\n elm.setAttribute('data-index', idx.toString());\r\n elm.classList.add(...classesToAdd);\r\n });\r\n\r\n showElms.reverse().forEach((elm) => {\r\n cardsElm.prepend(elm);\r\n });\r\n\r\n this.pageIndicator.setPageCount(visibleCount);\r\n this.snapScrollPage.setPageCount(visibleCount);\r\n };\r\n\r\n /*\r\n * Updates the cards focusability\r\n */\r\n const updateFocusability = () => {\r\n const _containerElm = document.querySelector(containerSelector);\r\n\r\n if (_containerElm == null) {\r\n return;\r\n }\r\n\r\n const cardsElm = Array.from(_containerElm.querySelectorAll('.scroll-snap-page'));\r\n\r\n if (cardsElm == null) {\r\n return;\r\n }\r\n\r\n cardsElm.forEach((cardElm) => {\r\n const itemElm = cardElm.querySelector('.item');\r\n const isFlipped = itemElm.classList.contains('flipped');\r\n\r\n const $back = $(itemElm).find('.item-back');\r\n const $front = $(itemElm).find('.item-front');\r\n\r\n if (isFlipped) {\r\n this.updateFocusability($front, true);\r\n this.updateFocusability($back, false);\r\n } else {\r\n this.updateFocusability($front, false);\r\n this.updateFocusability($back, true);\r\n }\r\n });\r\n };\r\n\r\n\r\n /**\r\n * The page change event handler\r\n *\r\n * @param event - The page change event\r\n */\r\n const onPageChange = ({ detail: { currentPageIndex } }) => {\r\n this.pageIndicator.setPageIndex(currentPageIndex);\r\n };\r\n\r\n /**\r\n * The page indicator click event handler\r\n *\r\n * @param event - The page indicator click event\r\n */\r\n const onPageIndicatorClick = ({ detail: { index }}) => {\r\n this.snapScrollPage.goTo(index);\r\n };\r\n\r\n /**\r\n * Handles the snap scroll page scroll overflow change event\r\n *\r\n * @param event - The scroll overflow change event\r\n */\r\n const onScrollOverflowChange = ({ detail: { hasScrollOverflow }, target }) => {\r\n target.classList[hasScrollOverflow ? 'add' : 'remove']('has-overflow');\r\n };\r\n\r\n containerElm.addEventListener('pagechange', onPageChange);\r\n containerElm.addEventListener('scrolloverflowchange', onScrollOverflowChange);\r\n containerElm.addEventListener('indicatorclick', onPageIndicatorClick);\r\n\r\n $(document).on('unload', () => {\r\n const _containerElm = document.querySelector(containerSelector);\r\n\r\n _containerElm.removeEventListener('pagechange', onPageChange);\r\n _containerElm.removeEventListener('scrolloverflowchange', onScrollOverflowChange);\r\n _containerElm.removeEventListener('indicatorclick', onPageIndicatorClick);\r\n });\r\n\r\n /*\r\n * FLIP START\r\n * - Flip - OWL item\r\n * - onclick flip award show details\r\n * - this adds '.flipped' to owl item\r\n */\r\n $('.awards .item .btn').on('click', function(event) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n\r\n _satellite.track('benefits_kbb');\r\n \r\n $(this).closest('.item').toggleClass('flipped');\r\n\r\n updateFocusability();\r\n });\r\n\r\n updateShown();\r\n updateFocusability();\r\n }\r\n\r\n /**\r\n * Initializing the delayed links handler\r\n */\r\n initDelayedLinks() {\r\n // add 1 sec delay to links (TAP reasons)\r\n $(document.body).on('click', '[data-delay-link=\"true\"]', (event) => {\r\n event.prevntDefault();\r\n\r\n const href = $(this).attr('href');\r\n\r\n setTimeout(() => { \r\n window.location.href = href;\r\n }, 1000);\r\n });\r\n }\r\n\r\n /**\r\n * Intializes the table\r\n */\r\n initTable() {\r\n // make mobile table horizontally scrollable\r\n const benefitsTableScrollWidth = $('#table-wrapper')[0].scrollWidth || 0;\r\n let scrollPosition = document.body.getBoundingClientRect().top;\r\n let isMobile = window.matchMedia('only screen and (max-width: 47.99em)').matches;\r\n let timeframe;\r\n\r\n const updateTable = () => {\r\n isMobile = window.matchMedia('only screen and (max-width: 47.99em)').matches;\r\n\r\n if (isMobile) {\r\n // init table scrolled to right\r\n $('#table-wrapper').addClass('table-responsive').scrollLeft(benefitsTableScrollWidth);\r\n } else {\r\n $('#table-wrapper').removeClass('table-responsive');\r\n }\r\n };\r\n\r\n $(window).on('resize', () => {\r\n if (timeframe) {\r\n clearTimeout(timeframe);\r\n }\r\n timeframe = setTimeout(updateTable, 300);\r\n });\r\n\r\n // document scroll event\r\n $(document).on('scroll', () => {\r\n const $tableWrapper = $('#table-wrapper');\r\n const tableWrapperElm = $tableWrapper[0];\r\n\r\n if (tableWrapperElm == null) {\r\n return;\r\n }\r\n // get scroll direction\r\n const isScrollingDown = document.body.getBoundingClientRect().top < scrollPosition;\r\n \r\n if (isScrollingDown) {\r\n const tablePosition = tableWrapperElm.getBoundingClientRect();\r\n\r\n // fires when mobile table is partially visible\r\n if (isMobile && tablePosition.top >= 350) {\r\n \r\n setTimeout(() => {\r\n $tableWrapper.animate({ scrollLeft: 0 }, function() {\r\n // animation complete\r\n $(this).stop(true, true); \r\n });\r\n }, 500);\r\n }\r\n }\r\n\r\n // saves the new position for iteration\r\n scrollPosition = document.body.getBoundingClientRect().top;\r\n });\r\n\r\n // if is mobile, add 'table-responsive' class\r\n updateTable(); \r\n }\r\n\r\n /**\r\n * Initilizes the tabs\r\n */\r\n initTabs() {\r\n /*\r\n * Honda Care tab START\r\n * - change active li\r\n * - change active tab \r\n * - change active tab bg-image\r\n */\r\n const $tabs = $('ul.tab li');\r\n const image_path = '/images/program-benefits/';\r\n let tab_id;\r\n\r\n // background img for tab content\r\n const bg_image_src = {\r\n tab_one: 'honda-care-tab-one.png',\r\n tab_two: 'honda-care-tab-two.png',\r\n tab_three: 'honda-care-tab-three.png',\r\n };\r\n\r\n $tabs.click(function() {\r\n const $tab = $(this);\r\n\r\n // get tab id on click\r\n tab_id = $tab.attr('data-tab');\r\n\r\n // remove active class \r\n $tabs.find('a').removeClass('active');\r\n $('.tabcontent').removeClass('active');\r\n\r\n // remove '-active' from icon\r\n $tabs.find('img').attr('src', function(i, e) {\r\n return e.replace('-active.png', '.png');\r\n });\r\n\r\n // add '-active' to icon\r\n $tab.find('img').attr('src', function(i, e) {\r\n return e.replace('.png', '-active.png');\r\n });\r\n\r\n // add active class to current tab\r\n $tab.find('a').addClass('active');\r\n $(`#${tab_id}`).addClass('active');\r\n\r\n //set tab large background 'bg_image_src'\r\n $('.honda-care .section').css('background-image', `url(${image_path + bg_image_src[tab_id]})`);\r\n });\r\n }\r\n\r\n /**\r\n * Initilizes the video player\r\n */\r\n initVideoPlayer() {\r\n if (window.YT != null) {\r\n window.YT.ready(() => {\r\n this.handleVideoPlayerReady();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Stop the video player\r\n */\r\n stopVideo() {\r\n this.player.stopVideo();\r\n }\r\n\r\n /**\r\n * Updates focusability on focuable elements within given container\r\n * \r\n * @param {jQuery.elm} $container - The container to disable / enable focus on\r\n * @param {boolean} [shouldDisable] `true` to diaable focus, `false` to enable focus\r\n * @param {boolean} [preventKeyboardNav] `true` to prevent keyboard nav, `false` to not\r\n */\r\n updateFocusability($container, shouldDisable = false, preventKeyboardNav = false) {\r\n const $focusableElms = $container.find('a,button,iframe,object,embed,[contenteditable],input,select,textarea').addBack();\r\n\r\n if (shouldDisable) {\r\n $focusableElms.attr('disabled', 'true');\r\n $focusableElms.attr('tabindex', '-1');\r\n $focusableElms.attr('aria-hidden', 'true');\r\n } else {\r\n $focusableElms.removeAttr('disabled');\r\n\r\n if (!preventKeyboardNav) {\r\n $focusableElms.removeAttr('tabindex');\r\n $focusableElms.removeAttr('aria-hidden');\r\n }\r\n } \r\n }\r\n\r\n /*\r\n \r\n * Toggle active class\r\n * using JS only\r\n \r\n */\r\n\r\n // function openTab(evt, tabName) {\r\n // let i, tabcontent, tablinks;\r\n // tabcontent = document.getElementsByClassName('tabcontent');\r\n // for (i = 0; i < tabcontent.length; i++) {\r\n // tabcontent[i].style.display = 'none';\r\n // }\r\n // tablinks = document.getElementsByClassName('tablinks');\r\n // for (i = 0; i < tablinks.length; i++) {\r\n // tablinks[i].className = tablinks[i].className.replace(' active', ');\r\n // }\r\n // document.getElementById(tabName).style.display = 'block';\r\n // evt.currentTarget.className += ' active';\r\n // }\r\n}\r\n"]}