{"version":3,"sources":["webpack:///./js/components/init-aos.js","webpack:///./js/components/init-carousel.js","webpack:///./js/components/init-mobile-carousel.js","webpack:///./js/utils/Animations.js","webpack:///./js/utils/groupBy.js","webpack:///./js/components/init-animations.js","webpack:///./js/components/init-nav-sticky.js","webpack:///./js/components/index.ts","webpack:///./js/components/init-smooth-scroll.js"],"names":["whenDomReady","then","AOS","initialiseCarousel","carousel","tns","container","controlsText","gutter","items","loop","nav","responsive","600","820","992","1240","1366","slideBy","speed","Array","from","document","querySelectorAll","forEach","button","setAttribute","breakpoint","parseInt","getAttribute","navPosition","controls","mouseDrag","disable","Animations","elements","array","expression","map","options","observer","IntersectionObserver","entries","handleEntries","element","observe","event","cssClass","target","reverse","isIntersecting","classList","add","remove","this","defaultOptions","threshold","window","matchMedia","matches","rootMargin","Map","item","key","collection","get","push","set","value","parseFloat","isNaN","createObserver","length","prevScrollY","startHeight","innerHeight","ACTIVE_CLASS","VISIBLE_CLASS","initialiseContainer","navigation","querySelector","scrollTop","sections","navSelectedDiv","createElement","i","innerText","toUpperCase","addEventListener","preventDefault","currentTarget","toggle","before","section","navItemDiv","navItemLink","dataset","sectionName","href","id","handleClick","appendChild","scrollTo","top","behavior","y","scrollY","parentElement","filter","intersectingEntry","find","entry","process","navLinks","navSelectedTrigger","navLink","navItem","substring","scrollToElement","getElementById","contains","scrollIntoView","links","e"],"mappings":"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","file":"components-faee24f1dc100b46417d.js","sourcesContent":["import AOS from '@netc/aos';\r\nimport whenDomReady from 'when-dom-ready';\r\n\r\nwhenDomReady().then(() => {\r\n // eslint-disable-next-line no-new\r\n new AOS();\r\n});\r\n","import { tns } from 'tiny-slider/src/tiny-slider';\r\nimport whenDomReady from 'when-dom-ready';\r\n\r\nfunction initialise() {\r\n const carousels = Array.from(document.querySelectorAll('.js-ds-carousel'));\r\n\r\n carousels.forEach(initialiseCarousel);\r\n}\r\n\r\n/**\r\n * Initialise carousel.\r\n * @param {HTMLElement} carousel\r\n */\r\nfunction initialiseCarousel(carousel) {\r\n tns({\r\n container: carousel,\r\n controlsText: [\r\n ``,\r\n ``,\r\n ],\r\n gutter: 24,\r\n items: 1,\r\n loop: false,\r\n nav: false,\r\n responsive: {\r\n 600: {\r\n items: 2,\r\n },\r\n 820: {\r\n items: 3,\r\n },\r\n 992: {\r\n items: 3,\r\n },\r\n 1240: {\r\n items: 2,\r\n },\r\n 1366: {\r\n items: 3,\r\n },\r\n },\r\n slideBy: 'page',\r\n speed: 600,\r\n });\r\n\r\n const buttonsContainer = Array.from(document.querySelectorAll('.tns-controls'));\r\n buttonsContainer.forEach(container => {\r\n const ctlButtons = Array.from(container.querySelectorAll('button'));\r\n ctlButtons.forEach(button => {\r\n button.setAttribute('type', 'button');\r\n });\r\n });\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","import { tns } from 'tiny-slider/src/tiny-slider';\r\nimport whenDomReady from 'when-dom-ready';\r\n\r\nfunction initialise() {\r\n const carousels = Array.from(document.querySelectorAll('.js-ds-mobile-carousel'));\r\n\r\n carousels.forEach(initialiseCarousel);\r\n}\r\n\r\n/**\r\n * Initialise carousel.\r\n * @param {HTMLElement} carousel\r\n */\r\nfunction initialiseCarousel(carousel) {\r\n const breakpoint = parseInt(carousel.getAttribute('data-disable-breakpoint'), 10);\r\n\r\n tns({\r\n container: carousel,\r\n items: 1,\r\n loop: true,\r\n nav: true,\r\n navPosition: 'bottom',\r\n controls: false,\r\n mouseDrag: true,\r\n disable: false,\r\n responsive: {\r\n [breakpoint]: {\r\n disable: true,\r\n },\r\n },\r\n });\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","import groupBy from './groupBy';\r\n\r\nexport default class Animations {\r\n constructor(elements) {\r\n this.defaultOptions = {\r\n threshold: window.matchMedia('(min-width: 768px)').matches ? 0.6 : 0.2,\r\n rootMargin: '-30px 0px',\r\n };\r\n\r\n // Gets a set of grouped elements using the anim-thresholds (threshold for intersection observer)\r\n const groupedElements = groupBy(elements, element =>\r\n element.getAttribute('data-ds-anim-threshold'),\r\n );\r\n\r\n groupedElements.forEach((value, key) => {\r\n const options = { ...this.defaultOptions };\r\n const threshold = parseFloat(key);\r\n\r\n if (!isNaN(threshold) && threshold < 1.0) {\r\n options.threshold = threshold;\r\n }\r\n\r\n this.createObserver(value, options);\r\n });\r\n }\r\n\r\n /**\r\n * Creates an IntersectionObserver for the given elements using the given options\r\n * @param {NodeList} elements\r\n * @param {Object} options\r\n */\r\n createObserver = (elements, options) => {\r\n const observer = new IntersectionObserver(entries => this.handleEntries(entries), options);\r\n elements.forEach(element => observer.observe(element));\r\n };\r\n\r\n /* handle entries run when a new element is observed (comes into view) */\r\n handleEntries = entries => {\r\n entries.forEach(event => {\r\n const cssClass = event.target.getAttribute('data-ds-anim');\r\n const reverse = event.target.getAttribute('data-ds-anim-reverse') !== null;\r\n\r\n if (!event.isIntersecting) {\r\n if (reverse) {\r\n event.target.classList.remove(cssClass);\r\n }\r\n\r\n return;\r\n }\r\n\r\n event.target.classList.add(cssClass);\r\n });\r\n };\r\n}\r\n","export default function groupBy(array, expression) {\r\n const map = new Map();\r\n array.forEach(item => {\r\n const key = expression(item);\r\n const collection = map.get(key);\r\n if (!collection) {\r\n map.set(key, [item]);\r\n } else {\r\n collection.push(item);\r\n }\r\n });\r\n return map;\r\n}\r\n","import whenDomReady from 'when-dom-ready';\r\n\r\nimport Animations from '../utils/Animations';\r\n\r\nfunction initialise() {\r\n const elements = Array.from(document.querySelectorAll('[data-ds-anim]'));\r\n\r\n if (!elements || !elements.length) {\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line\r\n new Animations(elements);\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","import whenDomReady from 'when-dom-ready';\r\n\r\nlet prevScrollY = 0;\r\nconst startHeight = window.innerHeight / 1.2;\r\n\r\nconst ACTIVE_CLASS = 'is-active';\r\nconst VISIBLE_CLASS = 'is-visible';\r\n\r\nfunction initialise() {\r\n const containers = Array.from(document.querySelectorAll('.js-ds-sections'));\r\n\r\n containers.forEach(initialiseContainer);\r\n}\r\n\r\n/**\r\n * Initialise navigation.\r\n * @param {HTMLElement} container\r\n */\r\nfunction initialiseContainer(container) {\r\n const navigation = container.querySelector('.js-ds-sections-nav');\r\n const scrollTop = container.querySelector('.js-ds-sections-scroll-top');\r\n\r\n if (navigation) {\r\n const sections = container.querySelectorAll('[id][data-section-name]');\r\n\r\n const navSelectedDiv = document.createElement('div');\r\n navSelectedDiv.classList.add('ds-nav-selected', 'js-ds-nav-selected');\r\n for (let i = 0; i < sections.length; i += 1) {\r\n navSelectedDiv.innerText = sections[0].getAttribute('data-section-name').toUpperCase();\r\n }\r\n navSelectedDiv.addEventListener('click', handleSelectedClick);\r\n\r\n navigation.before(navSelectedDiv);\r\n\r\n if (sections && sections.length) {\r\n for (let i = 0; i < sections.length; i += 1) {\r\n const section = sections[i];\r\n\r\n const navItemDiv = document.createElement('div');\r\n navItemDiv.classList.add('ds-nav-sticky__item');\r\n\r\n const navItemLink = document.createElement('a');\r\n navItemLink.classList.add('ds-nav-sticky__link');\r\n navItemLink.classList.add('js-ds-sections-nav-link');\r\n navItemLink.innerText = section.dataset.sectionName;\r\n navItemLink.href = `#${section.id}`;\r\n navItemLink.addEventListener('click', handleClick);\r\n\r\n navItemDiv.appendChild(navItemLink);\r\n navigation.appendChild(navItemDiv);\r\n }\r\n }\r\n }\r\n\r\n if (scrollTop) {\r\n scrollTop.addEventListener('click', event => {\r\n event.preventDefault();\r\n\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n });\r\n\r\n window.addEventListener('scroll', handleScroll);\r\n }\r\n\r\n const sections = Array.from(container.querySelectorAll('.ds-section')).filter(\r\n section => section.id,\r\n );\r\n\r\n if (sections && sections.length) {\r\n const observer = new IntersectionObserver(handleIntersection, {\r\n // Wait until elements intersect the midpoint of the screen\r\n rootMargin: '-50%',\r\n });\r\n\r\n sections.forEach(section => {\r\n observer.observe(section);\r\n });\r\n }\r\n\r\n /**\r\n * Handle navigation item click.\r\n * @param {Event} event\r\n */\r\n function handleClick(event) {\r\n event.preventDefault();\r\n\r\n const href = event.currentTarget.getAttribute('href').substring(1);\r\n\r\n const scrollToElement = document.getElementById(href);\r\n\r\n const navSelectedTrigger = document.querySelector('.js-ds-nav-selected');\r\n\r\n if (!scrollToElement) {\r\n return;\r\n }\r\n\r\n if (navSelectedTrigger && navSelectedTrigger.classList.contains(ACTIVE_CLASS)) {\r\n navSelectedTrigger.classList.remove(ACTIVE_CLASS);\r\n }\r\n\r\n scrollToElement.scrollIntoView({\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n /**\r\n * Handle selected click.\r\n * @param {Event} event\r\n */\r\n function handleSelectedClick(event) {\r\n event.preventDefault();\r\n\r\n event.currentTarget.classList.toggle(ACTIVE_CLASS);\r\n }\r\n\r\n /**\r\n * Handle intersections.\r\n * @param {[IntersectionObserverEntry]} entries\r\n */\r\n function handleIntersection(entries) {\r\n const intersectingEntry = entries.find(entry => entry.isIntersecting);\r\n\r\n // Don't need to act on something leaving, only entering.\r\n if (!intersectingEntry) {\r\n return;\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n // eslint-disable-next-line no-console\r\n console.log('Intersection:', intersectingEntry.target.id, intersectingEntry);\r\n }\r\n\r\n const navLinks = Array.from(navigation.querySelectorAll('.js-ds-sections-nav-link'));\r\n const navSelectedTrigger = document.querySelector('.js-ds-nav-selected');\r\n\r\n navLinks.forEach(navLink => {\r\n const navItem = navLink.parentElement;\r\n\r\n if (navLink.getAttribute('href') === `#${intersectingEntry.target.id}`) {\r\n if (navSelectedTrigger) {\r\n navSelectedTrigger.innerText = navLink.innerText;\r\n }\r\n\r\n navItem.classList.add(ACTIVE_CLASS);\r\n } else {\r\n navItem.classList.remove(ACTIVE_CLASS);\r\n }\r\n });\r\n }\r\n\r\n function handleScroll() {\r\n const y = window.scrollY;\r\n\r\n if (y > prevScrollY) {\r\n scrollTop.parentElement.classList.remove(VISIBLE_CLASS);\r\n }\r\n\r\n if (y < prevScrollY && y > startHeight) {\r\n scrollTop.parentElement.classList.add(VISIBLE_CLASS);\r\n } else {\r\n scrollTop.parentElement.classList.remove(VISIBLE_CLASS);\r\n }\r\n prevScrollY = y;\r\n }\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","import './init-aos';\r\nimport './init-carousel';\r\nimport './init-mobile-carousel';\r\nimport './init-animations';\r\nimport './init-nav-sticky';\r\nimport './init-smooth-scroll';\r\nif (document.querySelector('.js-ds-product-feature')) {\r\n import(/* webpackChunkName: \"product-features\" */ './init-product-features');\r\n}\r\nif (document.querySelector('.js-accessories-picker')) {\r\n import(/* webpackChunkName: \"accessories-picker\" */ './init-accessories-picker');\r\n}\r\nif (document.querySelector('.js-input-image')) {\r\n import(/* webpackChunkName: \"input-image\" */ './init-input-image');\r\n}\r\nif (document.querySelector('.js-modal')) {\r\n import(/* webpackChunkName: \"modal\" */ './init-modal');\r\n}\r\nif (document.querySelector('.js-product-carousel')) {\r\n import(/* webpackChunkName: \"product-carousel\" */ './init-tiny-slider');\r\n}\r\nif (document.querySelector('.js-variant-link')) {\r\n import(/* webpackChunkName: \"product-detail-variants\" */ './init-product-detail-variants');\r\n}\r\nif (document.querySelector('.js-mpps')) {\r\n import(/* webpackChunkName: \"mpps-banner\" */ './init-mpps-banner');\r\n}\r\nif (document.querySelector('.js-selector-tools')) {\r\n import(/* webpackChunkName: \"selector-tools\" */ './init-selector-tools');\r\n}\r\nif (document.querySelector('.js-review-scroll')) {\r\n import(/* webpackChunkName: \"review-scroll\" */ './init-review-scroll');\r\n}\r\nif (document.querySelector('.js-step-by-step-tab')) {\r\n import(/* webpackChunkName: \"step-by-step-tabs\" */ './init-tabs');\r\n}\r\nif (document.querySelector('.js-fdr-modal-form')) {\r\n import(/* webpackChunkName: \"fan-de-ryobi\" */ './fan-de-ryobi/init-form');\r\n}\r\nif (document.querySelector('.js-ds-accordion')) {\r\n import(/* webpackChunkName: \"accordion\" */ './init-accordion');\r\n}\r\nif (document.querySelector('.js-scroll-to-products')) {\r\n import(/* webpackChunkName: \"scroll-to-products\" */ './init-scroll-to-products');\r\n}\r\nif (document.querySelector('.js-float-scroll-range')) {\r\n import(/* webpackChunkName: \"scroll-to-products\" */ './init-scroll-to-range');\r\n}\r\nif (document.querySelector('.js-video-carousel-container')) {\r\n import(/* webpackChunkName: \"video-carousel\" */ './init-video-carousel');\r\n}\r\nif (document.querySelector('.js-ds-video-thumbnail')) {\r\n import(/* webpackChunkName: \"video-modal\" */ './init-video-modal');\r\n}\r\nif (document.querySelector('.js-battery-carousel')) {\r\n import(/* webpackChunkName: \"battery-carousel\" */ './init-battery-carousel');\r\n}\r\nif (document.querySelector('.js-fs-image-slider')) {\r\n import(/* webpackChunkName: \"image-compare\" */ './init-image-compare');\r\n}\r\nif (document.querySelector('.js-mp-scrolling-container')) {\r\n import(/* webpackChunkName: \"scrolling-banner\" */ './init-scrolling-banner');\r\n}\r\nif (document.querySelector('.js-calendar-tab')) {\r\n import(/* webpackChunkName: \"calendar-tabs\" */ './init-calendar');\r\n}\r\nif (document.querySelector('.js-sold-as-carousel')) {\r\n import(/* webpackChunkName: \"sold-as-carousel\" */ './init-sold-as-carousel');\r\n}\r\nif (document.querySelector('.js-disable-right-click')) {\r\n import(/* webpackChunkName: \"right-click\" */ './init-right-click');\r\n}\r\nif (document.querySelector('.js-input-file')) {\r\n import(/* webpackChunkName: \"input-file\" */ './init-input-file');\r\n}\r\nif (document.querySelector('.instrument-guide__tabs')) {\r\n import(/* webpackChunkName: \"instrument-guide\" */ './init-instrument-carousel');\r\n}\r\nif (document.querySelector('.js-fit-text')) {\r\n import(/* webpackChunkName: \"fitty\" */ './init-fit-text');\r\n}\r\nif (document.querySelector('.js-instruments-nav')) {\r\n import(/* webpackChunkName: \"instruments-nav\" */ './init-instruments-nav');\r\n}\r\nif (document.querySelector('.js-scrub-carousel')) {\r\n import(/* webpackChunkName: \"scrubber-carousel\" */ './init-scrubber-carousel');\r\n}\r\nif (document.querySelector('.js-select-head')) {\r\n import(/* webpackChunkName: \"scrub-head-selector\" */ './init-scrub-head-selector');\r\n}\r\nif (document.querySelector('.js-focus-navigation')) {\r\n import(/* webpackChunkName: \"focus-navigation\" */ './init-focus-navigation');\r\n}\r\nif (document.querySelector('.js-classification-button')) {\r\n import(/* webpackChunkName: \"classification-table\" */ './init-classification-table');\r\n}\r\nif (document.querySelector('.js-tabbed-category')) {\r\n import(/* webpackChunkName: \"tabbed-tips\" */ './init-tabbed-tips');\r\n}\r\nif (document.querySelector('.js-jump-page-nav')) {\r\n import(/* webpackChunkName: \"jump-page-nav\" */ './jump-page-nav');\r\n}\r\nif (document.querySelector('.js-roboyagi-navigation')) {\r\n import(/* webpackChunkName: \"roboyagi-nav\" */ './init-roboyagi-navigation');\r\n}\r\n","\r\nconst links = document.querySelectorAll('a.js-smooth-scroll[href^=\"#\"]');\r\nfor (let i = 0; i < links.length; i += 1) {\r\n links[i].addEventListener('click', e => {\r\n const target = document.querySelector(e.currentTarget.getAttribute('href'));\r\n if (target) {\r\n e.preventDefault();\r\n target.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n })\r\n}"],"sourceRoot":""}