{"version":3,"sources":["webpack:///./src/components/templates/dcf-manager/dcf-webinar.js","webpack:///./src/components/organisms/off-canvas/off-canvas.js","webpack:///./src/shared/utilities/addListenerOnce.js","webpack:///./src/shared/utilities/effectsEndEventHandler.js","webpack:///./src/shared/utilities/deviceDetection.js","webpack:///./src/shared/utilities/comments.ts","webpack:///./src/shared/utilities/scripts.js","webpack:///./src/shared/utilities/headroom.js","webpack:///./node_modules/headroom.js/dist/headroom.js"],"names":["formatWebinarDate","container","scriptElement","querySelector","data","getAttribute","parsed","JSON","parse","eventeventdate","eventStartDate","parseIsoDate","DateFormatter","format","eventoutputDateTimeFormat","eventeventtimezone","getOffsetInformation","eventeventenddate","eventEndDate","eventeventdateical","eventDateICal","eventeventenddateical","eventEndDateICal","eventstartdate","startDate","eventoutputDateFormat","eventenddate","endDate","eventstarttime","startTime","eventoutputTimeFormat","eventendtime","endTime","presetData","stringify","setAttribute","scrollTopVal","classes","modifierClasses","wide","left","ready","transitionDisabled","OffCanvas","_BaseBehavior","element","_this","_classCallCheck","_callSuper","initDomCache","addEventListeners","addSubscriptions","publish","_inherits","key","value","_this2","this","addEventListener","dom","overlay","e","preventDefault","close","removeEventListener","referenceNode","offset","offsetHeight","style","transform","concat","height","window","innerHeight","topESMA","document","shiftOffCanvasDown","subscribe","bind","_this3","configData","target","adjustForTopESMA","open","unsubscribe","_this4","keyCode","_ref","_this5","scriptsTarget","float","breakpoints","breakpointsList","split","getElementById","offCanvasPh","includes","getBreakpoint","content","firstChild","removeChild","targetHtml","nodeName","innerHTML","removeComments","outerHTML","replace","instanceId","resetBehaviorNames","context","initBehaviors","initScripts","Object","keys","map","k","body","classList","remove","add","canvasContent","scrollTop","documentElement","getComputedStyle","opacity","isDevice","deviceDetection","ios","pageYOffset","top","addDeviceDocumentClass","headroom","instance","destroy","addKeyListeners","length","publishBreakpointOnResize","bp","onEffectEndEvent","forEach","removeDeviceDocumentClass","removeKeyListeners","scrollTo","init","destroyBehaviors","removeEventListeners","removeSubscriptions","BaseBehavior","addEventListenerOnce","type","listener","fn","event","effects","transition","endEvent","endEventsList","OTransition","MozTransition","WebkitTransition","animation","OAnimation","MozAnimation","WebkitAnimation","whichEffectEndEvent","arguments","undefined","el","createElement","reduce","a","c","callback","delay","setTimeout","devicesRegExps","RegExp","mobile","recognizedDevices","deviceClasses","device","navigator","platform","test","userAgent","str","containerSelector","_step","_iterator","_createForOfIteratorHelper","querySelectorAll","s","n","done","_step2","scrp","script","_iterator2","attributes","attr","specified","name","err","f","appendChild","headroomInstance","applyHeadroom","Headroom","tolerance","location","hash","readyState","onreadystatechange","initHeadroom","scrollHeight","clientHeight","unpinNavBar","create","prototype","get","configurable","module","exports","isBrowser","normalizeUpDown","t","down","up","elem","options","assign","initialised","frozen","constructor","cutsTheMustard","addClass","self","scrollTracker","rafId","isPassiveSupported","supported","passiveEventsSupported","scrolled","scroller","obj","nodeType","isDocument","doc","win","html","Math","max","scrollY","parentNode","elementScroller","createScroller","lastScrollY","details","update","round","direction","distance","abs","isOutOfBounds","bottom","toleranceExceeded","handleScroll","requestAnimationFrame","eventOptions","passive","capture","cancelAnimationFrame","trackScroll","removeClass","unpin","hasClass","onUnpin","call","pin","onPin","freeze","unfreeze","onTop","notTop","onNotTop","onBottom","notBottom","onNotBottom","shouldUnpin","shouldPin","className","apply","every","cls","contains","pinned","unpinned","initial","factory"],"mappings":"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","file":"68-bfce44cd.js","sourcesContent":["import {\r\n\tDateFormatter,\r\n\tgetOffsetInformation,\r\n\tparseIsoDate\r\n} from '../../molecules/time-formatter/time-formatter';\r\n\r\n/**\r\n * Gets uncommented script tag, parses its `preset-data` data attribute,\r\n * changes `eventeventdate`, `eventeventenddate`, `eventeventdateical` and `eventeventenddateical` parameters to match client's date format\r\n * and calculates client's UTC offset\r\n *\r\n * @param {Element} container - `off-canvas__content` with a script tag specific for a single webinar/event\r\n */\r\nexport const formatWebinarDate = container => {\r\n\tconst scriptElement = container.querySelector('script[data-preset-data]');\r\n\r\n\tif (scriptElement) {\r\n\t\tconst data = scriptElement.getAttribute('data-preset-data');\r\n\t\tconst parsed = JSON.parse(data);\r\n\r\n\t\tif (parsed.eventeventdate) {\r\n\t\t\tconst defaultDateTimeFormat = 'YYYY-MM-DD HH:mm ([GMT]ZZ) ';\r\n\r\n\t\t\tconst eventStartDate = parseIsoDate(parsed.eventeventdate);\r\n\t\t\tparsed.eventeventdate = DateFormatter.format(\r\n\t\t\t\teventStartDate,\r\n\t\t\t\tparsed.eventoutputDateTimeFormat || defaultDateTimeFormat\r\n\t\t\t);\r\n\r\n\t\t\tparsed.eventeventtimezone = parsed.eventeventtimezone || getOffsetInformation(eventStartDate);\r\n\r\n\t\t\tif (parsed.eventeventenddate) {\r\n\t\t\t\tconst eventEndDate = parseIsoDate(parsed.eventeventenddate);\r\n\t\t\t\tparsed.eventeventenddate = DateFormatter.format(\r\n\t\t\t\t\teventEndDate,\r\n\t\t\t\t\tparsed.eventoutputDateTimeFormat || defaultDateTimeFormat\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tconst iCalDateTimeFormat = 'YYYY-MM-DDTHH:mm';\r\n\r\n\t\t\tif (parsed.eventeventdateical) {\r\n\t\t\t\tconst eventDateICal = parseIsoDate(parsed.eventeventdateical);\r\n\t\t\t\tparsed.eventeventdateical = DateFormatter.format(eventDateICal, iCalDateTimeFormat);\r\n\t\t\t}\r\n\r\n\t\t\tif (parsed.eventeventenddateical) {\r\n\t\t\t\tconst eventEndDateICal = parseIsoDate(parsed.eventeventenddateical);\r\n\t\t\t\tparsed.eventeventenddateical = DateFormatter.format(eventEndDateICal, iCalDateTimeFormat);\r\n\t\t\t}\r\n\r\n\t\t\tif (parsed.eventstartdate) {\r\n\t\t\t\tconst defaultDateFormat = 'YYYY-MM-DD ';\r\n\t\t\t\tconst defaultTimeFormat = 'HH:mm ([GMT]ZZ) ';\r\n\t\t\t\tconst startDate = parseIsoDate(parsed.eventstartdate);\r\n\t\t\t\tparsed.eventstartdate = DateFormatter.format(\r\n\t\t\t\t\tstartDate,\r\n\t\t\t\t\tparsed.eventoutputDateFormat || defaultDateFormat\r\n\t\t\t\t);\r\n\t\t\t\tif (parsed.eventenddate) {\r\n\t\t\t\t\tconst endDate = parseIsoDate(parsed.eventenddate);\r\n\t\t\t\t\tparsed.eventenddate = DateFormatter.format(\r\n\t\t\t\t\t\tendDate,\r\n\t\t\t\t\t\tparsed.eventoutputDateFormat || defaultDateFormat\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tif (parsed.eventstarttime) {\r\n\t\t\t\t\tconst startTime = parseIsoDate(parsed.eventstarttime);\r\n\t\t\t\t\tparsed.eventstarttime = DateFormatter.format(\r\n\t\t\t\t\t\tstartTime,\r\n\t\t\t\t\t\tparsed.eventoutputTimeFormat || defaultTimeFormat\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tif (parsed.eventendtime) {\r\n\t\t\t\t\tconst endTime = parseIsoDate(parsed.eventendtime);\r\n\t\t\t\t\tparsed.eventendtime = DateFormatter.format(\r\n\t\t\t\t\t\tendTime,\r\n\t\t\t\t\t\tparsed.eventoutputTimeFormat || defaultTimeFormat\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconst presetData = JSON.stringify(parsed);\r\n\t\t\tscriptElement.setAttribute('data-preset-data', presetData);\r\n\t\t}\r\n\t}\r\n};\r\n","import BaseBehavior from '../../../framework/base/base';\r\nimport {\r\n\tinitBehaviors,\r\n\tdestroyBehaviors,\r\n\tresetBehaviorNames\r\n} from '../../../shared/utilities/behaviors';\r\nimport { removeComments } from '../../../shared/utilities/comments';\r\nimport { initScripts } from '../../../shared/utilities/scripts';\r\nimport { getBreakpoint } from '../../../shared/utilities/screenSize';\r\nimport { formatWebinarDate } from '../../templates/dcf-manager/dcf-webinar';\r\nimport {\r\n\tisDevice,\r\n\tdeviceDetection,\r\n\taddDeviceDocumentClass,\r\n\tremoveDeviceDocumentClass\r\n} from '../../../shared/utilities/deviceDetection';\r\nimport { onEffectEndEvent } from '../../../shared/utilities/effectsEndEventHandler';\r\nimport { headroom } from '../../../shared/utilities/headroom';\r\n\r\nconst classes = {\r\n\topen: 'v2-off-canvas--open'\r\n};\r\n\r\nlet scrollTopVal;\r\n\r\nconst modifierClasses = {\r\n\twide: 'v2-off-canvas--wide',\r\n\tleft: 'v2-off-canvas--left',\r\n\tready: 'v2-off-canvas--ready',\r\n\ttransitionDisabled: 'v2-off-canvas-ph--transition-disabled'\r\n};\r\nexport default class OffCanvas extends BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.initDomCache();\r\n\t\tthis.addEventListeners();\r\n\t\tthis.addSubscriptions();\r\n\t\tthis.publish('/off-canvas/ready');\r\n\t}\r\n\r\n\taddEventListeners() {\r\n\t\tthis.addEventListener(this.dom.overlay, 'click.overlay', e => {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.close();\r\n\t\t});\r\n\r\n\t\tthis.addEventListener(this.dom.close, 'click.close', e => {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.close();\r\n\t\t});\r\n\t}\r\n\r\n\tremoveEventListeners() {\r\n\t\tthis.removeEventListener(this.dom.overlay, 'click.overlay');\r\n\t\tthis.removeEventListener(this.dom.close, 'click.close');\r\n\t}\r\n\r\n\tshiftOffCanvasDown(referenceNode) {\r\n\t\tconst offset = referenceNode.offsetHeight;\r\n\t\tthis.element.style.transform = `translateY(${offset}px)`;\r\n\t\tthis.element.style.height = `${window.innerHeight - offset}px`;\r\n\t}\r\n\r\n\tadjustForTopESMA() {\r\n\t\tconst topESMA = document.querySelector('.v2-cookie-disclaimer--top');\r\n\t\t// check if esma disclaimer dom is present which is aligned on Top.\r\n\t\tif (topESMA) {\r\n\t\t\tthis.shiftOffCanvasDown(topESMA);\r\n\t\t\tthis.subscribe('cookie/height/change', this.shiftOffCanvasDown.bind(this, topESMA));\r\n\t\t}\r\n\t}\r\n\r\n\taddSubscriptions() {\r\n\t\tthis.subscribe('/off-canvas/open', configData => {\r\n\t\t\tif (configData.target) {\r\n\t\t\t\tthis.adjustForTopESMA();\r\n\t\t\t\tthis.open(configData);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.subscribe('/side-nav/navigate', this.close.bind(this));\r\n\t}\r\n\r\n\tremoveSubscriptions() {\r\n\t\tthis.unsubscribe('/off-canvas/open');\r\n\t\tthis.unsubscribe('cookie/height/change');\r\n\t}\r\n\r\n\taddKeyListeners() {\r\n\t\tthis.addEventListener(document, 'keyup', e => {\r\n\t\t\tif (e.keyCode === 27) {\r\n\t\t\t\tthis.close();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tremoveKeyListeners() {\r\n\t\tthis.removeEventListener(document, 'keyup');\r\n\t}\r\n\r\n\topen({ target, scriptsTarget, wide, float, breakpoints }) {\r\n\t\tconst breakpointsList = breakpoints && breakpoints.split(',');\r\n\t\tconst element = document.getElementById(target);\r\n\t\tconst offCanvasPh = this.element.querySelector('.v2-off-canvas-ph');\r\n\r\n\t\tif (!element || (breakpointsList && !breakpointsList.includes(getBreakpoint()))) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\twhile (this.dom.content.firstChild) {\r\n\t\t\tthis.dom.content.removeChild(this.dom.content.firstChild);\r\n\t\t}\r\n\r\n\t\tlet targetHtml;\r\n\t\tif (element.nodeName === 'SCRIPT') {\r\n\t\t\ttargetHtml = element.innerHTML;\r\n\t\t\tthis.dom.content.innerHTML = targetHtml;\r\n\t\t} else {\r\n\t\t\ttargetHtml = removeComments(element.outerHTML).replace(\r\n\t\t\t\t/(<[^>]*\\s)(id|for)=(\"|')/g,\r\n\t\t\t\t'$1$2=$3' + this.instanceId + '-'\r\n\t\t\t);\r\n\t\t\tthis.dom.content.innerHTML = targetHtml;\r\n\t\t}\r\n\r\n\t\tresetBehaviorNames({ context: this.dom.content });\r\n\t\tinitBehaviors({ context: this.dom.content });\r\n\t\tinitScripts(this.dom.content, scriptsTarget);\r\n\r\n\t\tObject.keys(modifierClasses).map(k => document.body.classList.remove(modifierClasses[k]));\r\n\r\n\t\tif (wide) {\r\n\t\t\tdocument.body.classList.add(modifierClasses.wide);\r\n\t\t}\r\n\r\n\t\tconst canvasContent = this.element.querySelector('.v2-off-canvas__content');\r\n\t\tif (canvasContent) {\r\n\t\t\tcanvasContent.scrollTop = 0;\r\n\t\t}\r\n\r\n\t\tif (float === 'left') {\r\n\t\t\toffCanvasPh.classList.add(modifierClasses.transitionDisabled);\r\n\t\t\tdocument.body.classList.add(modifierClasses.left);\r\n\t\t\tdocument.documentElement.classList.add('v2-overflow-hidden');\r\n\t\t\t// execute restyle to fix issue https://stackoverflow.com/questions/11131875/what-is-the-cleanest-way-to-disable-css-transition-effects-temporarily\r\n\t\t\t// eslint-disable-next-line\r\n\t\t\twindow.getComputedStyle(offCanvasPh).opacity;\r\n\t\t}\r\n\r\n\t\tif (isDevice(deviceDetection.ios)) {\r\n\t\t\tscrollTopVal =\r\n\t\t\t\twindow.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n\t\t\tdocument.body.style.top = -scrollTopVal + 'px';\r\n\t\t\taddDeviceDocumentClass(deviceDetection.ios);\r\n\t\t\tif (headroom.instance) headroom.instance.destroy();\r\n\t\t}\r\n\t\t// If it's a DCF form specific for webinars/events\r\n\t\tif (this.dom.content.querySelector('[data-webinar]')) {\r\n\t\t\tformatWebinarDate(this.dom.content);\r\n\t\t}\r\n\r\n\t\toffCanvasPh.classList.remove(modifierClasses.transitionDisabled);\r\n\r\n\t\tdocument.body.classList.add(modifierClasses.ready, classes.open);\r\n\r\n\t\tthis.addKeyListeners();\r\n\r\n\t\tif (breakpoints && breakpoints.length > 0) {\r\n\t\t\tthis.publishBreakpointOnResize();\r\n\t\t\tthis.subscribe('SITE.BREAKPOINT', bp => {\r\n\t\t\t\tif (!breakpoints.includes(bp)) {\r\n\t\t\t\t\tthis.close();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tclose() {\r\n\t\tdocument.body.classList.remove(classes.open);\r\n\t\tdocument.documentElement.classList.remove('v2-overflow-hidden');\r\n\r\n\t\tonEffectEndEvent(this.element, () => {\r\n\t\t\tObject.keys(modifierClasses).forEach(key => {\r\n\t\t\t\tdocument.body.classList.remove(modifierClasses[key]);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tremoveDeviceDocumentClass(deviceDetection.ios);\r\n\t\tthis.removeKeyListeners();\r\n\t\tthis.unsubscribe('SITE.BREAKPOINT');\r\n\t\tthis.unsubscribe('cookie/height/change');\r\n\r\n\t\tif (isDevice(deviceDetection.ios)) {\r\n\t\t\twindow.scrollTo({ top: scrollTopVal });\r\n\t\t\tdocument.body.style.top = '';\r\n\t\t\tif (headroom.instance) headroom.instance.init();\r\n\t\t}\r\n\r\n\t\tthis.publish('/off-canvas/close');\r\n\t\tdestroyBehaviors({ context: this.dom.content });\r\n\t}\r\n\r\n\tcleanup() {\r\n\t\tthis.removeEventListeners();\r\n\t\tthis.removeSubscriptions();\r\n\t\tthis.removeKeyListeners();\r\n\t}\r\n}\r\n","export const addEventListenerOnce = (element, type, listener) => {\r\n\telement.addEventListener(type, function fn(event) {\r\n\t\telement.removeEventListener(type, fn);\r\n\t\tlistener(event);\r\n\t});\r\n};\r\n","import { addEventListenerOnce } from './addListenerOnce';\r\n\r\nconst TRANSITION_END_EVENTS = {\r\n\ttransition: 'transitionend',\r\n\tOTransition: 'oTransitionEnd',\r\n\tMozTransition: 'transitionend',\r\n\tWebkitTransition: 'webkitTransitionEnd'\r\n};\r\n\r\nconst ANIMATION_END_EVENTS = {\r\n\tanimation: 'animationend',\r\n\tOAnimation: 'oAnimationEnd',\r\n\tMozAnimation: 'animationend',\r\n\tWebkitAnimation: 'webkitAnimationEnd'\r\n};\r\n\r\nexport const effects = {\r\n\ttransition: {\r\n\t\tendEvent: null,\r\n\t\tendEventsList: TRANSITION_END_EVENTS\r\n\t},\r\n\tanimation: {\r\n\t\tendEvent: null,\r\n\t\tendEventsList: ANIMATION_END_EVENTS\r\n\t}\r\n};\r\n\r\nexport const whichEffectEndEvent = (type = 'transition') => {\r\n\tif (effects[type].endEvent !== null) {\r\n\t\treturn effects[type].endEvent;\r\n\t}\r\n\tconst el = document.createElement('fakeelement');\r\n\teffects[type].endEvent = Object.keys(effects[type].endEventsList).reduce(\r\n\t\t(a, c) => a || (typeof el.style[c] !== 'undefined' ? effects[type].endEventsList[c] : a),\r\n\t\tfalse\r\n\t);\r\n\treturn effects[type].endEvent;\r\n};\r\n\r\nexport const onEffectEndEvent = (element, callback, type = 'transition', delay = 300) => {\r\n\tconst endEvent = whichEffectEndEvent(type);\r\n\tif (endEvent) {\r\n\t\taddEventListenerOnce(element, endEvent, callback);\r\n\t\treturn;\r\n\t}\r\n\tsetTimeout(callback, delay);\r\n};\r\n","const devicesRegExps = {\r\n\tios: new RegExp('iPad|iPhone|iPod'),\r\n\tmobile: new RegExp('Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini')\r\n};\r\n\r\nexport const recognizedDevices = {};\r\n\r\nconst deviceClasses = {\r\n\tios: 'v2-ios-device',\r\n\tmobile: 'v2-mobile-device'\r\n};\r\n\r\nexport const deviceDetection = {\r\n\tios: 'ios',\r\n\tmobile: 'mobile'\r\n};\r\n\r\nexport function addDeviceDocumentClass(device) {\r\n\tdocument.documentElement.classList.add(deviceClasses[device]);\r\n}\r\n\r\nexport function removeDeviceDocumentClass(device) {\r\n\tdocument.documentElement.classList.remove(deviceClasses[device]);\r\n}\r\n\r\nexport function isDevice(device) {\r\n\tif (device in recognizedDevices) {\r\n\t\treturn recognizedDevices[device];\r\n\t}\r\n\r\n\trecognizedDevices[device] =\r\n\t\t!!navigator.platform &&\r\n\t\tdevicesRegExps[device] &&\r\n\t\t(devicesRegExps[device].test(navigator.platform) ||\r\n\t\t\tdevicesRegExps[device].test(navigator.userAgent));\r\n\treturn (\r\n\t\t!!navigator.platform &&\r\n\t\tdevicesRegExps[device] &&\r\n\t\t(devicesRegExps[device].test(navigator.platform) ||\r\n\t\t\tdevicesRegExps[device].test(navigator.userAgent))\r\n\t);\r\n}\r\n","export function removeComments(str) {\n return str.replace('', '');\n}\n","export function initScripts(element, containerSelector) {\r\n\tconst container = document.querySelector(containerSelector || 'head');\r\n\tconst scripts = element.querySelectorAll('script');\r\n\t// eslint-disable-next-line\r\n\tfor (const scrp of scripts) {\r\n\t\tconst script = document.createElement('script');\r\n\t\t// Add all attributes to new script\r\n\t\t// eslint-disable-next-line\r\n\t\tfor (const attr of scrp.attributes) {\r\n\t\t\tif (attr.specified) {\r\n\t\t\t\tscript.setAttribute(attr.name, attr.value);\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Add innerHTML if exists\r\n\t\tif (scrp.innerHTML) {\r\n\t\t\tscript.innerHTML = scrp.innerHTML;\r\n\t\t}\r\n\t\tcontainer?.appendChild(script);\r\n\t}\r\n}\r\n","import Headroom from 'headroom.js'; // eslint-disable-line\r\n\r\nlet headroomInstance;\r\n\r\nfunction unpinNavBar(element) {\r\n\tdocument.location.hash.length &&\r\n\t\tdocument.documentElement.scrollHeight !== document.documentElement.clientHeight &&\r\n\t\telement.classList.add('headroom--unpinned');\r\n}\r\n\r\nfunction initHeadroom(element) {\r\n\theadroomInstance = new Headroom(element, {\r\n\t\toffset: 10,\r\n\t\ttolerance: 10\r\n\t});\r\n\r\n\tif (!window.location.hash || document.readyState === 'complete') {\r\n\t\theadroomInstance.init();\r\n\t} else {\r\n\t\tdocument.onreadystatechange = () => {\r\n\t\t\tif (document.readyState === 'complete') {\r\n\t\t\t\theadroomInstance.init();\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n\r\nexport function applyHeadroom(element) {\r\n\tinitHeadroom(element);\r\n\tunpinNavBar(element);\r\n}\r\n\r\nexport const headroom = Object.create(Object.prototype, {\r\n\tinstance: {\r\n\t\tget() {\r\n\t\t\treturn headroomInstance;\r\n\t\t},\r\n\t\tconfigurable: false\r\n\t}\r\n});\r\n","/*!\n * headroom.js v0.12.0 - Give your page some headroom. Hide your header until you need it\n * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js\n * License: MIT\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.Headroom = factory());\n}(this, function () { 'use strict';\n\n function isBrowser() {\n return typeof window !== \"undefined\";\n }\n\n /**\n * Used to detect browser support for adding an event listener with options\n * Credit: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n */\n function passiveEventsSupported() {\n var supported = false;\n\n try {\n var options = {\n // eslint-disable-next-line getter-return\n get passive() {\n supported = true;\n }\n };\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (err) {\n supported = false;\n }\n\n return supported;\n }\n\n function isSupported() {\n return !!(\n isBrowser() &&\n function() {}.bind &&\n \"classList\" in document.documentElement &&\n Object.assign &&\n Object.keys &&\n requestAnimationFrame\n );\n }\n\n function isDocument(obj) {\n return obj.nodeType === 9; // Node.DOCUMENT_NODE === 9\n }\n\n function isWindow(obj) {\n // `obj === window` or `obj instanceof Window` is not sufficient,\n // as the obj may be the window of an iframe.\n return obj && obj.document && isDocument(obj.document);\n }\n\n function windowScroller(win) {\n var doc = win.document;\n var body = doc.body;\n var html = doc.documentElement;\n\n return {\n /**\n * @see http://james.padolsey.com/javascript/get-document-height-cross-browser/\n * @return {Number} the scroll height of the document in pixels\n */\n scrollHeight: function() {\n return Math.max(\n body.scrollHeight,\n html.scrollHeight,\n body.offsetHeight,\n html.offsetHeight,\n body.clientHeight,\n html.clientHeight\n );\n },\n\n /**\n * @see http://andylangton.co.uk/blog/development/get-viewport-size-width-and-height-javascript\n * @return {Number} the height of the viewport in pixels\n */\n height: function() {\n return win.innerHeight || html.clientHeight || body.clientHeight;\n },\n\n /**\n * Gets the Y scroll position\n * @return {Number} pixels the page has scrolled along the Y-axis\n */\n scrollY: function() {\n if (win.pageYOffset !== undefined) {\n return win.pageYOffset;\n }\n\n return (html || body.parentNode || body).scrollTop;\n }\n };\n }\n\n function elementScroller(element) {\n return {\n /**\n * @return {Number} the scroll height of the element in pixels\n */\n scrollHeight: function() {\n return Math.max(\n element.scrollHeight,\n element.offsetHeight,\n element.clientHeight\n );\n },\n\n /**\n * @return {Number} the height of the element in pixels\n */\n height: function() {\n return Math.max(element.offsetHeight, element.clientHeight);\n },\n\n /**\n * Gets the Y scroll position\n * @return {Number} pixels the element has scrolled along the Y-axis\n */\n scrollY: function() {\n return element.scrollTop;\n }\n };\n }\n\n function createScroller(element) {\n return isWindow(element) ? windowScroller(element) : elementScroller(element);\n }\n\n /**\n * @param element EventTarget\n */\n function trackScroll(element, options, callback) {\n var isPassiveSupported = passiveEventsSupported();\n var rafId;\n var scrolled = false;\n var scroller = createScroller(element);\n var lastScrollY = scroller.scrollY();\n var details = {};\n\n function update() {\n var scrollY = Math.round(scroller.scrollY());\n var height = scroller.height();\n var scrollHeight = scroller.scrollHeight();\n\n // reuse object for less memory churn\n details.scrollY = scrollY;\n details.lastScrollY = lastScrollY;\n details.direction = scrollY > lastScrollY ? \"down\" : \"up\";\n details.distance = Math.abs(scrollY - lastScrollY);\n details.isOutOfBounds = scrollY < 0 || scrollY + height > scrollHeight;\n details.top = scrollY <= options.offset[details.direction];\n details.bottom = scrollY + height >= scrollHeight;\n details.toleranceExceeded =\n details.distance > options.tolerance[details.direction];\n\n callback(details);\n\n lastScrollY = scrollY;\n scrolled = false;\n }\n\n function handleScroll() {\n if (!scrolled) {\n scrolled = true;\n rafId = requestAnimationFrame(update);\n }\n }\n\n var eventOptions = isPassiveSupported\n ? { passive: true, capture: false }\n : false;\n\n element.addEventListener(\"scroll\", handleScroll, eventOptions);\n update();\n\n return {\n destroy: function() {\n cancelAnimationFrame(rafId);\n element.removeEventListener(\"scroll\", handleScroll, eventOptions);\n }\n };\n }\n\n function normalizeUpDown(t) {\n return t === Object(t) ? t : { down: t, up: t };\n }\n\n /**\n * UI enhancement for fixed headers.\n * Hides header when scrolling down\n * Shows header when scrolling up\n * @constructor\n * @param {DOMElement} elem the header element\n * @param {Object} options options for the widget\n */\n function Headroom(elem, options) {\n options = options || {};\n Object.assign(this, Headroom.options, options);\n this.classes = Object.assign({}, Headroom.options.classes, options.classes);\n\n this.elem = elem;\n this.tolerance = normalizeUpDown(this.tolerance);\n this.offset = normalizeUpDown(this.offset);\n this.initialised = false;\n this.frozen = false;\n }\n Headroom.prototype = {\n constructor: Headroom,\n\n /**\n * Start listening to scrolling\n * @public\n */\n init: function() {\n if (Headroom.cutsTheMustard && !this.initialised) {\n this.addClass(\"initial\");\n this.initialised = true;\n\n // defer event registration to handle browser\n // potentially restoring previous scroll position\n setTimeout(\n function(self) {\n self.scrollTracker = trackScroll(\n self.scroller,\n { offset: self.offset, tolerance: self.tolerance },\n self.update.bind(self)\n );\n },\n 100,\n this\n );\n }\n\n return this;\n },\n\n /**\n * Destroy the widget, clearing up after itself\n * @public\n */\n destroy: function() {\n this.initialised = false;\n Object.keys(this.classes).forEach(this.removeClass, this);\n this.scrollTracker.destroy();\n },\n\n /**\n * Unpin the element\n * @public\n */\n unpin: function() {\n if (this.hasClass(\"pinned\") || !this.hasClass(\"unpinned\")) {\n this.addClass(\"unpinned\");\n this.removeClass(\"pinned\");\n\n if (this.onUnpin) {\n this.onUnpin.call(this);\n }\n }\n },\n\n /**\n * Pin the element\n * @public\n */\n pin: function() {\n if (this.hasClass(\"unpinned\")) {\n this.addClass(\"pinned\");\n this.removeClass(\"unpinned\");\n\n if (this.onPin) {\n this.onPin.call(this);\n }\n }\n },\n\n /**\n * Freezes the current state of the widget\n * @public\n */\n freeze: function() {\n this.frozen = true;\n this.addClass(\"frozen\");\n },\n\n /**\n * Re-enables the default behaviour of the widget\n * @public\n */\n unfreeze: function() {\n this.frozen = false;\n this.removeClass(\"frozen\");\n },\n\n top: function() {\n if (!this.hasClass(\"top\")) {\n this.addClass(\"top\");\n this.removeClass(\"notTop\");\n\n if (this.onTop) {\n this.onTop.call(this);\n }\n }\n },\n\n notTop: function() {\n if (!this.hasClass(\"notTop\")) {\n this.addClass(\"notTop\");\n this.removeClass(\"top\");\n\n if (this.onNotTop) {\n this.onNotTop.call(this);\n }\n }\n },\n\n bottom: function() {\n if (!this.hasClass(\"bottom\")) {\n this.addClass(\"bottom\");\n this.removeClass(\"notBottom\");\n\n if (this.onBottom) {\n this.onBottom.call(this);\n }\n }\n },\n\n notBottom: function() {\n if (!this.hasClass(\"notBottom\")) {\n this.addClass(\"notBottom\");\n this.removeClass(\"bottom\");\n\n if (this.onNotBottom) {\n this.onNotBottom.call(this);\n }\n }\n },\n\n shouldUnpin: function(details) {\n var scrollingDown = details.direction === \"down\";\n\n return scrollingDown && !details.top && details.toleranceExceeded;\n },\n\n shouldPin: function(details) {\n var scrollingUp = details.direction === \"up\";\n\n return (scrollingUp && details.toleranceExceeded) || details.top;\n },\n\n addClass: function(className) {\n this.elem.classList.add.apply(\n this.elem.classList,\n this.classes[className].split(\" \")\n );\n },\n\n removeClass: function(className) {\n this.elem.classList.remove.apply(\n this.elem.classList,\n this.classes[className].split(\" \")\n );\n },\n\n hasClass: function(className) {\n return this.classes[className].split(\" \").every(function(cls) {\n return this.classList.contains(cls);\n }, this.elem);\n },\n\n update: function(details) {\n if (details.isOutOfBounds) {\n // Ignore bouncy scrolling in OSX\n return;\n }\n\n if (this.frozen === true) {\n return;\n }\n\n if (details.top) {\n this.top();\n } else {\n this.notTop();\n }\n\n if (details.bottom) {\n this.bottom();\n } else {\n this.notBottom();\n }\n\n if (this.shouldUnpin(details)) {\n this.unpin();\n } else if (this.shouldPin(details)) {\n this.pin();\n }\n }\n };\n\n /**\n * Default options\n * @type {Object}\n */\n Headroom.options = {\n tolerance: {\n up: 0,\n down: 0\n },\n offset: 0,\n scroller: isBrowser() ? window : null,\n classes: {\n frozen: \"headroom--frozen\",\n pinned: \"headroom--pinned\",\n unpinned: \"headroom--unpinned\",\n top: \"headroom--top\",\n notTop: \"headroom--not-top\",\n bottom: \"headroom--bottom\",\n notBottom: \"headroom--not-bottom\",\n initial: \"headroom\"\n }\n };\n\n Headroom.cutsTheMustard = isSupported();\n\n return Headroom;\n\n}));\n"],"sourceRoot":""}