{"version":3,"sources":["webpack://[name]/./src/js/utilities/ThrottleFunction.js","webpack://[name]/./src/js/components/TimeLineComponent.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":["Throttle","func","limit","lastFunc","lastRan","context","this","args","arguments","clearTimeout","setTimeout","Date","now","apply","Logger","TimeLineComponent","_BaseComponent","element","_this","_classCallCheck","_callSuper","_defineProperty","setupEventListener","setFooterSpacingOnDesktop","_inherits","_createClass","key","get","navigation","accordion","accordionInner","accordionContainer","accordionContent","accordionHeader","anchorLink","section","header","open","active","scrollDown","value","el","querySelector","SELECTORS","animating","parentElement","slideNum","getAttribute","targerLink","document","activateLink","EMIT","CUSTOM_MESSAGES","CAROUSEL_EVENTS","goToSlide","slide","isAccordionOpen","openAccordion","scrollToTop","_this2","linksToAnchors","querySelectorAll","navigationHeight","offsetHeight","addEventListener","getBoundingClientRect","bottom","concat","CLASSES","topOpenAccordion","Math","round","top","bottomOpenAccordion","nextAccordion","nextElementSibling","prevAccordion","previousElementSibling","console","log","goToAccordionOnScroll","forEach","item","event","preventDefault","eventTarget","checkClickOnElement","target","targetID","targetAnchor","focus","closest","targetAccordion","accordions","_toConsumableArray","index","findIndex","tagName","parentNode","timelineSlider","headerHeight","floor","ctx","calculatedTop","distanceToTop","window","scrollBy","left","behavior","classList","remove","add","contains","closeAllAccordions","style","height","getContentHeight","_this3","closeAccordion","matchMedia","matches","marginTop","BaseComponent","ulog","level","DEBUG","Observer","selector","margin","conf","cb","observablesSelector","observables","IntersectionObserver","debug","rootMargin","outerHeight","observer","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":"2PAqBeA,G,cArBE,SAACC,EAAMC,GACpB,IAAIC,EACAC,EACJ,OAAO,WACL,IAAMC,EAAUC,KACVC,EAAOC,UACRJ,GAIHK,aAAaN,GACbA,EAAWO,YAAW,WAChBC,KAAKC,MAAQR,GAAWF,IAC1BD,EAAKY,MAAMR,EAASE,GACpBH,EAAUO,KAAKC,SAEhBV,GAASS,KAAKC,MAAQR,MATzBH,EAAKY,MAAMR,EAASE,GACpBH,EAAUO,KAAKC,U,2RCFX,IAAIE,IAAO,qBAAvB,IAEqBC,EAAiB,SAAAC,GAwBpC,SAAAD,EAAYE,GAAS,IAAAC,EAGc,OAHdC,IAAA,KAAAJ,GACnBG,EAAAE,EAAA,KAAAL,EAAA,CAAME,IAASI,IAAAH,EAAA,aAxBL,GAyBVA,EAAKI,qBACLJ,EAAKK,4BAA4BL,EAClC,OAAAM,IAAAT,EAAAC,GAAAS,IAAAV,EAAA,EAAAW,IAAA,YAAAC,IA1BD,WACE,MAAO,CACLC,WAAY,yBACZC,UAAW,gBACXC,eAAgB,sBAChBC,mBAAoB,0BACpBC,iBAAkB,wBAClBC,gBAAiB,uBACjBC,WAAY,kBACZC,QAAS,gBACTC,OAAQ,uBAEX,CAAAV,IAAA,UAAAC,IAED,WACE,MAAO,CACLU,KAAM,UACNC,OAAQ,YACRC,WAAY,iBAEf,CAAAb,IAAA,wBAAAc,MAQD,SAAsBC,GACpB,GAAIA,EAAJ,CACA,IAAMR,EAAkBQ,EAAGC,cAAcpC,KAAKqC,UAAUV,iBACxD,GAAKA,EAAL,CACA3B,KAAKsC,WAAY,EAEjB,IAAMf,EAAYI,EAAgBY,cAAcA,cAC1CC,EAAWjB,EAAUkB,aAAa,kBAIlCC,EAHSC,SAASP,cACtB,sBAAwBI,EAAW,MAEXJ,cAAcpC,KAAKqC,UAAUT,YAEvD5B,KAAK4C,aAAaF,GAElB1C,KAAK6C,KAAK7C,KAAK8C,gBAAgBC,gBAAgBC,UAAW,CACxDC,MAAOT,IAGJxC,KAAKkD,gBAAgBR,IAAa1C,KAAKmD,cAAc5B,GAC1DvB,KAAKoD,YAAY7B,OAClB,CAAAH,IAAA,qBAAAc,MAED,WAAqB,IAAAmB,EAAA,KACb5B,EAAqBkB,SAASP,cAClCpC,KAAKqC,UAAUZ,oBAEX6B,EAAiBX,SAASY,iBAAiBvD,KAAKqC,UAAUT,YAE5D4B,EAAmB,IAAMb,SAASP,cAAcpC,KAAKqC,UAAUP,QAAQ2B,aAE3Ed,SAASe,iBAAiB,SAAUhE,GAAS,WAC3C,IAAI2D,EAAKf,UAAT,CACYK,SACTP,cAAciB,EAAKhB,UAAUf,YAC7BqC,wBAAwBC,OAF3B,IAGIT,EAAgBR,SAASP,cAAc,GAADyB,OACrCR,EAAKhB,UAAUd,UAAS,KAAAsC,OAAIR,EAAKS,QAAQ/B,OAE1CgC,EAAmBC,KAAKC,MAC1Bd,EAAcQ,wBAAwBO,KAEpCC,EAAsBH,KAAKC,MAC7Bd,EAAcQ,wBAAwBC,QAEpCQ,EAAgBjB,EAAckB,mBAC9BC,EAAgBnB,EAAcoB,uBAWlCC,QAAQC,IAAIpB,EAAKf,WACb6B,GAAuBX,EAAmB,KAAOH,EAAKf,WACxDe,EAAKqB,sBAAsBN,GACzBL,GAAoBP,EAAmB,KAAOH,EAAKf,WACrDe,EAAKqB,sBAAsBJ,MAC5B,MAGHhB,EAAeqB,SAAQ,SAACC,GACtBA,EAAKlB,iBACH,SACA,SAACmB,GACCA,EAAMC,iBAEN,IAAMC,EAAc1B,EAAK2B,oBAAoBH,EAAMI,QAC7CC,EAAWH,EAAYtC,aAAa,QACpC0C,EAAexC,SAASP,cAAc8C,GAEvCC,IACL9B,EAAKf,WAAY,EAEjBe,EAAKT,aAAamC,GAEb1B,EAAKH,gBAAgBiC,IACxB9B,EAAKF,cAAcgC,GAErB9B,EAAKD,YAAY+B,GACjBA,EAAaC,YAEf,MAKJ3D,EAAmBiC,iBAAiB,SAAS,SAACmB,GAC5CA,EAAMC,iBACN,IAAMnD,EAAkBkD,EAAMI,OAAOI,QACnChC,EAAKhB,UAAUV,iBAEjB,GAAKA,EAAL,CACA0B,EAAKf,WAAY,EAEjB,IAAMf,EAAYI,EAAgBY,cAAcA,cAC1CC,EAAWjB,EAAUkB,aAAa,kBAIlCC,EAHSC,SAASP,cACtB,sBAAwBI,EAAW,MAEXJ,cAAciB,EAAKhB,UAAUT,YAEvDyB,EAAKT,aAAaF,GAElBW,EAAKR,KAAKQ,EAAKP,gBAAgBC,gBAAgBC,UAAW,CACxDC,MAAOT,IAGJa,EAAKH,gBAAgBR,IAAaW,EAAKF,cAAc5B,GAE1D8B,EAAKD,YAAY7B,OAInBoB,SAASe,iBAAiB,WAAW,SAACmB,GACpC,GAAKA,EAAMI,OAAOI,QAAQhC,EAAKhB,UAAUV,iBAAzC,CAEA,IAOI2D,EAPElE,EAAMyD,EAAMzD,IACZG,EAAYsD,EAAMI,OAAOI,QAAQhC,EAAKhB,UAAUd,WAChDgE,EAAUC,IACX/D,EAAmB8B,iBAAiBF,EAAKhB,UAAUd,YAElDkE,EAAQF,EAAWG,WAAU,SAAC/E,GAAO,OAAKA,IAAYY,KAIhD,cAARH,EACFkE,EAAkBC,EAAWE,EAAQ,GACpB,YAARrE,IACTkE,EAAkBC,EAAWE,EAAQ,IAGnCH,GACF/D,EAAU6D,cAIf,CAAAhE,IAAA,sBAAAc,MAED,SAAoB6C,GAIlB,OAFIA,GAAuC,MAAxBA,EAAYY,UAC7BZ,EAAcA,EAAYa,YACrBb,IACR,CAAA3D,IAAA,gBAAAc,MAED,SAAcC,GACZ,IAAML,EAASa,SAASP,cAAcpC,KAAKqC,UAAUP,QAC/C+D,EAAiBlD,SAASP,cAAc,0BACxC0D,EAAehE,EAAO2B,aAAeoC,EAAepC,aAE1D,OAAOO,KAAK+B,MAAM5D,EAAGwB,wBAAwBO,IAAM4B,KACpD,CAAA1E,IAAA,cAAAc,MAED,SAAYC,GACV,IAAM6D,EAAMhG,KACZI,YAAW,WACT,IAAM6F,EAAgBD,EAAIE,cAAc/D,GACxCgE,OAAOC,SAAS,CAAElC,IAAK+B,EAAeI,KAAM,EAAGC,SAAU,aAExD,KACHlG,YAAW,WACT4F,EAAI1D,WAAY,IACf,OACJ,CAAAlB,IAAA,eAAAc,MAED,SAAa+C,GACX,IAAMjD,EAASW,SAASP,cAAc,IAADyB,OAAK7D,KAAK8D,QAAQ9B,SACnDA,GACFA,EAAOuE,UAAUC,OAAOxG,KAAK8D,QAAQ9B,QAEvCiD,EAAOsB,UAAUE,IAAIzG,KAAK8D,QAAQ9B,UACnC,CAAAZ,IAAA,kBAAAc,MAED,SAAgBX,GACd,OAAOA,EAAUgF,UAAUG,SAAS1G,KAAK8D,QAAQ/B,QAClD,CAAAX,IAAA,gBAAAc,MAED,SAAcX,GACZ,IAAMG,EAAmBH,EAAUa,cACjCpC,KAAKqC,UAAUX,kBAEjB1B,KAAK2G,qBACLjF,EAAiBkF,MAAMC,OAAS,GAAHhD,OAAM7D,KAAK8G,iBAAiBvF,GAAU,MACnEA,EAAUgF,UAAUE,IAAIzG,KAAK8D,QAAQ/B,QACtC,CAAAX,IAAA,qBAAAc,MAED,WAAqB,IAAA6E,EAAA,KACApE,SAASY,iBAAiBvD,KAAKqC,UAAUd,WACjDoD,SAAQ,SAACC,GAClBmC,EAAKC,eAAepC,QAEvB,CAAAxD,IAAA,iBAAAc,MAED,SAAeX,GACYA,EAAUa,cACjCpC,KAAKqC,UAAUX,kBAEAkF,MAAMC,OAAS,IAChCtF,EAAUgF,UAAUC,OAAOxG,KAAK8D,QAAQ/B,QACzC,CAAAX,IAAA,mBAAAc,MAED,SAAiBX,GAIf,OAHuBA,EAAUa,cAC/BpC,KAAKqC,UAAUb,gBAEKmC,wBAAwBkD,SAC/C,CAAAzF,IAAA,4BAAAc,MAED,WACMiE,OAAOc,WAAW,uBAAuBC,UAC3CvE,SAASP,cAAc,WAAWwE,MAAMO,UAAY,aArPpB,CAASC,M,iCCR/C,sBAEAC,IAAKC,MAAQD,IAAKE,MAElB,IAAM/G,EAAS6G,IAEA7G,O,8lCCJf,IAAMiE,EAAM,I,OAAIjE,GAAO,YAGFgH,EAAQ,WAyB1B,OAAArG,KAxBD,SAAAqG,EAAYC,EAAUC,EAAQC,EAAMC,GAAI/G,IAAA,KAAA2G,GACtC,IAAMK,EAAsBJ,GAAY,WAClCK,EAAcnF,SAASY,iBAAiBsE,GAG9C,GAAK1B,OAAO4B,qBAKL,CAELtD,EAAIuD,MAAM,kCACV,IAAMC,EAAaP,GAAU1D,KAAK+B,MAAMI,OAAO+B,YAAc,GAC7DlI,KAAKmI,SAAW,IAAIJ,qBAAqBH,EAAID,GAAQ,CACnDS,KAAM,KACNH,WAAY,GAAFpE,OAAKoE,EAAU,UACzBI,UAAW,MACV,IAEiCC,EAFjCC,EAAAC,EAEsBV,GAAW,IAApC,IAAAS,EAAAE,MAAAH,EAAAC,EAAAG,KAAAC,MAAsC,KAA3BC,EAAUN,EAAApG,MACnBlC,KAAKmI,SAASU,QAAQD,IACvB,MAAAE,GAAAP,EAAAQ,EAAAD,GAAA,QAAAP,EAAAS,SAjB+B,CAChCvE,EAAIwE,KAAK,sCAAsC,IACnBC,EADmBC,EAAAX,EAC9BV,GAAW,IAA5B,IAAAqB,EAAAV,MAAAS,EAAAC,EAAAT,KAAAC,MAA8B,CAC5Bf,EADWsB,EAAAhH,QAEZ,MAAA4G,GAAAK,EAAAJ,EAAAD,GAAA,QAAAK,EAAAH,QAeJ,EAAA5H,IAAA,aAAAc,MAED,WAGElC,KAAKmI,SAASiB,iBA9BW,I,oBCL7B,IAGEC,EAAKC,EAAKC,EAAGC,EAHX/E,EAAM,EAAQ,KACdgF,EAAKC,SAASC,OAAOC,UAAU,GACjC3J,EAAOwJ,GAAMA,EAAGI,MAAM,KAGxB,IACCR,EAAMS,aAAaC,QAAQ,OAC3BT,EAAMQ,aAAaC,QAAQ,SAC1B,MAAMhB,IAER,IAAKQ,EAAE,EAAGC,EAAEvJ,GAAQA,EAAKsJ,IAAMtJ,EAAKsJ,GAAGM,MAAM,KAAMN,IAC1C,OAARC,EAAE,KAAcH,EAAMG,EAAE,IAChB,SAARA,EAAE,KAAgBF,EAAME,EAAE,IAG3B/E,EAAIuF,IAAM,WAAW,OAAO7D,OAAO3B,SAAWA,SAC9C8E,GAAO7E,EAAIwF,OAAOX,GAClB,IAAIjC,EAAO5C,IACXA,EAAI6C,MAAQ+B,GAAO5E,EAAIyF,KAEvBC,EAAOC,QAAU/C,G,kBCfjB,SAAS5C,EAAI4F,GACZ,OAAOA,EACHC,EAAKD,GAAQC,EAAKD,GAASC,EAAKD,GAAQE,EAAQ,CAACF,KAAKA,GAAO5F,GAC7DA,EAAIuD,MAAQvD,EAAM8F,EAAQ9F,GAG/BA,EAAI4C,KAAO,CAACmD,QAAQ,SAEpB/F,EAAIwF,OAAS,SAASQ,GACrB,IAAIlB,EAAGM,GAASY,GAAO,IAAIZ,MAAM,UACjC,IAAKN,EAAE,EAAGA,EAAEM,EAAMa,OAAQnB,IACrBM,EAAMN,KAEM,OADfkB,EAAMZ,EAAMN,GAAGoB,QAAQ,MAAO,QACtB,GAAYC,EAASC,KAAK,IAAIC,OAAO,IAAML,EAAIM,OAAO,GAAK,MAC9DC,EAAQH,KAAK,IAAIC,OAAO,IAAML,EAAM,OAG3C,IAAKlB,KAAKe,EAAMW,EAAMX,EAAKf,KAG5B9E,EAAIyG,QAAU,SAASb,GACtB,IAAId,EACJ,IAAKA,EAAE,EAAGA,EAAEqB,EAASF,OAAQnB,IAC5B,GAAIqB,EAASrB,GAAG4B,KAAKd,GAAO,OAC7B,IAAKd,EAAE,EAAGA,EAAEyB,EAAQN,OAAQnB,IAC3B,GAAIyB,EAAQzB,GAAG4B,KAAKd,GAAQ,OAAO,GAGrC5F,EAAI2G,QAAU3G,EAAIwF,OAAOoB,KAAK5G,EAAK,IAEnC,IAAI6G,EAAM,CAACC,MAAM,EAAGrB,KAAK,EAAGsB,KAAK,EAAGC,IAAI,EAAGlE,MAAM,EAAGmE,MAAM,GACxDC,EAAQC,OAAOC,KAAKP,GAAKQ,KAAI,SAASC,GAAG,OAAOA,EAAEC,iBAClD1B,EAAO,GAAIU,EAAU,GAAIJ,EAAW,GAEtC,SAASL,EAAQ0B,EAAGC,EAAQ5E,GAE3B,IAAK,IAAIlG,KADT6K,EAAEE,KAAO,EACOb,EAAMW,EAAE7K,GAAOkK,EAAIlK,GAuBnC,OAtBAwK,OAAOQ,eAAeH,EAAG,QAAS,CACjC5K,IAAK,WAAW,YAAiBgL,IAAV/E,EAAsBA,EAAQ4E,GAAUA,EAAO5E,OACtEgF,IAAK,SAAS5D,GACb,QAAW2D,IAAN3D,GAAoBwD,EAAS5E,OAAQ+E,MACrC,CACJ,IAAIhD,EAAMX,IAAM6D,OAAO7D,IAAK6D,OAAO7D,GAAKuD,EAAEvD,EAAE8D,eAAiBD,OAAO7D,IAChEW,GAAO,GAAKA,GAAO,IAAI/B,EAAQ+B,GAGpC,GADA4B,EAAMgB,IACDC,EAAS,IAAKO,OAAOnC,EAAOW,EAAMX,EAAKmC,SAG9CxB,EAAMgB,GACNA,EAAES,IAAOC,EAAI,QAAUC,EACvBX,EAAEY,MAAQF,EAAI,UAAYC,EAC1BX,EAAEa,KAAOH,EAAI,SAAWC,EACxBX,EAAEc,QAAUJ,EAAI,YAAcC,EAE9BX,EAAEe,OAA0B,iBAAV7G,QAAsBwG,EAAI,WAAa,WACxD,IAAIM,EAAE,GAAGpJ,OAAOtD,MAAM,GAAIL,WAAYgN,EAAGD,EAAEE,QACtCD,GAAKjB,EAAEmB,MAAM7M,MAAM0L,EAAGgB,IAErBhB,EAGR,SAAShB,EAAMgB,GAEd,IADA,IACa5B,EADThB,EAAMrF,KAAKqJ,IAAIpB,EAAE5B,MAAQ5F,EAAIyG,QAAQe,EAAE5B,OAAS4B,EAAE1E,OAAS0E,EAAE3E,MAAO2E,EAAE3E,OACjEiC,EAAE,EAAQc,EAAKsB,EAAMpC,GAAIA,IACjC0C,EAAE5B,GAAQhB,GAAOE,EACdqD,EAEDD,EAAItC,IACa,mBAATiD,OAAuBA,OAC/BV,EAKJ,SAASD,EAAIjE,EAAE6E,GAAG,OAAQA,EAAI9I,EAAIuF,SAAWuD,EAAE7E,IAAI6E,EAAE9I,KAAK4G,KAAKkC,GAC/D,SAASX,KAETzC,EAAOC,QAAU3F","file":"js/component-TimeLineComponent-js.chunks.js","sourcesContent":["const 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 \nexport default Throttle;","import BaseComponent from '../abstracts/BaseComponent';\nimport Logger from '../libs/Logger';\nimport { match } from '../utilities/ResolutionHandler';\nimport Observer from \"../utilities/Observer\";\nimport Throttle from \"../utilities/ThrottleFunction\";\n\nconst log = new Logger('TimeLineComponent');\n\nexport default class TimeLineComponent extends BaseComponent {\n animating = false;\n get SELECTORS() {\n return {\n navigation: \".timeline__slider-wrap\",\n accordion: \".js-accordion\",\n accordionInner: \".js-accordion-inner\",\n accordionContainer: \".js-accordion-container\",\n accordionContent: \".js-accordion-content\",\n accordionHeader: \".js-accordion-header\",\n anchorLink: \".js-anchor-link\",\n section: \".info-service\",\n header: \".header-corporate\",\n };\n }\n\n get CLASSES() {\n return {\n open: \"is-open\",\n active: \"is-active\",\n scrollDown: \"scroll-down\",\n };\n }\n\n constructor(element) {\n super(element);\n this.setupEventListener();\n this.setFooterSpacingOnDesktop();\n }\n\n goToAccordionOnScroll(el) {\n if(!el) return\n const accordionHeader = el.querySelector(this.SELECTORS.accordionHeader);\n if (!accordionHeader) return;\n this.animating = true;\n\n const accordion = accordionHeader.parentElement.parentElement;\n const slideNum = accordion.getAttribute(\"data-slide-num\");\n const target = document.querySelector(\n \"[data-slick-index='\" + slideNum + \"']\"\n );\n const targerLink = target.querySelector(this.SELECTORS.anchorLink);\n\n this.activateLink(targerLink);\n\n this.EMIT(this.CUSTOM_MESSAGES.CAROUSEL_EVENTS.goToSlide, {\n slide: slideNum,\n });\n\n if (!this.isAccordionOpen(targerLink)) this.openAccordion(accordion);\n this.scrollToTop(accordion);\n }\n\n setupEventListener() {\n const accordionContainer = document.querySelector(\n this.SELECTORS.accordionContainer\n );\n const linksToAnchors = document.querySelectorAll(this.SELECTORS.anchorLink);\n\n let navigationHeight = 103 + document.querySelector(this.SELECTORS.header).offsetHeight;\n\n document.addEventListener(\"scroll\", Throttle(() => {\n if (this.animating) return;\n const nav = document\n .querySelector(this.SELECTORS.navigation)\n .getBoundingClientRect().bottom;\n let openAccordion = document.querySelector(\n `${this.SELECTORS.accordion}.${this.CLASSES.open}`\n );\n let topOpenAccordion = Math.round(\n openAccordion.getBoundingClientRect().top\n );\n let bottomOpenAccordion = Math.round(\n openAccordion.getBoundingClientRect().bottom\n );\n let nextAccordion = openAccordion.nextElementSibling;\n let prevAccordion = openAccordion.previousElementSibling;\n // console.info(\n // \"N: \",\n // nav,\n // \" T:\",\n // topOpenAccordion,\n // \" B:\",\n // bottomOpenAccordion,\n // \" NH:\",\n // navigationHeight\n // );\n console.log(this.animating);\n if (bottomOpenAccordion <= navigationHeight - 20 && !this.animating)\n this.goToAccordionOnScroll(nextAccordion);\n if (topOpenAccordion >= navigationHeight + 20 && !this.animating)\n this.goToAccordionOnScroll(prevAccordion);\n }, 200));\n\n // Click on slide element\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 this.animating = true;\n\n this.activateLink(eventTarget);\n\n if (!this.isAccordionOpen(targetAnchor))\n this.openAccordion(targetAnchor);\n\n this.scrollToTop(targetAnchor);\n targetAnchor.focus();\n },\n false\n );\n });\n\n // Click on accordion element\n accordionContainer.addEventListener(\"click\", (event) => {\n event.preventDefault();\n const accordionHeader = event.target.closest(\n this.SELECTORS.accordionHeader\n );\n if (!accordionHeader) return;\n this.animating = true;\n\n const accordion = accordionHeader.parentElement.parentElement;\n const slideNum = accordion.getAttribute(\"data-slide-num\");\n const target = document.querySelector(\n \"[data-slick-index='\" + slideNum + \"']\"\n );\n const targerLink = target.querySelector(this.SELECTORS.anchorLink);\n\n this.activateLink(targerLink);\n\n this.EMIT(this.CUSTOM_MESSAGES.CAROUSEL_EVENTS.goToSlide, {\n slide: slideNum,\n });\n\n if (!this.isAccordionOpen(targerLink)) this.openAccordion(accordion);\n\n this.scrollToTop(accordion);\n });\n\n // Switch accordions with up/down arrow\n document.addEventListener(\"keydown\", (event) => {\n if (!event.target.closest(this.SELECTORS.accordionHeader)) return;\n\n const key = event.key;\n const accordion = event.target.closest(this.SELECTORS.accordion);\n const accordions = [\n ...accordionContainer.querySelectorAll(this.SELECTORS.accordion),\n ];\n const index = accordions.findIndex((element) => element === accordion);\n\n let targetAccordion;\n\n if (key === \"ArrowDown\") {\n targetAccordion = accordions[index + 1];\n } else if (key === \"ArrowUp\") {\n targetAccordion = accordions[index - 1];\n }\n\n if (targetAccordion) {\n accordion.focus();\n //targetAccordion.querySelector('button').focus()\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 distanceToTop(el) {\n const header = document.querySelector(this.SELECTORS.header);\n const timelineSlider = document.querySelector(\".timeline__slider-wrap\");\n const headerHeight = header.offsetHeight + timelineSlider.offsetHeight;\n\n return Math.floor(el.getBoundingClientRect().top - headerHeight);\n }\n\n scrollToTop(el) {\n const ctx = this;\n setTimeout(() => {\n const calculatedTop = ctx.distanceToTop(el);\n window.scrollBy({ top: calculatedTop, left: 0, behavior: \"smooth\" });\n //ctx.animating = false;\n }, 400);\n setTimeout(() => {\n ctx.animating = false;\n }, 800);\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 isAccordionOpen(accordion) {\n return accordion.classList.contains(this.CLASSES.open);\n }\n\n openAccordion(accordion) {\n const accordionContent = accordion.querySelector(\n this.SELECTORS.accordionContent\n );\n this.closeAllAccordions();\n accordionContent.style.height = `${this.getContentHeight(accordion)}px`;\n accordion.classList.add(this.CLASSES.open);\n }\n\n closeAllAccordions() {\n const accordions = document.querySelectorAll(this.SELECTORS.accordion);\n accordions.forEach((item) => {\n this.closeAccordion(item);\n });\n }\n\n closeAccordion(accordion) {\n const accordionContent = accordion.querySelector(\n this.SELECTORS.accordionContent\n );\n accordionContent.style.height = \"0\";\n accordion.classList.remove(this.CLASSES.open);\n }\n\n getContentHeight(accordion) {\n const accordionInner = accordion.querySelector(\n this.SELECTORS.accordionInner\n );\n return accordionInner.getBoundingClientRect().height;\n }\n\n setFooterSpacingOnDesktop() {\n if (window.matchMedia(\"(min-width: 1024px)\").matches) {\n document.querySelector('.footer').style.marginTop = 350 + 'px'\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<split.length; i++) {\r\n\t\tif (split[i]) {\r\n\t\t\tstr = split[i].replace(/\\*/g, '.*?')\r\n\t\t\tif (str[0] === '-') skipMods.push(new RegExp('^' + str.substr(1) + '$'))\r\n\t\t\telse dbgMods.push(new RegExp('^' + str + '$'))\r\n\t\t}\r\n\t}\r\n\tfor (i in mods) patch(mods[i])\r\n}\r\n\r\nlog.enabled = function(name) {\r\n\tvar i;\r\n\tfor (i=0; i<skipMods.length; i++)\r\n\t\tif (skipMods[i].test(name)) return\r\n\tfor (i=0; i<dbgMods.length; i++)\r\n\t\tif (dbgMods[i].test(name)) {return true}\r\n}\r\n\r\nlog.disable = log.enable.bind(log, '')\r\n\r\nvar LVL = {ERROR:1, WARN:2, INFO:3, LOG:4, DEBUG:5, TRACE:6},\r\n\t\tnames = Object.keys(LVL).map(function(x){return x.toLowerCase()}),\r\n\t\tmods = {}, dbgMods = [], skipMods = []\r\n\r\nfunction enhance(o, parent, level) {\r\n\to.NONE = 0\r\n\tfor (var key in LVL) {o[key] = LVL[key]}\r\n\tObject.defineProperty(o, 'level', {\r\n\t\tget: function(){return level !== undefined ? level : parent && parent.level},\r\n\t\tset: function(n) {\r\n\t\t\tif ((n === undefined) && parent) {level = undefined}\r\n\t\t\telse {\r\n\t\t\t\tvar lvl = n && (Number(n)!==Number(n) ? o[n.toUpperCase()] : Number(n))\r\n\t\t\t\tif (lvl >= 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":""}