{"version":3,"sources":["webpack://[name]/./src/js/components/AnchorLinkComponent.js","webpack://[name]/./src/js/libs/Logger.js","webpack://[name]/./src/js/utilities/Observer.js","webpack://[name]/./node_modules/ulog/browser.js","webpack://[name]/./node_modules/ulog/ulog.js"],"names":["Logger","AnchorLinkComponent","_BaseComponent","element","_this","_classCallCheck","_callSuper","observeAnchor","onScroll","_inherits","_createClass","key","get","anchorLink","mainSection","section","header","asideBar","active","scrollDown","value","el","preHeader","document","querySelector","this","SELECTORS","screenWidth","screen","width","headerHeight","offsetHeight","classList","contains","CLASSES","parseInt","window","mqObj","large","Math","floor","getBoundingClientRect","top","_this2","querySelectorAll","forEach","item","addEventListener","event","preventDefault","eventTarget","checkClickOnElement","target","targetID","getAttribute","targetAnchor","activateLink","calculatedTop","distanceToTop","scrollBy","left","behavior","tagName","parentNode","concat","remove","add","_this3","throttle","handleObserver","currentSize","match","func","limit","lastFunc","lastRan","context","args","arguments","clearTimeout","setTimeout","Date","now","apply","_this4","console","log","Observer","entries","observer","slideNum","entry","isIntersecting","id","unobserve","EMIT","CUSTOM_MESSAGES","CAROUSEL_EVENTS","goToSlide","slide","getMediaQuery","asideStickyBar","style","getComputedStyle","getPropertyValue","BaseComponent","ulog","level","DEBUG","selector","margin","conf","cb","observablesSelector","observables","IntersectionObserver","debug","rootMargin","outerHeight","root","threshold","_step2","_iterator2","_createForOfIteratorHelper","s","n","done","observable","observe","err","e","f","warn","_step","_iterator","disconnect","lvl","dbg","i","m","qs","location","search","substring","split","localStorage","getItem","con","enable","WARN","module","exports","name","mods","enhance","version","str","length","replace","skipMods","push","RegExp","substr","dbgMods","patch","enabled","test","disable","bind","LVL","ERROR","INFO","LOG","TRACE","names","Object","keys","map","x","toLowerCase","o","parent","NONE","defineProperty","undefined","set","Number","toUpperCase","mod","dir","bnd","nop","table","time","timeEnd","assert","a","ok","shift","error","max","print","c"],"mappings":"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","file":"js/component-AnchorLinkComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../abstracts/BaseComponent';\nimport Observer from '../utilities/Observer';\nimport Logger from '../libs/Logger';\nimport {match} from '../utilities/ResolutionHandler';\n\nconst log = new Logger('AnchorLinkComponent');\n\nexport default class AnchorLinkComponent extends BaseComponent {\n get SELECTORS() {\n return {\n anchorLink: \".js-anchor-link\",\n mainSection: \".main-section\",\n section: \".info-service\",\n header: \".pre-header\",\n asideBar: \".aside-sticky-bar\",\n };\n }\n\n get CLASSES() {\n return {\n active: \"is-active\",\n scrollDown: \"scroll-down\",\n };\n }\n\n constructor(element) {\n super(element);\n this.observeAnchor();\n this.onScroll();\n }\n\n distanceToTop(el) {\n const preHeader = document.querySelector(this.SELECTORS.header);\n const mainSection = document.querySelector(this.SELECTORS.mainSection);\n const screenWidth = screen.width;\n let headerHeight = preHeader\n ? mainSection.offsetHeight + preHeader.offsetHeight\n : mainSection.offsetHeight;\n\n if (mainSection.classList.contains(this.CLASSES.scrollDown) && preHeader)\n headerHeight -= preHeader.offsetHeight;\n\n if (screenWidth < parseInt(window.mqObj.large)) {\n const asideStickyBar = document.querySelector(this.SELECTORS.asideBar);\n headerHeight += asideStickyBar.offsetHeight;\n }\n return Math.floor(el.getBoundingClientRect().top - headerHeight);\n }\n\n observeAnchor() {\n const linksToAnchors = document.querySelectorAll(this.SELECTORS.anchorLink);\n\n linksToAnchors.forEach((item) => {\n item.addEventListener(\n \"click\",\n (event) => {\n event.preventDefault();\n\n const eventTarget = this.checkClickOnElement(event.target);\n const targetID = eventTarget.getAttribute(\"href\");\n const targetAnchor = document.querySelector(targetID);\n\n if (!targetAnchor) return;\n\n this.activateLink(eventTarget);\n\n const calculatedTop = this.distanceToTop(targetAnchor);\n\n window.scrollBy({ top: calculatedTop, left: 0, behavior: \"smooth\" });\n },\n true\n );\n });\n }\n\n checkClickOnElement(eventTarget) {\n // fix click on span inside href\n if (eventTarget && eventTarget.tagName !== \"A\")\n eventTarget = eventTarget.parentNode;\n return eventTarget;\n }\n\n activateLink(target) {\n const active = document.querySelector(`.${this.CLASSES.active}`);\n if (active) {\n active.classList.remove(this.CLASSES.active);\n }\n target.classList.add(this.CLASSES.active);\n }\n\n onScroll() {\n window.addEventListener(\n \"scroll\",\n this.throttle(() => this.handleObserver(), 100)\n );\n }\n\n getMediaQuery(currentSize) {\n if (match(\"medium\", \"small\")) {\n currentSize = \"small\";\n } else if (match(\"large\", \"medium\")) {\n currentSize = \"medium\";\n } else if (match(null, \"large\")) {\n currentSize = \"large\";\n }\n return currentSize;\n }\n\n throttle(func, limit) {\n let lastFunc;\n let lastRan;\n return function () {\n const context = this;\n const args = arguments;\n if (!lastRan) {\n func.apply(context, args);\n lastRan = Date.now();\n } else {\n clearTimeout(lastFunc);\n lastFunc = setTimeout(function () {\n if (Date.now() - lastRan >= limit) {\n func.apply(context, args);\n lastRan = Date.now();\n }\n }, limit - (Date.now() - lastRan));\n }\n };\n }\n\n handleObserver() {\n console.log(\"THROTTLE\");\n new Observer(this.SELECTORS.section, 0, null, (entries, observer) => {\n let slideNum;\n entries.forEach((entry) => {\n /*// TO DO: is only 4 debug delete this\n entry.target.style.border = \"none\";*/\n //if (entry.intersectionRatio > 0 && (this.distanceToTop(entry.target) <= 100 && this.distanceToTop(entry.target) > 0)) {\n\n //console.log(this.distanceToTop(entry.target))\n\n if (entry.isIntersecting && this.distanceToTop(entry.target) <= 100) {\n // TO DO: is only 4 debug delete this\n //entry.target.style.border = \"thick solid #BAD455\";\n\n let targetID = `[href=\"#${entry.target.id}\"]`;\n let target = document.querySelector(targetID);\n slideNum = target ? target.getAttribute(\"data-slide-num\") : \"\";\n\n if (target) {\n this.activateLink(target);\n }\n\n observer.unobserve(entry.target);\n }\n });\n this.EMIT(this.CUSTOM_MESSAGES.CAROUSEL_EVENTS.goToSlide, {\n slide: slideNum,\n });\n });\n\n let currentSize = this.getMediaQuery(currentSize);\n\n if (currentSize !== \"large\") {\n const mainSection = document.querySelector(this.SELECTORS.mainSection);\n const asideStickyBar = document.querySelector(this.SELECTORS.asideBar);\n\n if (mainSection.classList.contains(this.CLASSES.scrollDown)) {\n asideStickyBar.style.top = `${mainSection.offsetHeight}px`;\n } else {\n const style = window.getComputedStyle(asideStickyBar);\n const top = style.getPropertyValue(\"top\");\n asideStickyBar.style.top = top;\n }\n }\n }\n}\n","import ulog from 'ulog';\n\nulog.level = ulog.DEBUG;\n\nconst Logger = ulog;\n\nexport default Logger;\n","import Logger from '../libs/Logger';\n\nconst log = new Logger('Observer');\nconst debug = false;\n\nexport default class Observer {\n constructor(selector, margin, conf, cb) {\n const observablesSelector = selector || '.observe';\n const observables = document.querySelectorAll(observablesSelector);\n debug && console.log('Observer', 'observables', observables);\n\n if (!window.IntersectionObserver) {\n log.warn('IntersectionObserver not supported');\n for (const el of observables) {\n cb(el);\n }\n } else {\n //log.d('IntersectionObserver supported');\n log.debug('IntersectionObserver supported');\n const rootMargin = margin || Math.floor(window.outerHeight / 3);\n this.observer = new IntersectionObserver(cb, conf || {\n root: null,\n rootMargin: `${rootMargin}px 0px`,\n threshold: 0.01\n });\n\n for (const observable of observables) {\n this.observer.observe(observable);\n }\n }\n }\n\n disconnect() {\n debug && console.log('Observer disconnect');\n\n this.observer.disconnect();\n }\n}\n","var log = require('./ulog')\r\nvar qs = location.search.substring(1),\r\n\t\targs = qs && qs.split('&'),\r\n\t\tlvl, dbg, i, m\r\n\r\ntry {\r\n\tlvl = localStorage.getItem('log')\r\n\tdbg = localStorage.getItem('debug')\r\n} catch(e) {}\r\n\r\nfor (i=0; m=args && args[i] && args[i].split('='); i++) {\r\n\tm[0] == 'log' ? lvl = m[1] : 0\r\n\tm[0] == 'debug' ? dbg = m[1] : 0\r\n}\r\n\r\nlog.con = function(){return window.console && console}\r\ndbg && log.enable(dbg)\r\nvar ulog = log()\r\nlog.level = lvl || log.WARN\r\n\r\nmodule.exports = ulog\r\n","\r\n// ulog - microscopically small universal logging library\r\n// © 2017 by Stijn de Witt, some rights reserved\r\n// License: CC-BY-4.0\r\n\r\nfunction log(name){\r\n\treturn name\r\n\t\t? (mods[name] ? mods[name] : (mods[name] = enhance({name:name}, log)))\r\n\t\t: (log.debug ? log : enhance(log))\r\n}\r\n\r\nlog.ulog = {version:'1.1.0'}\r\n\r\nlog.enable = function(str) {\r\n\tvar i, split = (str || '').split(/[\\s,]+/);\r\n\tfor (i=0; i= 0 && lvl <= 6) {level = lvl}\r\n\t\t\t}\r\n\t\t\tpatch(o)\r\n\t\t\tif (!parent) {for (mod in mods) {patch(mods[mod])}}\r\n\t\t}\r\n\t})\r\n\tpatch(o, parent)\r\n\to.dir = bnd('dir') || nop\r\n\to.table = bnd('table') || nop\r\n\to.time = bnd('time') || nop\r\n\to.timeEnd = bnd('timeEnd') || nop\r\n\t// makes Node behave like browsers \r\n\to.assert = typeof window == 'object' && bnd('assert') || function(){\r\n\t\tvar a=[].concat.apply([], arguments), ok=a.shift()\r\n\t\tif (!ok) {o.error.apply(o, a)}\r\n\t}\r\n\treturn o\r\n}\r\n\r\nfunction patch(o) {\r\n\tvar lvl = Math.max(o.name && log.enabled(o.name) && o.DEBUG || o.level, o.level)\r\n\tfor (var i=0,name; name=names[i]; i++) {\r\n\t\to[name] = lvl <= i\r\n\t\t\t? nop\r\n\t\t\t: (\r\n\t\t\t\tbnd(name) ||\r\n\t\t\t\t(typeof print == 'function' && print) ||\r\n\t\t\t\tnop\r\n\t\t\t)\r\n\t}\r\n}\r\n\r\nfunction bnd(n,c){return (c = log.con()) && (c[n]||c.log).bind(c)}\r\nfunction nop(){}\r\n\r\nmodule.exports = log\r\n"],"sourceRoot":""}