{"version":3,"sources":["webpack:///./src/js/modules/accordion.js","webpack:///./src/js/modules/header.js","webpack:///./node_modules/element-closest-polyfill/index.js","webpack:///./src/js/modules/navigationV2.js","webpack:///./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js"],"names":["Module","this","dom","items","el","querySelectorAll","triggers","i","length","addEventListener","toggle","e","item","target","closest","details","querySelector","opened","filter","classList","contains","isOpen","openedDetails","remove","close","checkIfItsNavigationAccordion","add","open","checkIfItsMenuAccordion","scrollIntoView","behavior","block","inline","cta","document","Component","header","toggleTrigger","itemsContainer","mobileSubNavTriggers","dropdowns","body","navigationV2","navigationWrapper","navigationv2Sections","a11yDefaultLabel","focusableItems","Array","from","isDesktop","window","matchMedia","matches","offset","getClientRects","height","scrollTop","pageYOffset","documentElement","calcDrodpdownsPosition","NavigationV2","ariaLabelOpened","dataset","a11yOpenedLabel","ariaLabelClosed","a11yClosedLabel","setAttribute","onScroll","toggleMobileMenu","key","trapFocus","forEach","index","toggleItem","firstItem","lastItem","activeElement","shiftKey","preventDefault","focus","dropdown","windowWidth","innerWidth","width","offsetWidth","getBoundingClientRect","left","span","style","transform","removeProperty","scroll","onScrollDown","onScrollUp","removeAnchorFromURL","outAnimation","spans","triggerSequence","at","opacity","timeline","delay","resetScrollAndMarker","inAnimation","history","replaceState","location","href","split","overflow","closeTrigger","pointerEvents","openTrigger","_index","Element","prototype","msMatchesSelector","webkitMatchesSelector","s","parentElement","parentNode","nodeType","sections","navLi","nav","marker","animatedElements","sectionsWrapper","navigationContainer","mobileNavigation","container","markerOffset","isScrollingUp","activeSection","opacitySection","buildMobileNavigation","clickSectionEvent","activeTab","id","section","handleMouseOverSection","link","handleMouseClick","handleScroll","findScrollDirectionOtherBrowsers","current","sectionTop","offsetTop","currentSection","offsetHeight","getAttribute","event","delta","wheelDelta","deltaY","currentTarget","innerHTML","disableBodyScroll","animate","duration","stagger","start","visibility","enableBodyScroll","li","addClassToArray","setActiveMarker","viewportHeight","innerHeight","elementOffsetTop","elementHeight","distance","percentage","Math","round","min","max","array","className","element","marginTop","y","name","getLiNameClass","getTemplate","getMobileHeader","getContainer","initAnalytics","Accordion","Analytics","oneColumns","twoColumns","outerHTML","value","trim","linkToSection","toLowerCase","hasPassiveEvents","passiveTestOptions","removeEventListener","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPosition","previousBodyPaddingRight","allowTouchMove","some","lock","options","rawEvent","touches","restoreOverflowSetting","undefined","paddingRight","restorePositionSetting","parseInt","top","x","position","scrollTo","targetElement","concat","arr","isArray","arr2","_toConsumableArray","requestAnimationFrame","_window","scrollY","scrollX","setTimeout","bottomBarHeight","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","clientWidth","computedBodyPaddingRight","getComputedStyle","getPropertyValue","setOverflowHidden","ontouchstart","targetTouches","clientY","ontouchmove","scrollHeight","clientHeight","isTargetElementTotallyScrolled","stopPropagation","passive","console","error","clearAllBodyScrollLocks"],"mappings":"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","file":"20.1781208d5c32ab675ca8.js","sourcesContent":["import 'element-closest-polyfill';\n\nimport { close, open } from '../helpers';\n\nimport { Component } from '@verndale/core';\n\nclass Module extends Component {\n setupDefaults() {\n this.dom = {\n items: [...this.el.querySelectorAll('.accordion-item')],\n triggers: [...this.el.querySelectorAll('.accordion-item__button')]\n };\n }\n\n addListeners() {\n // Using for loop to support IE11\n for (let i = 0; i < this.dom.triggers.length; i++) {\n const el = this.dom.triggers[i];\n el.addEventListener('click', ::this.toggle);\n }\n }\n\n toggle(e) {\n const item = e.target.closest('.accordion-item');\n const details = item.querySelector('.accordion-item__details');\n const opened = this.dom.items.filter(el => el.classList.contains('opened'));\n const isOpen = item.classList.contains('opened');\n\n if (opened.length) {\n const openedDetails = opened[0].querySelector('.accordion-item__details');\n\n opened[0].classList.remove('opened');\n close(openedDetails);\n }\n\n if (isOpen) {\n item.classList.remove('opened');\n this.checkIfItsNavigationAccordion(false);\n close(details);\n } else {\n item.classList.add('opened');\n this.checkIfItsNavigationAccordion(true);\n if (item.classList.contains('mobile-navigation-v2-item')) {\n open(details, 0.6, 'easeIn', () => this.checkIfItsMenuAccordion(item));\n } else {\n open(details);\n }\n }\n }\n\n checkIfItsMenuAccordion(item) {\n if (item.classList.contains('mobile-navigation-v2-item')) {\n item.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'start'\n });\n }\n }\n\n checkIfItsNavigationAccordion(isOpen) {\n const cta = document.querySelector('.mobile-contact-us-v2__cta');\n if (!cta) return;\n\n if (isOpen) {\n return cta.classList.add('opened');\n }\n\n cta.classList.remove('opened');\n }\n}\n\nexport default Module;\n","import { Component } from '@verndale/core';\nimport NavigationV2 from './navigationV2';\nimport { timeline } from 'motion';\n\nclass Module extends Component {\n setupDefaults() {\n this.dom = {\n header: document.querySelector('.header'),\n // openTrigger: this.el.querySelector('.header__nav-trigger--open'),\n // closeTrigger: this.el.querySelector('.header__nav-trigger--close'),\n toggleTrigger: this.el.querySelector('.header__nav-trigger--toggle'),\n itemsContainer: this.el.querySelector('.header__items'),\n items: this.el.querySelectorAll('.header__item'),\n mobileSubNavTriggers: this.el.querySelectorAll('.header__item__header'),\n dropdowns: this.el.querySelectorAll('.header__item__nested-dropdown'),\n body: document.body,\n navigationV2: document.querySelector('.navigation-v2'),\n navigationWrapper: document.querySelector('.navigation-v2__container'),\n navigationv2Sections: document.querySelector('.navigation-v2__sections')\n };\n\n this.a11yDefaultLabel = 'Click to toggle Primary Nav';\n this.focusableItems = [\n this.dom.toggleTrigger,\n ...Array.from(this.dom.navigationv2Sections.querySelectorAll('a, button'))\n ];\n\n this.isDesktop = () => window.matchMedia('(min-width: 980px)').matches;\n this.offset = this.dom.header.getClientRects()[0].height;\n this.scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n this.calcDrodpdownsPosition();\n this.navigationV2 = new NavigationV2(this.dom.navigationV2);\n this.ariaLabelOpened = this.el.dataset.a11yOpenedLabel;\n this.ariaLabelClosed = this.el.dataset.a11yClosedLabel;\n this.dom.toggleTrigger.setAttribute('aria-label', this.ariaLabelOpened || this.a11yDefaultLabel);\n }\n\n addListeners() {\n window.addEventListener('scroll', ::this.onScroll);\n //this.dom.openTrigger.addEventListener('click', ::this.openMobileMenu);\n // this.dom.closeTrigger.addEventListener('click', ::this.closeMobileMenu);\n this.dom.toggleTrigger.addEventListener('click', ::this.toggleMobileMenu);\n\n document.addEventListener('keydown', e => {\n if (\n this.dom.header.classList.contains('expanded') &&\n (e.key === 'Tab')\n ) {\n this.trapFocus(e);\n }\n });\n\n Array.from(this.dom.items).forEach((item, index) =>\n item.addEventListener('click', e => {\n if (this.isDesktop()) {\n this.toggleItem(e, item, index);\n }\n })\n );\n Array.from(this.dom.mobileSubNavTriggers).forEach((item, index) =>\n item.addEventListener('click', e => {\n if (!this.isDesktop()) {\n this.toggleItem(e, item.closest('.header__item'), index);\n }\n })\n );\n window.addEventListener('resize', ::this.calcDrodpdownsPosition);\n }\n\n trapFocus(e) {\n const focusableItems = this.focusableItems;\n const firstItem = focusableItems[0];\n const lastItem = focusableItems[focusableItems.length - 1];\n const activeElement = document.activeElement;\n\n if (e.shiftKey && activeElement === firstItem) {\n e.preventDefault();\n lastItem.focus();\n } else if (!e.shiftKey && activeElement === lastItem) {\n e.preventDefault();\n firstItem.focus();\n }\n }\n\n\n calcDrodpdownsPosition() {\n this.dom.dropdowns.forEach(dropdown => {\n const windowWidth = window.innerWidth;\n const width = dropdown.offsetWidth;\n const { left } = dropdown.getBoundingClientRect();\n\n if (left + width > windowWidth) {\n dropdown.classList.add('header__item__nested-dropdown--right');\n } else {\n dropdown.classList.remove('header__item__nested-dropdown--right');\n }\n });\n\n if (this.dom.header.classList.contains('expanded')) return;\n\n [...document.querySelectorAll('.header__nav-trigger--toggle span')].forEach(\n span => {\n if (span.style.transform) span.style.removeProperty('transform');\n }\n );\n }\n\n onScroll() {\n const scroll = window.pageYOffset || document.documentElement.scrollTop;\n\n if (scroll > this.scrollTop) {\n this.onScrollDown();\n } else if (scroll < this.scrollTop) {\n this.onScrollUp();\n }\n\n this.scrollTop = scroll;\n }\n\n onScrollDown() {\n if (\n document\n .querySelector('.navigation-v2__container')\n .classList.contains('navigation-v2__container--open')\n )\n return;\n\n this.dom.body.classList.remove('scrolling-up');\n\n if (this.scrollTop > this.offset) {\n this.dom.body.classList.add('scrolling-down');\n } else {\n this.dom.body.classList.remove('scrolling-down');\n }\n }\n\n onScrollUp() {\n if (\n document\n .querySelector('.navigation-v2__container')\n .classList.contains('navigation-v2__container--open')\n )\n return;\n this.dom.body.classList.remove('scrolling-down');\n\n if (this.scrollTop < this.offset) {\n this.dom.body.classList.remove('scrolling-up');\n } else {\n this.dom.body.classList.add('scrolling-up');\n }\n }\n\n toggleMobileMenu() {\n if (this.dom.header.classList.contains('expanded')) {\n this.removeAnchorFromURL();\n this.dom.header.classList.remove('expanded');\n this.navigationV2.outAnimation();\n this.dom.navigationWrapper.setAttribute('aria-hidden', 'true');\n this.dom.toggleTrigger.setAttribute('aria-expanded', 'false');\n this.dom.toggleTrigger.setAttribute('aria-label', this.ariaLabelOpened || this.a11yDefaultLabel);\n this.dom.toggleTrigger.focus();\n const spans = this.dom.toggleTrigger.querySelectorAll('span');\n\n if (this.isDesktop()) {\n const triggerSequence = [\n [spans[0], { transform: 'translate(0, 0) rotate(0deg)' }, { at: 0 }],\n [spans[2], { transform: 'translate(0, 0) rotate(0deg)' }, { at: 0 }],\n 'translate',\n [spans[0], { transform: 'translate(0, -9px)' }, { at: 'translate' }],\n [spans[1], { opacity: 1 }, { at: 'translate' }],\n [spans[2], { transform: 'translate(0, 9px)' }, { at: 'translate' }]\n ];\n timeline(triggerSequence, { delay: 0.25 });\n } else {\n const triggerSequence = [\n [spans[0], { transform: 'translate(0, 0) rotate(0deg)' }, { at: 0 }],\n [spans[2], { transform: 'translate(0, 0) rotate(0deg)' }, { at: 0 }],\n 'translate',\n [spans[0], { transform: 'translate(0, -6px)' }, { at: 'translate' }],\n [spans[1], { opacity: 1 }, { at: 'translate' }],\n [spans[2], { transform: 'translate(0, 6px)' }, { at: 'translate' }]\n ];\n timeline(triggerSequence, { delay: 0.25 });\n }\n\n this.dom.navigationWrapper.classList.remove(\n 'navigation-v2__container--open'\n );\n this.dom.navigationv2Sections.classList.remove(\n 'navigation-v2__animated-item--ready'\n );\n this.navigationV2.resetScrollAndMarker();\n } else {\n this.dom.header.classList.add('expanded');\n this.navigationV2.inAnimation();\n this.dom.navigationWrapper.setAttribute('aria-hidden', 'false');\n this.dom.toggleTrigger.setAttribute('aria-expanded', 'true');\n this.dom.toggleTrigger.setAttribute('aria-label', this.ariaLabelClosed || this.a11yDefaultLabel);\n this.dom.toggleTrigger.focus();\n const spans = this.dom.toggleTrigger.querySelectorAll('span');\n const triggerSequence = [\n [spans[0], { transform: 'translate(0, 0)' }],\n [spans[1], { opacity: 0 }, { at: 0 }],\n [spans[2], { transform: 'translate(0, 0)' }, { at: 0 }],\n 'rotate',\n [\n spans[0],\n { transform: 'translate(0, 0) rotate(45deg)' },\n { at: 'rotate' }\n ],\n [\n spans[2],\n { transform: 'translate(0, 0) rotate(-45deg)' },\n { at: 'rotate' }\n ]\n ];\n timeline(triggerSequence, { delay: 0.25 });\n this.dom.navigationWrapper.classList.add(\n 'navigation-v2__container--open'\n );\n this.dom.navigationv2Sections.classList.add(\n 'navigation-v2__animated-item--ready'\n );\n }\n }\n\n removeAnchorFromURL() {\n window.history.replaceState({}, '', window.location.href.split('#')[0]);\n }\n\n openMobileMenu() {\n this.dom.header.classList.add('expanded');\n this.dom.body.style.overflow = 'hidden';\n // this.dom.navigationWrapper.classList.add('navigation-v2__container--open');\n // this.dom.navigationv2Sections.classList.add(\n // 'navigation-v2__animated-item--ready'\n // );\n this.navigationV2.inAnimation();\n }\n\n closeMobileMenu() {\n this.dom.closeTrigger.style.opacity = 0;\n this.dom.closeTrigger.style.pointerEvents = 'none';\n this.dom.openTrigger.style.opacity = 1;\n this.dom.openTrigger.style.pointerEvents = 'all';\n this.dom.header.classList.remove('expanded');\n this.dom.body.style.overflow = 'auto';\n // this.dom.navigationWrapper.classList.remove(\n // 'navigation-v2__container--open'\n // );\n // this.dom.navigationv2Sections.classList.remove(\n // 'navigation-v2__animated-item--ready'\n // );\n this.navigationV2.outAnimation();\n }\n\n toggleItem(e, item, index) {\n if (!this.isDesktop()) e.preventDefault();\n Array.from(this.dom.items).forEach((item, _index) => {\n if (_index !== index) {\n item.classList.remove('open');\n }\n });\n item.classList.toggle('open');\n }\n}\n\nexport default Module;\n","(function () {\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n }\r\n\r\n if (!Element.prototype.closest) {\r\n Element.prototype.closest = function (s) {\r\n var el = this;\r\n\r\n do {\r\n if (el.matches(s)) return el;\r\n el = el.parentElement || el.parentNode;\r\n } while (el !== null && el.nodeType === 1);\r\n return null;\r\n };\r\n }\r\n})();","import { animate, stagger } from 'motion';\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\n\nimport Accordion from './accordion';\nimport Analytics from './analytics';\nimport { Component } from '@verndale/core';\n\nclass Module extends Component {\n setupDefaults() {\n this.dom = {\n sections: this.el.querySelectorAll('article'),\n navLi: this.el.querySelectorAll('nav ul li'),\n nav: this.el.querySelector('nav'),\n marker: this.el.querySelector('.marker'),\n animatedElements: [\n ...this.el.querySelectorAll('.navigation-v2__animated-item')\n ],\n sectionsWrapper: this.el.querySelector('.navigation-v2__sections'),\n navigationContainer: this.el.closest('.navigation-v2__container'),\n body: document.body,\n mobileNavigation: document.querySelector(\n '.mobile-navigation-v2 .mobile-navigation-v2__items'\n ),\n container: this.el.closest('.navigation-v2__container')\n };\n this.markerOffset = 56;\n this.isScrollingUp = false\n\n this.activeSection = 'navigation-v2__section--active';\n this.opacitySection = 'navigation-v2__section--opacity';\n if (this.dom.mobileNavigation) {\n this.buildMobileNavigation();\n }\n this.clickSectionEvent = false;\n this.activeTab(this.dom.sections[0].id);\n }\n\n addListeners() {\n [...this.dom.sections].forEach(section =>\n section.addEventListener('mouseover', :: this.handleMouseOverSection)\n );\n\n [...this.dom.navLi].forEach(link =>\n link.addEventListener('click', :: this.handleMouseClick)\n );\n\n this.dom.navigationContainer.addEventListener(\n 'scroll',\n :: this.handleScroll\n );\n\n this.dom.navigationContainer.addEventListener('wheel', :: this.findScrollDirectionOtherBrowsers);\n }\n\n handleScroll() {\n let current = '';\n\n this.dom.sections.forEach(section => {\n const sectionTop = section.offsetTop;\n let currentSection;\n\n if (!this.clickSectionEvent) {\n currentSection = this.isScrollingUp ? sectionTop - 56 : sectionTop - (section.offsetHeight / 2) - 56;\n } else {\n currentSection = sectionTop - 56\n }\n\n if (this.dom.navigationContainer.scrollTop >= currentSection) {\n current = section.getAttribute('id');\n }\n });\n this.activeTab(current);\n this.clickSectionEvent = false;\n }\n\n findScrollDirectionOtherBrowsers(event) {\n let delta;\n if (event.wheelDelta) {\n delta = event.wheelDelta;\n } else {\n delta = -1 * event.deltaY;\n }\n if (delta < 0) {\n this.isScrollingUp = false\n } else if (delta > 0) {\n this.isScrollingUp = true\n }\n }\n\n\n handleMouseClick(event) {\n this.clickSectionEvent = true;\n this.activeTab(event.currentTarget.querySelector('a').innerHTML);\n }\n\n inAnimation() {\n disableBodyScroll(this.dom.container);\n this.dom.body.classList.remove('scrolling-down');\n this.dom.body.classList.add('scrolling-up');\n\n animate(\n this.dom.mobileNavigation.querySelectorAll('li'),\n {\n opacity: [0, 1],\n transform: ['translate(-75%, 0)', 'translate(0, 0)']\n },\n { duration: 0.6, delay: stagger(0.05, { start: 0.3 }) }\n );\n animate(\n this.dom.navLi,\n {\n opacity: [0, 1],\n transform: ['translate(-75%, 0)', 'translate(0, 0)']\n },\n { duration: 0.75, delay: stagger(0.1, { start: 0.15 }) }\n );\n animate(\n this.dom.container,\n {\n transform: ['translate(100%, 0)', 'translate(0, 0)']\n },\n { duration: window.matchMedia('(max-width: 1025px)').matches ? 0.75 : 1 }\n );\n animate(\n this.dom.animatedElements,\n {\n opacity: [0, 1],\n transform: ['translate(-150px, 0)', 'translate(0, 0)']\n },\n { duration: 0.75, delay: stagger(0.05, { start: 0.15 }) }\n );\n animate(\n this.dom.navigationContainer,\n {\n visibility: ['visible', 'visible']\n },\n {\n duration: 0.5\n }\n );\n }\n\n outAnimation() {\n animate(\n this.dom.mobileNavigation.querySelectorAll('li'),\n {\n opacity: [1, 0],\n transform: ['translate(0, 0)', 'translate(-150px, 0)']\n },\n { duration: 0.5, delay: stagger(0.05) }\n );\n animate(\n this.dom.navLi,\n {\n opacity: [1, 0],\n transform: ['translate(0, 0)', 'translate(-300px, 0)']\n },\n { duration: 0.5, delay: stagger(0.05) }\n );\n animate(\n this.dom.container,\n {\n transform: ['translate(0, 0)', 'translate(100%, 0)']\n },\n { duration: window.matchMedia('(max-width: 1025px)').matches ? 0.75 : 1 }\n );\n animate(\n this.dom.animatedElements,\n {\n opacity: [1, 0],\n transform: ['translate(0, 0)', 'translate(-300px, 0)']\n },\n { duration: 0.5, delay: stagger(0.05) }\n );\n animate(\n this.dom.navigationContainer,\n {\n visibility: ['visible', 'hidden']\n },\n {\n duration: 1\n }\n )\n enableBodyScroll(this.dom.container);\n }\n\n handleMouseOverSection(event) {\n this.activeTab(event.currentTarget.getAttribute('id'));\n }\n\n activeTab(current) {\n this.dom.navLi.forEach((li, index) => {\n li.classList.remove('active');\n this.dom.sections[index].classList.remove(this.activeSection);\n this.dom.sections[index].setAttribute('aria-disabled', true);\n if (li.classList.contains(current)) {\n li.classList.add('active');\n this.addClassToArray(this.dom.sections, this.opacitySection);\n this.dom.sections[index].classList.add(this.activeSection);\n this.dom.sections[index].setAttribute('aria-disabled', false);\n this.dom.sections[index].classList.remove(this.opacitySection);\n this.setActiveMarker(li, index);\n }\n\n });\n }\n\n percentageSeen(section) {\n // Get the relevant measurements and positions\n const viewportHeight = window.innerHeight;\n const scrollTop = this.dom.navigationContainer.scrollTop;\n const elementOffsetTop = section.offsetTop;\n const elementHeight = section.offsetHeight;\n\n // Calculate percentage of the element that's been seen\n const distance = scrollTop + viewportHeight - elementOffsetTop;\n const percentage = Math.round(\n distance / ((viewportHeight + elementHeight) / 100)\n );\n\n // Restrict the range to between 0 and 100\n return Math.min(100, Math.max(0, percentage));\n }\n\n addClassToArray(array, className) {\n array.forEach(element => element.classList.add(className));\n }\n\n resetScrollAndMarker() {\n this.dom.navigationContainer.scrollTop = 0;\n }\n\n setActiveMarker(element) {\n const nav = this.dom.nav.getBoundingClientRect();\n const li = element.getBoundingClientRect();\n\n this.dom.marker.style.marginTop = `${li.y - nav.y}px`;\n }\n\n buildMobileNavigation() {\n this.dom.navLi.forEach(li => {\n const name = this.getLiNameClass(li);\n const section = this.dom.sectionsWrapper.querySelector(`#${name}`);\n this.dom.mobileNavigation.innerHTML += this.getTemplate(\n li.querySelector('a').innerHTML,\n this.getMobileHeader(section),\n this.getContainer(section)\n );\n });\n\n this.initAnalytics();\n new Accordion(this.dom.mobileNavigation);\n }\n\n initAnalytics() {\n [\n ...this.dom.mobileNavigation.querySelectorAll(\n '.mobile-navigation-v2__link'\n ),\n ...this.dom.mobileNavigation.querySelectorAll('.navigation-v2__item a')\n ].forEach(link => new Analytics(link));\n }\n\n getContainer(section) {\n let innerHTML = '';\n\n const oneColumns = [\n ...section.querySelectorAll('.navigation-v2-one__container')\n ];\n\n if (oneColumns.length > 0) {\n oneColumns.forEach(element => (innerHTML += element.innerHTML));\n return innerHTML;\n }\n\n const twoColumns = [\n ...section.querySelectorAll(\n '.navigation-v2-two__container-title, .navigation-v2-two__container'\n )\n ];\n\n if (twoColumns.length > 0) {\n twoColumns.forEach(element => (innerHTML += element.outerHTML));\n return innerHTML;\n }\n }\n\n mapArrayInnerHTML(array) {\n return array.forEach(element => element.innerHTML);\n }\n\n getMobileHeader(section) {\n return section.querySelector('a');\n }\n\n getLiNameClass(li) {\n return li.classList.value.split(' ')[0].trim();\n }\n\n getTemplate(header, linkToSection, section) {\n return `