{"version":3,"sources":["webpack:///./node_modules/waypoints/lib/noframework.waypoints.js","webpack:///./src/js/modules/jumplinks/index.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js"],"names":["keyCounter","allWaypoints","Waypoint","options","Error","element","handler","this","key","Adapter","extend","defaults","adapter","callback","axis","horizontal","enabled","triggerPoint","group","Group","findOrCreate","name","context","Context","findOrCreateByElement","offsetAliases","offset","add","prototype","queueTrigger","direction","trigger","args","apply","destroy","remove","disable","enable","refresh","next","previous","invokeAll","method","allWaypointsArray","waypointKey","push","i","end","length","destroyAll","disableAll","enableAll","refreshAll","viewportHeight","window","innerHeight","document","documentElement","clientHeight","viewportWidth","clientWidth","adapters","continuous","outerHeight","innerWidth","outerWidth","requestAnimationFrameShim","setTimeout","contexts","oldWindowLoad","onload","didScroll","didResize","oldScroll","x","scrollLeft","y","scrollTop","waypoints","vertical","waypointContextKey","windowContext","createThrottledScrollHandler","createThrottledResizeHandler","waypoint","checkEmpty","horizontalEmpty","isEmptyObject","verticalEmpty","isWindow","off","self","resizeHandler","handleResize","on","requestAnimationFrame","scrollHandler","handleScroll","isTouch","triggeredGroups","axes","newScroll","forward","backward","axisKey","wasBeforeTriggerPoint","nowAfterTriggerPoint","id","groupKey","flushTriggers","contextOffset","undefined","left","contextScroll","contextDimension","offsetProp","top","contextModifier","wasBeforeScroll","nowAfterScroll","triggeredForward","adjustment","oldTriggerPoint","elementOffset","freshWaypoint","parseFloat","indexOf","Math","ceil","floor","findByElement","contextId","mozRequestAnimationFrame","webkitRequestAnimationFrame","call","byTriggerPoint","a","b","byReverseTriggerPoint","groups","clearTriggerQueues","triggerQueues","up","down","right","reverse","sort","index","inArray","splice","first","last","getWindow","defaultView","NoFrameworkAdapter","handlers","event","removeListeners","listeners","listener","removeEventListener","eventParts","split","eventType","namespace","ns","type","ownerDocument","win","rect","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","nsHandlers","addEventListener","includeMargin","computedStyle","height","getComputedStyle","parseInt","marginTop","marginBottom","width","marginLeft","marginRight","Array","slice","arguments","merge","target","obj","hasOwnProperty","array","Jumplinks","placeholder","useState","sections","setSections","selectedSection","setSelectedSection","isOpen","setIsOpen","activeTab","setActiveTab","useEffect","sectionsInDOM","querySelectorAll","from","map","section","dataset","anchor","replace","filter","forEach","history","pushState","location","pathname","href","querySelector","scrollBy","jumpLinksList","sectionLabel","className","aria-selected","onClick","currentSection","handleActiveTab","data-open","propTypes","PropTypes","string","isRequired","module","exports","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","propFullName","secret","err","getShim","ReactPropTypes","bool","func","number","object","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes"],"mappings":"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","file":"26.e215146f9a349079c0f8.js","sourcesContent":["/*!\nWaypoints - 4.0.1\nCopyright © 2011-2016 Caleb Troughton\nLicensed under the MIT license.\nhttps://github.com/imakewebthings/waypoints/blob/master/licenses.txt\n*/\n(function() {\n  'use strict'\n\n  var keyCounter = 0\n  var allWaypoints = {}\n\n  /* http://imakewebthings.com/waypoints/api/waypoint */\n  function Waypoint(options) {\n    if (!options) {\n      throw new Error('No options passed to Waypoint constructor')\n    }\n    if (!options.element) {\n      throw new Error('No element option passed to Waypoint constructor')\n    }\n    if (!options.handler) {\n      throw new Error('No handler option passed to Waypoint constructor')\n    }\n\n    this.key = 'waypoint-' + keyCounter\n    this.options = Waypoint.Adapter.extend({}, Waypoint.defaults, options)\n    this.element = this.options.element\n    this.adapter = new Waypoint.Adapter(this.element)\n    this.callback = options.handler\n    this.axis = this.options.horizontal ? 'horizontal' : 'vertical'\n    this.enabled = this.options.enabled\n    this.triggerPoint = null\n    this.group = Waypoint.Group.findOrCreate({\n      name: this.options.group,\n      axis: this.axis\n    })\n    this.context = Waypoint.Context.findOrCreateByElement(this.options.context)\n\n    if (Waypoint.offsetAliases[this.options.offset]) {\n      this.options.offset = Waypoint.offsetAliases[this.options.offset]\n    }\n    this.group.add(this)\n    this.context.add(this)\n    allWaypoints[this.key] = this\n    keyCounter += 1\n  }\n\n  /* Private */\n  Waypoint.prototype.queueTrigger = function(direction) {\n    this.group.queueTrigger(this, direction)\n  }\n\n  /* Private */\n  Waypoint.prototype.trigger = function(args) {\n    if (!this.enabled) {\n      return\n    }\n    if (this.callback) {\n      this.callback.apply(this, args)\n    }\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/destroy */\n  Waypoint.prototype.destroy = function() {\n    this.context.remove(this)\n    this.group.remove(this)\n    delete allWaypoints[this.key]\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/disable */\n  Waypoint.prototype.disable = function() {\n    this.enabled = false\n    return this\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/enable */\n  Waypoint.prototype.enable = function() {\n    this.context.refresh()\n    this.enabled = true\n    return this\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/next */\n  Waypoint.prototype.next = function() {\n    return this.group.next(this)\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/previous */\n  Waypoint.prototype.previous = function() {\n    return this.group.previous(this)\n  }\n\n  /* Private */\n  Waypoint.invokeAll = function(method) {\n    var allWaypointsArray = []\n    for (var waypointKey in allWaypoints) {\n      allWaypointsArray.push(allWaypoints[waypointKey])\n    }\n    for (var i = 0, end = allWaypointsArray.length; i < end; i++) {\n      allWaypointsArray[i][method]()\n    }\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/destroy-all */\n  Waypoint.destroyAll = function() {\n    Waypoint.invokeAll('destroy')\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/disable-all */\n  Waypoint.disableAll = function() {\n    Waypoint.invokeAll('disable')\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/enable-all */\n  Waypoint.enableAll = function() {\n    Waypoint.Context.refreshAll()\n    for (var waypointKey in allWaypoints) {\n      allWaypoints[waypointKey].enabled = true\n    }\n    return this\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/refresh-all */\n  Waypoint.refreshAll = function() {\n    Waypoint.Context.refreshAll()\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/viewport-height */\n  Waypoint.viewportHeight = function() {\n    return window.innerHeight || document.documentElement.clientHeight\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/viewport-width */\n  Waypoint.viewportWidth = function() {\n    return document.documentElement.clientWidth\n  }\n\n  Waypoint.adapters = []\n\n  Waypoint.defaults = {\n    context: window,\n    continuous: true,\n    enabled: true,\n    group: 'default',\n    horizontal: false,\n    offset: 0\n  }\n\n  Waypoint.offsetAliases = {\n    'bottom-in-view': function() {\n      return this.context.innerHeight() - this.adapter.outerHeight()\n    },\n    'right-in-view': function() {\n      return this.context.innerWidth() - this.adapter.outerWidth()\n    }\n  }\n\n  window.Waypoint = Waypoint\n}())\n;(function() {\n  'use strict'\n\n  function requestAnimationFrameShim(callback) {\n    window.setTimeout(callback, 1000 / 60)\n  }\n\n  var keyCounter = 0\n  var contexts = {}\n  var Waypoint = window.Waypoint\n  var oldWindowLoad = window.onload\n\n  /* http://imakewebthings.com/waypoints/api/context */\n  function Context(element) {\n    this.element = element\n    this.Adapter = Waypoint.Adapter\n    this.adapter = new this.Adapter(element)\n    this.key = 'waypoint-context-' + keyCounter\n    this.didScroll = false\n    this.didResize = false\n    this.oldScroll = {\n      x: this.adapter.scrollLeft(),\n      y: this.adapter.scrollTop()\n    }\n    this.waypoints = {\n      vertical: {},\n      horizontal: {}\n    }\n\n    element.waypointContextKey = this.key\n    contexts[element.waypointContextKey] = this\n    keyCounter += 1\n    if (!Waypoint.windowContext) {\n      Waypoint.windowContext = true\n      Waypoint.windowContext = new Context(window)\n    }\n\n    this.createThrottledScrollHandler()\n    this.createThrottledResizeHandler()\n  }\n\n  /* Private */\n  Context.prototype.add = function(waypoint) {\n    var axis = waypoint.options.horizontal ? 'horizontal' : 'vertical'\n    this.waypoints[axis][waypoint.key] = waypoint\n    this.refresh()\n  }\n\n  /* Private */\n  Context.prototype.checkEmpty = function() {\n    var horizontalEmpty = this.Adapter.isEmptyObject(this.waypoints.horizontal)\n    var verticalEmpty = this.Adapter.isEmptyObject(this.waypoints.vertical)\n    var isWindow = this.element == this.element.window\n    if (horizontalEmpty && verticalEmpty && !isWindow) {\n      this.adapter.off('.waypoints')\n      delete contexts[this.key]\n    }\n  }\n\n  /* Private */\n  Context.prototype.createThrottledResizeHandler = function() {\n    var self = this\n\n    function resizeHandler() {\n      self.handleResize()\n      self.didResize = false\n    }\n\n    this.adapter.on('resize.waypoints', function() {\n      if (!self.didResize) {\n        self.didResize = true\n        Waypoint.requestAnimationFrame(resizeHandler)\n      }\n    })\n  }\n\n  /* Private */\n  Context.prototype.createThrottledScrollHandler = function() {\n    var self = this\n    function scrollHandler() {\n      self.handleScroll()\n      self.didScroll = false\n    }\n\n    this.adapter.on('scroll.waypoints', function() {\n      if (!self.didScroll || Waypoint.isTouch) {\n        self.didScroll = true\n        Waypoint.requestAnimationFrame(scrollHandler)\n      }\n    })\n  }\n\n  /* Private */\n  Context.prototype.handleResize = function() {\n    Waypoint.Context.refreshAll()\n  }\n\n  /* Private */\n  Context.prototype.handleScroll = function() {\n    var triggeredGroups = {}\n    var axes = {\n      horizontal: {\n        newScroll: this.adapter.scrollLeft(),\n        oldScroll: this.oldScroll.x,\n        forward: 'right',\n        backward: 'left'\n      },\n      vertical: {\n        newScroll: this.adapter.scrollTop(),\n        oldScroll: this.oldScroll.y,\n        forward: 'down',\n        backward: 'up'\n      }\n    }\n\n    for (var axisKey in axes) {\n      var axis = axes[axisKey]\n      var isForward = axis.newScroll > axis.oldScroll\n      var direction = isForward ? axis.forward : axis.backward\n\n      for (var waypointKey in this.waypoints[axisKey]) {\n        var waypoint = this.waypoints[axisKey][waypointKey]\n        if (waypoint.triggerPoint === null) {\n          continue\n        }\n        var wasBeforeTriggerPoint = axis.oldScroll < waypoint.triggerPoint\n        var nowAfterTriggerPoint = axis.newScroll >= waypoint.triggerPoint\n        var crossedForward = wasBeforeTriggerPoint && nowAfterTriggerPoint\n        var crossedBackward = !wasBeforeTriggerPoint && !nowAfterTriggerPoint\n        if (crossedForward || crossedBackward) {\n          waypoint.queueTrigger(direction)\n          triggeredGroups[waypoint.group.id] = waypoint.group\n        }\n      }\n    }\n\n    for (var groupKey in triggeredGroups) {\n      triggeredGroups[groupKey].flushTriggers()\n    }\n\n    this.oldScroll = {\n      x: axes.horizontal.newScroll,\n      y: axes.vertical.newScroll\n    }\n  }\n\n  /* Private */\n  Context.prototype.innerHeight = function() {\n    /*eslint-disable eqeqeq */\n    if (this.element == this.element.window) {\n      return Waypoint.viewportHeight()\n    }\n    /*eslint-enable eqeqeq */\n    return this.adapter.innerHeight()\n  }\n\n  /* Private */\n  Context.prototype.remove = function(waypoint) {\n    delete this.waypoints[waypoint.axis][waypoint.key]\n    this.checkEmpty()\n  }\n\n  /* Private */\n  Context.prototype.innerWidth = function() {\n    /*eslint-disable eqeqeq */\n    if (this.element == this.element.window) {\n      return Waypoint.viewportWidth()\n    }\n    /*eslint-enable eqeqeq */\n    return this.adapter.innerWidth()\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/context-destroy */\n  Context.prototype.destroy = function() {\n    var allWaypoints = []\n    for (var axis in this.waypoints) {\n      for (var waypointKey in this.waypoints[axis]) {\n        allWaypoints.push(this.waypoints[axis][waypointKey])\n      }\n    }\n    for (var i = 0, end = allWaypoints.length; i < end; i++) {\n      allWaypoints[i].destroy()\n    }\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/context-refresh */\n  Context.prototype.refresh = function() {\n    /*eslint-disable eqeqeq */\n    var isWindow = this.element == this.element.window\n    /*eslint-enable eqeqeq */\n    var contextOffset = isWindow ? undefined : this.adapter.offset()\n    var triggeredGroups = {}\n    var axes\n\n    this.handleScroll()\n    axes = {\n      horizontal: {\n        contextOffset: isWindow ? 0 : contextOffset.left,\n        contextScroll: isWindow ? 0 : this.oldScroll.x,\n        contextDimension: this.innerWidth(),\n        oldScroll: this.oldScroll.x,\n        forward: 'right',\n        backward: 'left',\n        offsetProp: 'left'\n      },\n      vertical: {\n        contextOffset: isWindow ? 0 : contextOffset.top,\n        contextScroll: isWindow ? 0 : this.oldScroll.y,\n        contextDimension: this.innerHeight(),\n        oldScroll: this.oldScroll.y,\n        forward: 'down',\n        backward: 'up',\n        offsetProp: 'top'\n      }\n    }\n\n    for (var axisKey in axes) {\n      var axis = axes[axisKey]\n      for (var waypointKey in this.waypoints[axisKey]) {\n        var waypoint = this.waypoints[axisKey][waypointKey]\n        var adjustment = waypoint.options.offset\n        var oldTriggerPoint = waypoint.triggerPoint\n        var elementOffset = 0\n        var freshWaypoint = oldTriggerPoint == null\n        var contextModifier, wasBeforeScroll, nowAfterScroll\n        var triggeredBackward, triggeredForward\n\n        if (waypoint.element !== waypoint.element.window) {\n          elementOffset = waypoint.adapter.offset()[axis.offsetProp]\n        }\n\n        if (typeof adjustment === 'function') {\n          adjustment = adjustment.apply(waypoint)\n        }\n        else if (typeof adjustment === 'string') {\n          adjustment = parseFloat(adjustment)\n          if (waypoint.options.offset.indexOf('%') > - 1) {\n            adjustment = Math.ceil(axis.contextDimension * adjustment / 100)\n          }\n        }\n\n        contextModifier = axis.contextScroll - axis.contextOffset\n        waypoint.triggerPoint = Math.floor(elementOffset + contextModifier - adjustment)\n        wasBeforeScroll = oldTriggerPoint < axis.oldScroll\n        nowAfterScroll = waypoint.triggerPoint >= axis.oldScroll\n        triggeredBackward = wasBeforeScroll && nowAfterScroll\n        triggeredForward = !wasBeforeScroll && !nowAfterScroll\n\n        if (!freshWaypoint && triggeredBackward) {\n          waypoint.queueTrigger(axis.backward)\n          triggeredGroups[waypoint.group.id] = waypoint.group\n        }\n        else if (!freshWaypoint && triggeredForward) {\n          waypoint.queueTrigger(axis.forward)\n          triggeredGroups[waypoint.group.id] = waypoint.group\n        }\n        else if (freshWaypoint && axis.oldScroll >= waypoint.triggerPoint) {\n          waypoint.queueTrigger(axis.forward)\n          triggeredGroups[waypoint.group.id] = waypoint.group\n        }\n      }\n    }\n\n    Waypoint.requestAnimationFrame(function() {\n      for (var groupKey in triggeredGroups) {\n        triggeredGroups[groupKey].flushTriggers()\n      }\n    })\n\n    return this\n  }\n\n  /* Private */\n  Context.findOrCreateByElement = function(element) {\n    return Context.findByElement(element) || new Context(element)\n  }\n\n  /* Private */\n  Context.refreshAll = function() {\n    for (var contextId in contexts) {\n      contexts[contextId].refresh()\n    }\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/context-find-by-element */\n  Context.findByElement = function(element) {\n    return contexts[element.waypointContextKey]\n  }\n\n  window.onload = function() {\n    if (oldWindowLoad) {\n      oldWindowLoad()\n    }\n    Context.refreshAll()\n  }\n\n\n  Waypoint.requestAnimationFrame = function(callback) {\n    var requestFn = window.requestAnimationFrame ||\n      window.mozRequestAnimationFrame ||\n      window.webkitRequestAnimationFrame ||\n      requestAnimationFrameShim\n    requestFn.call(window, callback)\n  }\n  Waypoint.Context = Context\n}())\n;(function() {\n  'use strict'\n\n  function byTriggerPoint(a, b) {\n    return a.triggerPoint - b.triggerPoint\n  }\n\n  function byReverseTriggerPoint(a, b) {\n    return b.triggerPoint - a.triggerPoint\n  }\n\n  var groups = {\n    vertical: {},\n    horizontal: {}\n  }\n  var Waypoint = window.Waypoint\n\n  /* http://imakewebthings.com/waypoints/api/group */\n  function Group(options) {\n    this.name = options.name\n    this.axis = options.axis\n    this.id = this.name + '-' + this.axis\n    this.waypoints = []\n    this.clearTriggerQueues()\n    groups[this.axis][this.name] = this\n  }\n\n  /* Private */\n  Group.prototype.add = function(waypoint) {\n    this.waypoints.push(waypoint)\n  }\n\n  /* Private */\n  Group.prototype.clearTriggerQueues = function() {\n    this.triggerQueues = {\n      up: [],\n      down: [],\n      left: [],\n      right: []\n    }\n  }\n\n  /* Private */\n  Group.prototype.flushTriggers = function() {\n    for (var direction in this.triggerQueues) {\n      var waypoints = this.triggerQueues[direction]\n      var reverse = direction === 'up' || direction === 'left'\n      waypoints.sort(reverse ? byReverseTriggerPoint : byTriggerPoint)\n      for (var i = 0, end = waypoints.length; i < end; i += 1) {\n        var waypoint = waypoints[i]\n        if (waypoint.options.continuous || i === waypoints.length - 1) {\n          waypoint.trigger([direction])\n        }\n      }\n    }\n    this.clearTriggerQueues()\n  }\n\n  /* Private */\n  Group.prototype.next = function(waypoint) {\n    this.waypoints.sort(byTriggerPoint)\n    var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)\n    var isLast = index === this.waypoints.length - 1\n    return isLast ? null : this.waypoints[index + 1]\n  }\n\n  /* Private */\n  Group.prototype.previous = function(waypoint) {\n    this.waypoints.sort(byTriggerPoint)\n    var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)\n    return index ? this.waypoints[index - 1] : null\n  }\n\n  /* Private */\n  Group.prototype.queueTrigger = function(waypoint, direction) {\n    this.triggerQueues[direction].push(waypoint)\n  }\n\n  /* Private */\n  Group.prototype.remove = function(waypoint) {\n    var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)\n    if (index > -1) {\n      this.waypoints.splice(index, 1)\n    }\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/first */\n  Group.prototype.first = function() {\n    return this.waypoints[0]\n  }\n\n  /* Public */\n  /* http://imakewebthings.com/waypoints/api/last */\n  Group.prototype.last = function() {\n    return this.waypoints[this.waypoints.length - 1]\n  }\n\n  /* Private */\n  Group.findOrCreate = function(options) {\n    return groups[options.axis][options.name] || new Group(options)\n  }\n\n  Waypoint.Group = Group\n}())\n;(function() {\n  'use strict'\n\n  var Waypoint = window.Waypoint\n\n  function isWindow(element) {\n    return element === element.window\n  }\n\n  function getWindow(element) {\n    if (isWindow(element)) {\n      return element\n    }\n    return element.defaultView\n  }\n\n  function NoFrameworkAdapter(element) {\n    this.element = element\n    this.handlers = {}\n  }\n\n  NoFrameworkAdapter.prototype.innerHeight = function() {\n    var isWin = isWindow(this.element)\n    return isWin ? this.element.innerHeight : this.element.clientHeight\n  }\n\n  NoFrameworkAdapter.prototype.innerWidth = function() {\n    var isWin = isWindow(this.element)\n    return isWin ? this.element.innerWidth : this.element.clientWidth\n  }\n\n  NoFrameworkAdapter.prototype.off = function(event, handler) {\n    function removeListeners(element, listeners, handler) {\n      for (var i = 0, end = listeners.length - 1; i < end; i++) {\n        var listener = listeners[i]\n        if (!handler || handler === listener) {\n          element.removeEventListener(listener)\n        }\n      }\n    }\n\n    var eventParts = event.split('.')\n    var eventType = eventParts[0]\n    var namespace = eventParts[1]\n    var element = this.element\n\n    if (namespace && this.handlers[namespace] && eventType) {\n      removeListeners(element, this.handlers[namespace][eventType], handler)\n      this.handlers[namespace][eventType] = []\n    }\n    else if (eventType) {\n      for (var ns in this.handlers) {\n        removeListeners(element, this.handlers[ns][eventType] || [], handler)\n        this.handlers[ns][eventType] = []\n      }\n    }\n    else if (namespace && this.handlers[namespace]) {\n      for (var type in this.handlers[namespace]) {\n        removeListeners(element, this.handlers[namespace][type], handler)\n      }\n      this.handlers[namespace] = {}\n    }\n  }\n\n  /* Adapted from jQuery 1.x offset() */\n  NoFrameworkAdapter.prototype.offset = function() {\n    if (!this.element.ownerDocument) {\n      return null\n    }\n\n    var documentElement = this.element.ownerDocument.documentElement\n    var win = getWindow(this.element.ownerDocument)\n    var rect = {\n      top: 0,\n      left: 0\n    }\n\n    if (this.element.getBoundingClientRect) {\n      rect = this.element.getBoundingClientRect()\n    }\n\n    return {\n      top: rect.top + win.pageYOffset - documentElement.clientTop,\n      left: rect.left + win.pageXOffset - documentElement.clientLeft\n    }\n  }\n\n  NoFrameworkAdapter.prototype.on = function(event, handler) {\n    var eventParts = event.split('.')\n    var eventType = eventParts[0]\n    var namespace = eventParts[1] || '__default'\n    var nsHandlers = this.handlers[namespace] = this.handlers[namespace] || {}\n    var nsTypeList = nsHandlers[eventType] = nsHandlers[eventType] || []\n\n    nsTypeList.push(handler)\n    this.element.addEventListener(eventType, handler)\n  }\n\n  NoFrameworkAdapter.prototype.outerHeight = function(includeMargin) {\n    var height = this.innerHeight()\n    var computedStyle\n\n    if (includeMargin && !isWindow(this.element)) {\n      computedStyle = window.getComputedStyle(this.element)\n      height += parseInt(computedStyle.marginTop, 10)\n      height += parseInt(computedStyle.marginBottom, 10)\n    }\n\n    return height\n  }\n\n  NoFrameworkAdapter.prototype.outerWidth = function(includeMargin) {\n    var width = this.innerWidth()\n    var computedStyle\n\n    if (includeMargin && !isWindow(this.element)) {\n      computedStyle = window.getComputedStyle(this.element)\n      width += parseInt(computedStyle.marginLeft, 10)\n      width += parseInt(computedStyle.marginRight, 10)\n    }\n\n    return width\n  }\n\n  NoFrameworkAdapter.prototype.scrollLeft = function() {\n    var win = getWindow(this.element)\n    return win ? win.pageXOffset : this.element.scrollLeft\n  }\n\n  NoFrameworkAdapter.prototype.scrollTop = function() {\n    var win = getWindow(this.element)\n    return win ? win.pageYOffset : this.element.scrollTop\n  }\n\n  NoFrameworkAdapter.extend = function() {\n    var args = Array.prototype.slice.call(arguments)\n\n    function merge(target, obj) {\n      if (typeof target === 'object' && typeof obj === 'object') {\n        for (var key in obj) {\n          if (obj.hasOwnProperty(key)) {\n            target[key] = obj[key]\n          }\n        }\n      }\n\n      return target\n    }\n\n    for (var i = 1, end = args.length; i < end; i++) {\n      merge(args[0], args[i])\n    }\n    return args[0]\n  }\n\n  NoFrameworkAdapter.inArray = function(element, array, i) {\n    return array == null ? -1 : array.indexOf(element, i)\n  }\n\n  NoFrameworkAdapter.isEmptyObject = function(obj) {\n    /* eslint no-unused-vars: 0 */\n    for (var name in obj) {\n      return false\n    }\n    return true\n  }\n\n  Waypoint.adapters.push({\n    name: 'noframework',\n    Adapter: NoFrameworkAdapter\n  })\n  Waypoint.Adapter = NoFrameworkAdapter\n}())\n;","import React, { useEffect, useState } from 'react';\nimport 'waypoints/lib/noframework.waypoints';\nimport PropTypes from 'prop-types';\n\nconst Jumplinks = ({ placeholder }) => {\n  const [sections, setSections] = useState();\n  const [selectedSection, setSelectedSection] = useState();\n  const [isOpen, setIsOpen] = useState(false);\n  const [activeTab, setActiveTab] = useState(null);\n\n  useEffect(() => {\n    const sectionsInDOM = document.querySelectorAll('[data-anchor]');\n    const sections = Array.from(sectionsInDOM).map(section => {\n      if (section.dataset.anchor) {\n        section.id = section.dataset.anchor.replace(/\\s/g, '');\n      }\n      return section;\n    });\n    if (sections.length)\n      setSections(sections.filter(x => x.dataset.anchor !== ''));\n  }, []);\n\n  useEffect(() => {\n    const sectionsInDOM = [...document.querySelectorAll('[data-anchor]')];\n    sectionsInDOM.forEach((section, i) => {\n      // eslint-disable-next-line no-undef\n      new Waypoint({\n        element: section,\n        offset: 94,\n        handler: direction => {\n          if (direction === 'down') {\n            setSelectedSection(i);\n          } else {\n            setSelectedSection(i - 1);\n          }\n          window.history.pushState(\n            '',\n            '',\n            `${window.location.pathname}#${section.id.replace(/\\s/g, '')}`\n          );\n        }\n      });\n    });\n  }, []);\n\n  useEffect(() => {\n    const url = window.location.href;\n    const anchor = url.split('#')[1];\n    const section = document.querySelector(`#${anchor}`);\n\n    if (section) {\n      window.scrollBy(0, section.getBoundingClientRect().top);\n    }\n  }, []);\n\n  const handleActiveTab = sectionLabel => {\n    const currentSection = document.querySelector(\n      `#${sectionLabel.replace(/\\s/g, '')}`\n    );\n    if (sectionLabel) {\n      // add id to querystring\n      window.history.pushState(\n        '',\n        '',\n        `${window.location.pathname}#${sectionLabel.replace(/\\s/g, '')}`\n      );\n      setActiveTab(sectionLabel);\n      if (currentSection) {\n        window.scrollBy(0, currentSection.getBoundingClientRect().top - 94);\n      }\n    }\n    setIsOpen(false);\n  };\n\n  const handleDropdown = () => {\n    setIsOpen(!isOpen);\n  };\n\n  const jumpLinksList = sections?.map((section, index) => {\n    let sectionLink, sectionLabel;\n    if (section.dataset.anchor) {\n      sectionLabel = section.dataset.anchor;\n      sectionLink = `#${section.dataset.anchor.replace(/\\s/g, '')}`;\n    }\n\n    return (\n      <li\n        className=\"jumplinks__link\"\n        key={index}\n        aria-selected={selectedSection === index}\n        onClick={() => handleActiveTab(sectionLabel)}\n      >\n        {sectionLabel}\n      </li>\n    );\n  });\n\n  return (\n    <div className=\"jumplinks container\">\n      <div className=\"jumplinks__links-container\">\n        <div className=\"jumplinks__inner\">{sections ? jumpLinksList : ''}</div>\n        <div className=\"jumplinks__dropdown\">\n          <div\n            className=\"jumplinks__dropdown-selected\"\n            onClick={() => handleDropdown()}\n          >\n            <span>{placeholder}</span> {activeTab ? activeTab : 'Select'}\n          </div>\n          <ul className=\"jumplinks__dropdown-list\" data-open={isOpen}>\n            {sections ? jumpLinksList : ''}\n          </ul>\n        </div>\n      </div>\n    </div>\n  );\n};\n\nJumplinks.propTypes = {\n  placeholder: PropTypes.string.isRequired\n};\n\nexport default Jumplinks;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n"],"sourceRoot":""}