{"version":3,"sources":["webpack:///./src/components/svg/icon-external-link.js","webpack:///./src/images/close.inline.svg","webpack:///./src/images/appendix.inline.svg","webpack:///./node_modules/react-visibility-sensor/dist/visibility-sensor.js","webpack:///./src/helpers/find-object.js","webpack:///./src/components/appendix.js","webpack:///./src/components/sub-navigation.js"],"names":["IconExternalLink","width","height","viewBox","xmlns","d","React","CloseInline","props","createElement","defaultProps","module","exports","default","AppendixInline","factory","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__2__","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","offset","rect","containmentRect","offsetDir","direction","offsetVal","top","bottom","left","right","__webpack_exports__","VisibilitySensor","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","react_dom__WEBPACK_IMPORTED_MODULE_1__","react_dom__WEBPACK_IMPORTED_MODULE_1___default","prop_types__WEBPACK_IMPORTED_MODULE_2__","prop_types__WEBPACK_IMPORTED_MODULE_2___default","_lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3__","_lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3___default","_typeof","obj","iterator","constructor","_defineProperties","target","length","descriptor","configurable","writable","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","_defineProperty","_React$Component","_this","instance","Constructor","TypeError","_classCallCheck","this","containment","window","event","delay","throttle","timeout","debounceCheck","later","check","info","fn","setTimeout","clearTimeout","getLastTimeout","addEventListener","interval","intervalCheck","setInterval","intervalDelay","scrollCheck","getContainer","scrollDelay","scrollThrottle","resizeCheck","resizeDelay","resizeThrottle","delayedCall","debounceEvent","debounceInfo","removeEventListener","clearInterval","el","node","state","undefined","normalizeRect","roundRectDown","getBoundingClientRect","containmentDOMRect","innerHeight","document","documentElement","clientHeight","innerWidth","clientWidth","visibilityRect","hasSize","isVisible","partialVisibility","partialVisible","minTopValue","console","warn","setState","onChange","protoProps","staticProps","subClass","superClass","_inherits","a","findDOMNode","active","startWatching","stopWatching","prevProps","Math","floor","children","Function","Children","only","Component","func","bool","oneOfType","oneOf","shape","number","instanceOf","Element","any","element","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","array","string","symbol","arrayOf","elementType","objectOf","exact","checkPropTypes","PropTypes","findObject","dataSource","dataSourceProperty","valueToMatch","find","Appendix","page","appendixButton","useRef","useState","setActive","toggleOverlay","body","classList","remove","add","pageData","AppendixItems","handleKeydown","e","keyCode","useEffect","disabled","shards","returnFocus","noFocusGuards","id","className","aria-hidden","tabIndex","items","map","item","index","href","dangerouslySetInnerHTML","__html","text","ref","aria-label","onClick","aria-haspopup","aria-owns","AppendixWaypoint","appendixData","content","getElementById","innerHTML","aria-controls","SubNavigation","current","menu","menuData","findIndex","includes","activeItem","handleScroll","scrollHeight","scrollY","pageYOffset","progress","round","style","flex","to"],"mappings":"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","file":"476e9e7f71c6719c78eae7a6e5902f6658e68a65-b061edf40ae3edbfe3b0.js","sourcesContent":["import React from \"react\"\n\nexport default function IconExternalLink() {\n  return (\n    <svg\n      width=\"14\"\n      height=\"14\"\n      viewBox=\"0 0 14 14\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path d=\"M8 1C8 0.447715 8.44771 0 9 0H13C13.5523 0 14 0.447715 14 1V5C14 5.55228 13.5523 6 13 6C12.4477 6 12 5.55228 12 5V3.41356L6.37312 9.04044C5.9826 9.43096 5.34943 9.43096 4.95891 9.04044C4.56838 8.64992 4.56838 8.01675 4.95891 7.62623L10.5851 2H9C8.44771 2 8 1.55228 8 1ZM2.33333 4C2.24493 4 2.16014 4.03512 2.09763 4.09763C2.03512 4.16014 2 4.24493 2 4.33333V11.6667C2 11.7551 2.03512 11.8399 2.09763 11.9024C2.16014 11.9649 2.24493 12 2.33333 12H9.66667C9.75507 12 9.83986 11.9649 9.90237 11.9024C9.96488 11.8399 10 11.7551 10 11.6667V7.66667C10 7.11438 10.4477 6.66667 11 6.66667C11.5523 6.66667 12 7.11438 12 7.66667V11.6667C12 12.2855 11.7542 12.879 11.3166 13.3166C10.879 13.7542 10.2855 14 9.66667 14H2.33333C1.71449 14 1.121 13.7542 0.683417 13.3166C0.245833 12.879 0 12.2855 0 11.6667V4.33333C0 3.7145 0.245832 3.121 0.683417 2.68342C1.121 2.24583 1.7145 2 2.33333 2H6.33333C6.88562 2 7.33333 2.44772 7.33333 3C7.33333 3.55228 6.88562 4 6.33333 4H2.33333Z\" />\n    </svg>\n  )\n}\n","var React = require('react');\n\nfunction CloseInline (props) {\n    return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M18.4001 1.59998L1.6001 18.4\",\"stroke\":\"white\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M1.6001 1.59998L18.4001 18.4\",\"stroke\":\"white\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"key\":1})]);\n}\n\nCloseInline.defaultProps = {\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\"};\n\nmodule.exports = CloseInline;\n\nCloseInline.default = CloseInline;\n","var React = require('react');\n\nfunction AppendixInline (props) {\n    return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M9 1H28.5\",\"stroke\":\"white\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M9 10H28.5\",\"stroke\":\"white\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"key\":1}),React.createElement(\"path\",{\"d\":\"M9 19H28.5\",\"stroke\":\"white\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"key\":2}),React.createElement(\"path\",{\"d\":\"M1.5 1H1.515\",\"stroke\":\"white\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"key\":3}),React.createElement(\"path\",{\"d\":\"M1.5 10H1.515\",\"stroke\":\"white\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"key\":4}),React.createElement(\"path\",{\"d\":\"M1.5 19H1.515\",\"stroke\":\"white\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"key\":5})]);\n}\n\nAppendixInline.defaultProps = {\"width\":\"30\",\"height\":\"20\",\"viewBox\":\"0 0 30 20\",\"fill\":\"none\"};\n\nmodule.exports = AppendixInline;\n\nAppendixInline.default = AppendixInline;\n","require(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\n(function webpackUniversalModuleDefinition(root, factory) {\n  if (typeof exports === 'object' && typeof module === 'object') module.exports = factory(require(\"react\"), require(\"react-dom\"));else if (typeof define === 'function' && define.amd) define([\"React\", \"ReactDOM\"], factory);else if (typeof exports === 'object') exports[\"react-visibility-sensor\"] = factory(require(\"react\"), require(\"react-dom\"));else root[\"react-visibility-sensor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function (__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__2__) {\n  return (\n    /******/\n    function (modules) {\n      // webpackBootstrap\n\n      /******/\n      // The module cache\n\n      /******/\n      var installedModules = {};\n      /******/\n\n      /******/\n      // The require function\n\n      /******/\n\n      function __webpack_require__(moduleId) {\n        /******/\n\n        /******/\n        // Check if module is in cache\n\n        /******/\n        if (installedModules[moduleId]) {\n          /******/\n          return installedModules[moduleId].exports;\n          /******/\n        }\n        /******/\n        // Create a new module (and put it into the cache)\n\n        /******/\n\n\n        var module = installedModules[moduleId] = {\n          /******/\n          i: moduleId,\n\n          /******/\n          l: false,\n\n          /******/\n          exports: {}\n          /******/\n\n        };\n        /******/\n\n        /******/\n        // Execute the module function\n\n        /******/\n\n        modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n        /******/\n\n        /******/\n        // Flag the module as loaded\n\n        /******/\n\n        module.l = true;\n        /******/\n\n        /******/\n        // Return the exports of the module\n\n        /******/\n\n        return module.exports;\n        /******/\n      }\n      /******/\n\n      /******/\n\n      /******/\n      // expose the modules object (__webpack_modules__)\n\n      /******/\n\n\n      __webpack_require__.m = modules;\n      /******/\n\n      /******/\n      // expose the module cache\n\n      /******/\n\n      __webpack_require__.c = installedModules;\n      /******/\n\n      /******/\n      // define getter function for harmony exports\n\n      /******/\n\n      __webpack_require__.d = function (exports, name, getter) {\n        /******/\n        if (!__webpack_require__.o(exports, name)) {\n          /******/\n          Object.defineProperty(exports, name, {\n            enumerable: true,\n            get: getter\n          });\n          /******/\n        }\n        /******/\n\n      };\n      /******/\n\n      /******/\n      // define __esModule on exports\n\n      /******/\n\n\n      __webpack_require__.r = function (exports) {\n        /******/\n        if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n          /******/\n          Object.defineProperty(exports, Symbol.toStringTag, {\n            value: 'Module'\n          });\n          /******/\n        }\n        /******/\n\n\n        Object.defineProperty(exports, '__esModule', {\n          value: true\n        });\n        /******/\n      };\n      /******/\n\n      /******/\n      // create a fake namespace object\n\n      /******/\n      // mode & 1: value is a module id, require it\n\n      /******/\n      // mode & 2: merge all properties of value into the ns\n\n      /******/\n      // mode & 4: return value when already ns object\n\n      /******/\n      // mode & 8|1: behave like require\n\n      /******/\n\n\n      __webpack_require__.t = function (value, mode) {\n        /******/\n        if (mode & 1) value = __webpack_require__(value);\n        /******/\n\n        if (mode & 8) return value;\n        /******/\n\n        if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value;\n        /******/\n\n        var ns = Object.create(null);\n        /******/\n\n        __webpack_require__.r(ns);\n        /******/\n\n\n        Object.defineProperty(ns, 'default', {\n          enumerable: true,\n          value: value\n        });\n        /******/\n\n        if (mode & 2 && typeof value != 'string') for (var key in value) {\n          __webpack_require__.d(ns, key, function (key) {\n            return value[key];\n          }.bind(null, key));\n        }\n        /******/\n\n        return ns;\n        /******/\n      };\n      /******/\n\n      /******/\n      // getDefaultExport function for compatibility with non-harmony modules\n\n      /******/\n\n\n      __webpack_require__.n = function (module) {\n        /******/\n        var getter = module && module.__esModule ?\n        /******/\n        function getDefault() {\n          return module['default'];\n        } :\n        /******/\n        function getModuleExports() {\n          return module;\n        };\n        /******/\n\n        __webpack_require__.d(getter, 'a', getter);\n        /******/\n\n\n        return getter;\n        /******/\n      };\n      /******/\n\n      /******/\n      // Object.prototype.hasOwnProperty.call\n\n      /******/\n\n\n      __webpack_require__.o = function (object, property) {\n        return Object.prototype.hasOwnProperty.call(object, property);\n      };\n      /******/\n\n      /******/\n      // __webpack_public_path__\n\n      /******/\n\n\n      __webpack_require__.p = \"\";\n      /******/\n\n      /******/\n\n      /******/\n      // Load entry module and return exports\n\n      /******/\n\n      return __webpack_require__(__webpack_require__.s = 4);\n      /******/\n    }(\n    /************************************************************************/\n\n    /******/\n    [\n    /* 0 */\n\n    /***/\n    function (module, exports, __webpack_require__) {\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      if (false) {\n        var throwOnDirectAccess, ReactIs;\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 = __webpack_require__(5)();\n      }\n      /***/\n\n    },\n    /* 1 */\n\n    /***/\n    function (module, exports) {\n      module.exports = __WEBPACK_EXTERNAL_MODULE__1__;\n      /***/\n    },\n    /* 2 */\n\n    /***/\n    function (module, exports) {\n      module.exports = __WEBPACK_EXTERNAL_MODULE__2__;\n      /***/\n    },\n    /* 3 */\n\n    /***/\n    function (module, exports) {\n      // Tell whether the rect is visible, given an offset\n      //\n      // return: boolean\n      module.exports = function (offset, rect, containmentRect) {\n        var offsetDir = offset.direction;\n        var offsetVal = offset.value; // Rules for checking different kind of offsets. In example if the element is\n        // 90px below viewport and offsetTop is 100, it is considered visible.\n\n        switch (offsetDir) {\n          case 'top':\n            return containmentRect.top + offsetVal < rect.top && containmentRect.bottom > rect.bottom && containmentRect.left < rect.left && containmentRect.right > rect.right;\n\n          case 'left':\n            return containmentRect.left + offsetVal < rect.left && containmentRect.bottom > rect.bottom && containmentRect.top < rect.top && containmentRect.right > rect.right;\n\n          case 'bottom':\n            return containmentRect.bottom - offsetVal > rect.bottom && containmentRect.left < rect.left && containmentRect.right > rect.right && containmentRect.top < rect.top;\n\n          case 'right':\n            return containmentRect.right - offsetVal > rect.right && containmentRect.left < rect.left && containmentRect.top < rect.top && containmentRect.bottom > rect.bottom;\n        }\n      };\n      /***/\n\n    },\n    /* 4 */\n\n    /***/\n    function (module, __webpack_exports__, __webpack_require__) {\n      \"use strict\";\n\n      __webpack_require__.r(__webpack_exports__);\n      /* harmony export (binding) */\n\n\n      __webpack_require__.d(__webpack_exports__, \"default\", function () {\n        return VisibilitySensor;\n      });\n      /* harmony import */\n\n\n      var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);\n      /* harmony import */\n\n\n      var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n      /* harmony import */\n\n\n      var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);\n      /* harmony import */\n\n\n      var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n      /* harmony import */\n\n\n      var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);\n      /* harmony import */\n\n\n      var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n      /* harmony import */\n\n\n      var _lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3);\n      /* harmony import */\n\n\n      var _lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3__);\n\n      function _typeof(obj) {\n        if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n          _typeof = function _typeof(obj) {\n            return typeof obj;\n          };\n        } else {\n          _typeof = function _typeof(obj) {\n            return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n          };\n        }\n\n        return _typeof(obj);\n      }\n\n      function _classCallCheck(instance, Constructor) {\n        if (!(instance instanceof Constructor)) {\n          throw new TypeError(\"Cannot call a class as a function\");\n        }\n      }\n\n      function _defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n          var descriptor = props[i];\n          descriptor.enumerable = descriptor.enumerable || false;\n          descriptor.configurable = true;\n          if (\"value\" in descriptor) descriptor.writable = true;\n          Object.defineProperty(target, descriptor.key, descriptor);\n        }\n      }\n\n      function _createClass(Constructor, protoProps, staticProps) {\n        if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n        if (staticProps) _defineProperties(Constructor, staticProps);\n        return Constructor;\n      }\n\n      function _possibleConstructorReturn(self, call) {\n        if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n          return call;\n        }\n\n        return _assertThisInitialized(self);\n      }\n\n      function _getPrototypeOf(o) {\n        _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n          return o.__proto__ || Object.getPrototypeOf(o);\n        };\n        return _getPrototypeOf(o);\n      }\n\n      function _assertThisInitialized(self) {\n        if (self === void 0) {\n          throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n        }\n\n        return self;\n      }\n\n      function _inherits(subClass, superClass) {\n        if (typeof superClass !== \"function\" && superClass !== null) {\n          throw new TypeError(\"Super expression must either be null or a function\");\n        }\n\n        subClass.prototype = Object.create(superClass && superClass.prototype, {\n          constructor: {\n            value: subClass,\n            writable: true,\n            configurable: true\n          }\n        });\n        if (superClass) _setPrototypeOf(subClass, superClass);\n      }\n\n      function _setPrototypeOf(o, p) {\n        _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n          o.__proto__ = p;\n          return o;\n        };\n\n        return _setPrototypeOf(o, p);\n      }\n\n      function _defineProperty(obj, key, value) {\n        if (key in obj) {\n          Object.defineProperty(obj, key, {\n            value: value,\n            enumerable: true,\n            configurable: true,\n            writable: true\n          });\n        } else {\n          obj[key] = value;\n        }\n\n        return obj;\n      }\n\n      function normalizeRect(rect) {\n        if (rect.width === undefined) {\n          rect.width = rect.right - rect.left;\n        }\n\n        if (rect.height === undefined) {\n          rect.height = rect.bottom - rect.top;\n        }\n\n        return rect;\n      }\n\n      var VisibilitySensor = /*#__PURE__*/function (_React$Component) {\n        _inherits(VisibilitySensor, _React$Component);\n\n        function VisibilitySensor(props) {\n          var _this;\n\n          _classCallCheck(this, VisibilitySensor);\n\n          _this = _possibleConstructorReturn(this, _getPrototypeOf(VisibilitySensor).call(this, props));\n\n          _defineProperty(_assertThisInitialized(_this), \"getContainer\", function () {\n            return _this.props.containment || window;\n          });\n\n          _defineProperty(_assertThisInitialized(_this), \"addEventListener\", function (target, event, delay, throttle) {\n            if (!_this.debounceCheck) {\n              _this.debounceCheck = {};\n            }\n\n            var timeout;\n            var func;\n\n            var later = function later() {\n              timeout = null;\n\n              _this.check();\n            };\n\n            if (throttle > -1) {\n              func = function func() {\n                if (!timeout) {\n                  timeout = setTimeout(later, throttle || 0);\n                }\n              };\n            } else {\n              func = function func() {\n                clearTimeout(timeout);\n                timeout = setTimeout(later, delay || 0);\n              };\n            }\n\n            var info = {\n              target: target,\n              fn: func,\n              getLastTimeout: function getLastTimeout() {\n                return timeout;\n              }\n            };\n            target.addEventListener(event, info.fn);\n            _this.debounceCheck[event] = info;\n          });\n\n          _defineProperty(_assertThisInitialized(_this), \"startWatching\", function () {\n            if (_this.debounceCheck || _this.interval) {\n              return;\n            }\n\n            if (_this.props.intervalCheck) {\n              _this.interval = setInterval(_this.check, _this.props.intervalDelay);\n            }\n\n            if (_this.props.scrollCheck) {\n              _this.addEventListener(_this.getContainer(), \"scroll\", _this.props.scrollDelay, _this.props.scrollThrottle);\n            }\n\n            if (_this.props.resizeCheck) {\n              _this.addEventListener(window, \"resize\", _this.props.resizeDelay, _this.props.resizeThrottle);\n            } // if dont need delayed call, check on load ( before the first interval fires )\n\n\n            !_this.props.delayedCall && _this.check();\n          });\n\n          _defineProperty(_assertThisInitialized(_this), \"stopWatching\", function () {\n            if (_this.debounceCheck) {\n              // clean up event listeners and their debounce callers\n              for (var debounceEvent in _this.debounceCheck) {\n                if (_this.debounceCheck.hasOwnProperty(debounceEvent)) {\n                  var debounceInfo = _this.debounceCheck[debounceEvent];\n                  clearTimeout(debounceInfo.getLastTimeout());\n                  debounceInfo.target.removeEventListener(debounceEvent, debounceInfo.fn);\n                  _this.debounceCheck[debounceEvent] = null;\n                }\n              }\n            }\n\n            _this.debounceCheck = null;\n\n            if (_this.interval) {\n              _this.interval = clearInterval(_this.interval);\n            }\n          });\n\n          _defineProperty(_assertThisInitialized(_this), \"check\", function () {\n            var el = _this.node;\n            var rect;\n            var containmentRect; // if the component has rendered to null, dont update visibility\n\n            if (!el) {\n              return _this.state;\n            }\n\n            rect = normalizeRect(_this.roundRectDown(el.getBoundingClientRect()));\n\n            if (_this.props.containment) {\n              var containmentDOMRect = _this.props.containment.getBoundingClientRect();\n\n              containmentRect = {\n                top: containmentDOMRect.top,\n                left: containmentDOMRect.left,\n                bottom: containmentDOMRect.bottom,\n                right: containmentDOMRect.right\n              };\n            } else {\n              containmentRect = {\n                top: 0,\n                left: 0,\n                bottom: window.innerHeight || document.documentElement.clientHeight,\n                right: window.innerWidth || document.documentElement.clientWidth\n              };\n            } // Check if visibility is wanted via offset?\n\n\n            var offset = _this.props.offset || {};\n            var hasValidOffset = _typeof(offset) === \"object\";\n\n            if (hasValidOffset) {\n              containmentRect.top += offset.top || 0;\n              containmentRect.left += offset.left || 0;\n              containmentRect.bottom -= offset.bottom || 0;\n              containmentRect.right -= offset.right || 0;\n            }\n\n            var visibilityRect = {\n              top: rect.top >= containmentRect.top,\n              left: rect.left >= containmentRect.left,\n              bottom: rect.bottom <= containmentRect.bottom,\n              right: rect.right <= containmentRect.right\n            }; // https://github.com/joshwnj/react-visibility-sensor/pull/114\n\n            var hasSize = rect.height > 0 && rect.width > 0;\n            var isVisible = hasSize && visibilityRect.top && visibilityRect.left && visibilityRect.bottom && visibilityRect.right; // check for partial visibility\n\n            if (hasSize && _this.props.partialVisibility) {\n              var partialVisible = rect.top <= containmentRect.bottom && rect.bottom >= containmentRect.top && rect.left <= containmentRect.right && rect.right >= containmentRect.left; // account for partial visibility on a single edge\n\n              if (typeof _this.props.partialVisibility === \"string\") {\n                partialVisible = visibilityRect[_this.props.partialVisibility];\n              } // if we have minimum top visibility set by props, lets check, if it meets the passed value\n              // so if for instance element is at least 200px in viewport, then show it.\n\n\n              isVisible = _this.props.minTopValue ? partialVisible && rect.top <= containmentRect.bottom - _this.props.minTopValue : partialVisible;\n            } // Deprecated options for calculating offset.\n\n\n            if (typeof offset.direction === \"string\" && typeof offset.value === \"number\") {\n              console.warn(\"[notice] offset.direction and offset.value have been deprecated. They still work for now, but will be removed in next major version. Please upgrade to the new syntax: { %s: %d }\", offset.direction, offset.value);\n              isVisible = _lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3___default()(offset, rect, containmentRect);\n            }\n\n            var state = _this.state; // notify the parent when the value changes\n\n            if (_this.state.isVisible !== isVisible) {\n              state = {\n                isVisible: isVisible,\n                visibilityRect: visibilityRect\n              };\n\n              _this.setState(state);\n\n              if (_this.props.onChange) _this.props.onChange(isVisible);\n            }\n\n            return state;\n          });\n\n          _this.state = {\n            isVisible: null,\n            visibilityRect: {}\n          };\n          return _this;\n        }\n\n        _createClass(VisibilitySensor, [{\n          key: \"componentDidMount\",\n          value: function componentDidMount() {\n            this.node = react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.findDOMNode(this);\n\n            if (this.props.active) {\n              this.startWatching();\n            }\n          }\n        }, {\n          key: \"componentWillUnmount\",\n          value: function componentWillUnmount() {\n            this.stopWatching();\n          }\n        }, {\n          key: \"componentDidUpdate\",\n          value: function componentDidUpdate(prevProps) {\n            // re-register node in componentDidUpdate if children diffs [#103]\n            this.node = react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.findDOMNode(this);\n\n            if (this.props.active && !prevProps.active) {\n              this.setState({\n                isVisible: null,\n                visibilityRect: {}\n              });\n              this.startWatching();\n            } else if (!this.props.active) {\n              this.stopWatching();\n            }\n          }\n        }, {\n          key: \"roundRectDown\",\n          value: function roundRectDown(rect) {\n            return {\n              top: Math.floor(rect.top),\n              left: Math.floor(rect.left),\n              bottom: Math.floor(rect.bottom),\n              right: Math.floor(rect.right)\n            };\n          }\n          /**\n           * Check if the element is within the visible viewport\n           */\n\n        }, {\n          key: \"render\",\n          value: function render() {\n            if (this.props.children instanceof Function) {\n              return this.props.children({\n                isVisible: this.state.isVisible,\n                visibilityRect: this.state.visibilityRect\n              });\n            }\n\n            return react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.only(this.props.children);\n          }\n        }]);\n\n        return VisibilitySensor;\n      }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);\n\n      _defineProperty(VisibilitySensor, \"defaultProps\", {\n        active: true,\n        partialVisibility: false,\n        minTopValue: 0,\n        scrollCheck: false,\n        scrollDelay: 250,\n        scrollThrottle: -1,\n        resizeCheck: false,\n        resizeDelay: 250,\n        resizeThrottle: -1,\n        intervalCheck: true,\n        intervalDelay: 100,\n        delayedCall: false,\n        offset: {},\n        containment: null,\n        children: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null)\n      });\n\n      _defineProperty(VisibilitySensor, \"propTypes\", {\n        onChange: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n        active: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n        partialVisibility: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOf([\"top\", \"right\", \"bottom\", \"left\"])]),\n        delayedCall: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n        offset: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n          top: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n          left: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n          bottom: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n          right: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number\n        }), // deprecated offset property\n        prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n          direction: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOf([\"top\", \"right\", \"bottom\", \"left\"]),\n          value: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number\n        })]),\n        scrollCheck: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n        scrollDelay: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n        scrollThrottle: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n        resizeCheck: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n        resizeDelay: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n        resizeThrottle: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n        intervalCheck: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n        intervalDelay: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n        containment: typeof window !== \"undefined\" ? prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.instanceOf(window.Element) : prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.any,\n        children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.element, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func]),\n        minTopValue: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number\n      });\n      /***/\n\n    },\n    /* 5 */\n\n    /***/\n    function (module, exports, __webpack_require__) {\n      \"use strict\";\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      var ReactPropTypesSecret = __webpack_require__(6);\n\n      function emptyFunction() {}\n\n      function emptyFunctionWithReset() {}\n\n      emptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n      module.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\n          var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n          err.name = 'Invariant Violation';\n          throw err;\n        }\n\n        ;\n        shim.isRequired = shim;\n\n        function getShim() {\n          return shim;\n        }\n\n        ; // Important!\n        // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\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          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          checkPropTypes: emptyFunctionWithReset,\n          resetWarningCache: emptyFunction\n        };\n        ReactPropTypes.PropTypes = ReactPropTypes;\n        return ReactPropTypes;\n      };\n      /***/\n\n    },\n    /* 6 */\n\n    /***/\n    function (module, exports, __webpack_require__) {\n      \"use strict\";\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      var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n      module.exports = ReactPropTypesSecret;\n      /***/\n    }\n    /******/\n    ])\n  );\n});","export default function findObject(\n  dataSource,\n  dataSourceProperty,\n  valueToMatch\n) {\n  return dataSource.find(object => object[dataSourceProperty] === valueToMatch)\n}\n","import React, { useState, useEffect, useRef } from \"react\"\nimport VisibilitySensor from \"react-visibility-sensor\"\nimport AppendixItems from \"../data/appendix.json\"\nimport IconAppendix from \"../images/appendix.inline.svg\"\nimport IconClose from \"../images/close.inline.svg\"\nimport IconExternalLink from \"../components/svg/icon-external-link\"\nimport FocusLock from \"react-focus-lock\"\n\nexport const Appendix = ({ page }) => {\n  const appendixButton = useRef()\n  const [active, setActive] = useState(false)\n\n  const toggleOverlay = () => {\n    const BODY_LOCK = \"util__body-lock\"\n\n    if (active) {\n      setActive(false)\n      document.body.classList.remove(BODY_LOCK)\n    } else {\n      setActive(true)\n      document.body.classList.add(BODY_LOCK)\n    }\n  }\n\n  const pageData = AppendixItems.find(obj => {\n    return obj.page === page\n  })\n\n  // Simple listener to close overlay on escape key hit\n  function handleKeydown(e) {\n    if (e.keyCode === 27 && active) {\n      toggleOverlay()\n    }\n  }\n\n  useEffect(() => {\n    document.addEventListener(\"keydown\", handleKeydown)\n    return () => {\n      document.removeEventListener(\"keydown\", handleKeydown)\n    }\n  })\n\n  return (\n    <>\n      <FocusLock\n        disabled={active ? false : true}\n        shards={[active ? appendixButton : null]}\n        returnFocus={true}\n        noFocusGuards={true}\n      >\n        <div\n          id=\"appendix__overlay\"\n          className=\"appendix__overlay\"\n          aria-hidden={active ? \"false\" : \"true\"}\n          tabIndex=\"-1\"\n        >\n          <div className=\"appendix__overlay__content\">\n            <h3 className=\"title--secondary title--uppercase\">\n              Further Reading\n            </h3>\n            <ul>\n              {pageData.items.map((item, index) => {\n                return (\n                  <li key={index}>\n                    <a href={item.href}>\n                      <IconExternalLink />\n                      <span\n                        dangerouslySetInnerHTML={{ __html: item.text }}\n                      ></span>\n                    </a>\n                  </li>\n                )\n              })}\n            </ul>\n          </div>\n        </div>\n      </FocusLock>\n      <div className=\"appendix\">\n        <div\n          className={\n            active\n              ? \"appendix__bubble appendix__bubble--overlay-active\"\n              : \"appendix__bubble\"\n          }\n          id=\"appendix__bubble\"\n        >\n          <header>Further Reading</header>\n          <div\n            className=\"appendix__bubble__content\"\n            id=\"appendix__bubble__content\"\n          ></div>\n        </div>\n        <button\n          ref={appendixButton}\n          className={\n            active\n              ? \"appendix__button appendix__button--active\"\n              : \"appendix__button\"\n          }\n          aria-label={\n            active ? \"Open Further Reading list\" : \"Close Further Reading list\"\n          }\n          onClick={toggleOverlay}\n          aria-haspopup=\"true\"\n          aria-owns=\"appendix__overlay\"\n        >\n          {active ? <IconClose /> : <IconAppendix />}\n        </button>\n      </div>\n    </>\n  )\n}\n\nexport const AppendixWaypoint = ({ id, page }) => {\n  const pageData = AppendixItems.find(obj => {\n    return obj.page === page\n  })\n\n  const appendixData = pageData.items.find(item => {\n    return item.id === id\n  })\n\n  return (\n    <VisibilitySensor\n      onChange={isVisible => {\n        if (isVisible) {\n          let content = document.getElementById(\"appendix__bubble__content\")\n          let bubble = document.getElementById(\"appendix__bubble\")\n          bubble.classList.add(\"appendix__bubble--visible\")\n          content.innerHTML = `<a href=\"${appendixData.href}\" tabindex=\"-1\">${appendixData.text}</a>`\n        } else {\n          let bubble = document.getElementById(\"appendix__bubble\")\n          bubble.classList.remove(\"appendix__bubble--visible\")\n        }\n      }}\n    >\n      <div\n        className=\"appendix__waypoint\"\n        aria-controls=\"appendix__bubble\"\n      ></div>\n    </VisibilitySensor>\n  )\n}\n","import React, { useEffect, useRef } from \"react\"\nimport menuData from \"../data/menu.json\"\nimport findObject from \"../helpers/find-object\"\nimport { Link } from \"gatsby\"\n\nexport default function SubNavigation({ current, id }) {\n  const menu = findObject(menuData, \"name\", id).children\n  const location = menu.findIndex(item => item.id.includes(current))\n  const activeItem = useRef()\n\n  const handleScroll = () => {\n    var height = document.documentElement.scrollHeight - window.innerHeight\n    var scrollY = window.pageYOffset\n    var progress = Math.round((scrollY / height) * 100)\n    if (activeItem.current) {\n      activeItem.current.style.width = progress + \"%\"\n    }\n  }\n\n  const setActive = name => {\n    if (current === name) {\n      return \"sub-navigation--active\"\n    } else if (!current) {\n      return \"sub-navigation--active\"\n    } else {\n      return null\n    }\n  }\n\n  useEffect(() => {\n    window.addEventListener(\"scroll\", handleScroll)\n  })\n\n  return (\n    <nav className=\"sub-navigation util__desktop-only\">\n      <ul>\n        {menu.map((item, index) => {\n          return (\n            <li\n              key={index}\n              className={setActive(item.id, index)}\n              style={{ flex: 100 / menu.length }}\n            >\n              <div\n                className={\n                  index < location\n                    ? \"sub-navigation__progress sub-navigation__progress--full\"\n                    : \"sub-navigation__progress\"\n                }\n                ref={item.id === current ? activeItem : null}\n              />\n              <Link className=\"title--micro title--uppercase\" to={item.href}>\n                {item.name}\n              </Link>\n            </li>\n          )\n        })}\n      </ul>\n    </nav>\n  )\n}\n"],"sourceRoot":""}