{"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","toggleNav","getCurrentURL","innerHTML","CupLogo","parentNode","appendChild","navPane","articles","nav","ventaLogo","Logo","info","clone","cloneNode","navItem","fullName","dataset","chapter","addEventListener","debounce","toggleBar","sourceURL","content","navItems","regex","item","match","classList","add","e","preventDefault","toggle","bar","mobReadMore","scrollY","innerHeight","remove","contains","click","func","wait","immediate","timeout","args","arguments","callNow","clearTimeout","setTimeout","apply","firstGraph","firstLetter","substring","dropCap","fuseMore"],"mappings":";AA4BA,aAAA,OAAA,eAAA,QAAA,aAAA,CAAA,OAAA,IAAA,QAAA,mBAAA,QAAA,cAAA,QAAA,IAAA,QAAA,QAAA,EAxBA,IAAMA,EAAM,SAACC,GAAiCC,OAAbC,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAAA,UAAqBC,cAAcH,IAwBpE,QAAA,IAAA,EAlBA,IAAMI,EAAK,SAACJ,GAAiCC,OAAbC,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAAA,UAAqBG,iBAAiBL,IAkBtE,QAAA,GAAA,EAVA,IAAMM,EAAgB,SAACC,EAAIC,GACnBC,IAAAA,EAAIP,SAASI,cAAcC,GAExBE,OADGC,MAANF,IAAiBC,EAAEE,UAAYH,GAC5BC,GAOX,QAAA,cAAA,EAAA,IAAMG,EAAqB,SAAAZ,GAElB,IADDa,IAAAA,EAAaX,SAASG,iBAAiB,IAAIL,GACtCc,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IACnCD,EAAWC,GAAGE,KACVH,EAAWC,GAAGE,KAAOC,mBAAmBC,OAAOC,WAJ3D,QAAA,mBAAA;;;;;;AC2EC,aAAA,OAAA,eAAA,QAAA,aAAA,CAAA,OAAA,IAAA,QAAA,aAAA,EAvGD,IAAA,EAAA,QAAA,aACA,EAAA,EAAA,QAAA,6BACA,EAAA,EAAA,QAAA,oCAqGC,SAAA,EAAA,GAAA,OAAA,GAAA,EAAA,WAAA,EAAA,CAAA,QAAA,GAAA,SAAA,EAAA,EAAA,GAAA,KAAA,aAAA,GAAA,MAAA,IAAA,UAAA,qCAAA,SAAA,EAAA,EAAA,GAAA,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,OAAA,IAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,cAAA,EAAA,UAAA,IAAA,EAAA,UAAA,GAAA,OAAA,eAAA,EAAA,EAAA,IAAA,IAAA,SAAA,EAAA,EAAA,EAAA,GAAA,OAAA,GAAA,EAAA,EAAA,UAAA,GAAA,GAAA,EAAA,EAAA,GAAA,EApGoBC,IAAAA,EAoGpB,WA/FaC,SAAAA,EAAAA,GAAS,EAAA,KAAA,GACdC,KAAAA,QAAS,EAAc,EAAA,eAAA,MAAO,gBAC9BD,KAAAA,QAAUA,EACVE,KAAAA,OAAS,KAAKF,QAAQG,aAAa,eAEnCC,KAAAA,OACAC,KAAAA,YACAC,KAAAA,gBAwFR,OAAA,EAAA,EAAA,CAAA,CAAA,IAAA,OAtFQ,MAAA,WAAA,IAAA,EAAA,KACAL,KAAAA,OAAOM,UACsFC,yGAAAA,OAAAA,EADlG,QAAA,wJAIKR,KAAAA,QAAQS,WAAWC,YAAY,KAAKT,QAGrCU,IAAAA,GAAU,EAAc,EAAA,eAAA,MAAO,eACnCA,EAAQJ,UAAR,oCAEIK,IAAAA,EAAW,KAAKZ,QAAQhB,iBAAiB,SACzC6B,EAAMF,EAAQ7B,cAAc,OAG5BgC,GAAY,EAAc,EAAA,eAAA,MAAO,gBACrCA,EAAUP,UAA4CQ,gCAAAA,OAAAA,EAAtD,QAAA,0BACAF,EAAIH,YAAYI,GAEX,IAAA,IAAIrB,EAAI,EAAGA,EAAImB,EAASlB,OAAQD,IAAK,CACpCuB,IACAC,EADOL,EAASnB,GAAGX,cAAc,iBACpBoC,WAAU,GACvBC,GAAU,EAAc,EAAA,eAAA,MAAO,iBAE/BC,EAAWH,EAAMI,QAAQC,QAI7BL,EAAMV,UAAqBa,SAAAA,OAAAA,EAAiHA,0GAAAA,OAAAA,EAAsBA,eAAAA,OAAAA,EAAlK,eAEAD,EAAQT,YAAYO,GACpBJ,EAAIH,YAAYS,GAGbnB,KAAAA,QAAQS,WAAWC,YAAYC,GAEpCd,OAAO0B,iBAAiB,SAAUC,EAAS,WAAM,OAAA,EAAKC,aAAa,OAkDtE,CAAA,IAAA,gBAhDiB,MAAA,WACVC,IAAAA,GAAY,EAAI,EAAA,KAAA,8BAA8BC,QAC9CC,GAAW,EAAG,EAAA,IAAA,sBACdC,EAAQ,gBAHE,GAAA,EAAA,GAAA,EAAA,OAAA,EAAA,IAIGD,IAAAA,IAAU,EAAVA,EAAAA,EAAU,OAAA,cAAA,GAAA,EAAA,EAAA,QAAA,MAAA,GAAA,EAAA,CAAlBE,IAAAA,EAAkB,EAAA,MACrBA,EAAKnC,KAAKoC,MAAMF,GAAO,KAAOH,EAAUK,MAAMF,GAAO,IACvDC,EAAKE,UAAUC,IAAI,qBANT,MAAA,GAAA,GAAA,EAAA,EAAA,EAAA,QAAA,IAAA,GAAA,MAAA,EAAA,QAAA,EAAA,SAAA,QAAA,GAAA,EAAA,MAAA,MAgDjB,CAAA,IAAA,YAtCa,MAAA,YACN,EAAA,EAAA,KAAA,kBAAkBV,iBACpB,QACA,SAASW,GACPA,EAAEC,kBACE,EAAA,EAAA,KAAA,gBAAgBH,UAAUI,OAAO,wBAChCJ,KAAAA,UAAUI,OAAO,uBAExB,KA8BL,CAAA,IAAA,YA3Ba,MAAA,WACNC,IAAAA,EAAM,KAAKpC,OACXqC,GAAc,EAAI,EAAA,KAAA,kBAClBzC,OAAO0C,QAAU1C,OAAO2C,YAAc,GACxCH,EAAIL,UAAUS,OAAO,yBACjBH,EAAYN,UAAUU,SAAS,sBACjCJ,EAAYK,SACJN,EAAIL,UAAUU,SAAS,0BACjCL,EAAIL,UAAUC,IAAI,6BAmBvB,EAAA,GAdD,SAAST,EAASoB,EAAMC,EAAMC,GACxBC,IAAAA,EACG,OAAA,WACDnE,IAAAA,EAAU,KACZoE,EAAOC,UAKLC,EAAUJ,IAAcC,EAC5BI,aAAaJ,GACbA,EAAUK,WANE,WACVL,EAAU,KACLD,GAAWF,EAAKS,MAAMzE,EAASoE,IAIVH,GACxBK,GAASN,EAAKS,MAAMzE,EAASoE,IAEpC,QAAA,QAAA;;AC9FD,aATA,IAAA,EAAA,QAAA,qBACA,EAAA,EAAA,QAAA,uBAQA,SAAA,EAAA,GAAA,OAAA,GAAA,EAAA,WAAA,EAAA,CAAA,QAAA,GALA,IAAIM,EAAazE,SAASC,cAAc,+BACpCyE,EAAcD,EAAW/C,UAAUiD,UAAU,EAAG,GAChDC,EAAoCF,0BAAAA,OAAAA,EAAqBD,WAAAA,OAAAA,EAAW/C,UAAUiD,UAAU,IAC5FF,EAAW/C,UAAYkD,EAEvB5E,SAAS0C,iBAAiB,mBAAoB,WACtCmC,IAAAA,EAAW7E,SAASC,cAAc,mBAClCiB,IAAAA,EAAJ,QAAY2D,IAEO,EAAA,EAAA,oBAAA","file":"main.04dcbd90.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 = document.querySelectorAll('.'+selector);\n for (let i = 0; i < shareLinks.length; i++) {\n shareLinks[i].href =\n shareLinks[i].href + encodeURIComponent(window.location);\n }\n}\n\nexport { q$, q$1, createElement, enableShareButtons}","import { q$, q$1, createElement } from './helpers';\nimport CupLogo from '../../images/cup-new.svg';\nimport Logo from '../../images/ventanita-logo.png';\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');\n\n this.init();\n this.toggleNav();\n this.getCurrentURL();\n }\n init() {\n this.navBar.innerHTML = `\n \"Ventanita\n
\n `;\n this.element.parentNode.appendChild(this.navBar);\n\n // Seperate, sibling fixed nav pane from nav bar\n let navPane = createElement('div', 'nav-wrapper');\n navPane.innerHTML = ``;\n\n let articles = this.element.querySelectorAll('.card');\n let nav = navPane.querySelector('nav');\n\n // Adds logo to top of nav panel\n let ventaLogo = createElement('div', 'logo-wrapper');\n ventaLogo.innerHTML = ``;\n nav.appendChild(ventaLogo);\n\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 let fullName = clone.dataset.chapter;\n // let firstName = fullName.substring(0, fullName.indexOf(' '));\n // let lastName = fullName.substring(fullName.indexOf(' ') + 1);\n\n clone.innerHTML = `${fullName}
\"${fullName}\"
`;\n\n navItem.appendChild(clone);\n nav.appendChild(navItem);\n }\n\n this.element.parentNode.appendChild(navPane);\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 toggleNav() {\n q$1('.mob-read-more').addEventListener(\n 'click',\n function(e) {\n e.preventDefault();\n q$1('.nav-wrapper').classList.toggle('nav-wrapper--visible');\n this.classList.toggle('mob-read-more--on');\n },\n false\n );\n }\n toggleBar() {\n let bar = this.navBar;\n let mobReadMore = q$1('.mob-read-more');\n if (window.scrollY < window.innerHeight / 2) {\n bar.classList.remove('fuse-nav-bar--visible');\n if (mobReadMore.classList.contains('mob-read-more--on'))\n mobReadMore.click();\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\n// Adds dropcap to first paragraph\nlet firstGraph = document.querySelector('.story-body > p:not(:empty)');\nlet firstLetter = firstGraph.innerHTML.substring(0, 1);\nlet dropCap = `${firstLetter}${firstGraph.innerHTML.substring(1)}`;\nfirstGraph.innerHTML = dropCap;\n\ndocument.addEventListener('DOMContentLoaded', function () {\n let fuseMore = document.querySelector('.fuse-read-more');\n new FuseNav(fuseMore);\n\n enableShareButtons('share-link')\n});"]}