{"version":3,"sources":["../js/modules/helpers.js","../js/modules/fuse-nav.js","../js/main.js"],"names":["q$1","selector","context","document","querySelector","q$","querySelectorAll","createElement","el","cl","x","undefined","className","enableShareButtons","shareLinks","i","length","href","encodeURIComponent","window","location","FuseNav","element","navBar","market","getAttribute","init","scrollToEnd","getCurrentURL","innerHTML","epsteinLogo","articles","nav","info","clone","cloneNode","navItem","dataset","chapter","appendChild","parentNode","insertBefore","nextSibling","addEventListener","debounce","toggleBar","sourceURL","content","navItems","regex","item","match","classList","add","$","documentElement","body","animate","scrollTop","offset","top","bar","scrollY","innerHeight","remove","contains","func","wait","immediate","timeout","args","arguments","callNow","clearTimeout","setTimeout","apply","fuseMore"],"mappings":"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","file":"main.a56429f1.map","sourceRoot":"../src/html","sourcesContent":["/**\n * querySelector with optional context (defualt is document)\n */\n\nconst q$1 = (selector, context = document) => context.querySelector(selector);\n\n/**\n * querySelectorAll with optional context (defualt is document)\n */\n\nconst q$ = (selector, context = document) => context.querySelectorAll(selector);\n\n/**\n * Creates element with optional class (via className)\n * @param {string} element Element to createElement\n * @param {string} class Class name(s) to add to element\n */\n\nconst createElement = (el, cl) => {\n let x = document.createElement(el)\n if (cl != undefined) x.className = cl;\n return x\n}\n\n/**\n * Elenables share buttons by adding window location to href of each link.\n * @param {string} selector CSS selector string\n */\nconst enableShareButtons = selector => {\n let shareLinks = q$('.'+selector);\n for (let i = 0; i < shareLinks.length; i++) {\n shareLinks[i].href =\n shareLinks[i].href + encodeURIComponent(window.location);\n }\n return;\n}\n\nexport { q$, q$1, createElement, enableShareButtons}","import { q$, q$1, createElement } from './helpers';\nimport epsteinLogo from './epstein-logo-clear.svg';\nexport default class FuseNav {\n /**\n * Creates Fuse-style navigation\n * @param {Element} element The target element to append the navigation\n */\n constructor(element) {\n this.navBar = createElement('div', 'fuse-nav-bar');\n this.element = element;\n this.market = this.element.getAttribute('data-market') || \"miamiherald\";\n\n\n this.init();\n this.scrollToEnd();\n this.getCurrentURL();\n \n }\n init() {\n let navBar = this.navBar;\n navBar.innerHTML = `\n \"Miami\n \n
The series
\n `;\n\n let articles = this.element.querySelectorAll('.card');\n let nav = navBar.querySelector('nav');\n for (let i = 0; i < articles.length; i++) {\n let info = articles[i].querySelector('.card__info a');\n let clone = info.cloneNode(true);\n let navItem = createElement('div', 'fuse-nav-item');\n\n if (i+1 <= 3) {\n clone.innerHTML = `Part ${i + 1}${clone.dataset.chapter}`;\n }\n else {\n clone.innerHTML = ` ${clone.dataset.chapter}`;\n }\n \n\n navItem.appendChild(clone);\n nav.appendChild(navItem);\n }\n\n this.element.parentNode.insertBefore(navBar, this.element.nextSibling);\n\n window.addEventListener('scroll', debounce(() => this.toggleBar(), 50));\n }\n getCurrentURL() {\n let sourceURL = q$1('meta[name=original-source]').content;\n let navItems = q$('.fuse-nav-item > a');\n let regex = /\\d+(?=\\.html)/;\n for (let item of navItems) {\n if (item.href.match(regex)[0] === sourceURL.match(regex)[0]) {\n item.classList.add('fuse-active-item')\n }\n }\n }\n scrollToEnd() {\n q$1('.mob-read-more').addEventListener('click', () => {\n $([document.documentElement, document.body]).animate(\n { scrollTop: $('.' + this.element.className).offset().top - 70 },\n 500\n );\n });\n }\n toggleBar() {\n let bar = this.navBar;\n if (window.scrollY < window.innerHeight / 2) {\n bar.classList.remove('fuse-nav-bar--visible');\n } else if (!bar.classList.contains('fuse-nav-bar--visible')) {\n bar.classList.add('fuse-nav-bar--visible');\n }\n }\n}\n\nfunction debounce(func, wait, immediate) {\n var timeout;\n return function() {\n var context = this,\n args = arguments;\n var later = function() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n","import { enableShareButtons } from './modules/helpers';\nimport FuseNav from './modules/fuse-nav';\n\ndocument.addEventListener('DOMContentLoaded', function () {\n\n let fuseMore = document.querySelector('.fuse-read-more');\n\n new FuseNav(fuseMore);\n\n enableShareButtons('share-link')\n});"]}