{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./frontend/js/util.js","webpack:///./frontend/main.js","webpack:///./frontend/js/topics.js","webpack:///./frontend/js/version-selector.js","webpack:///./frontend/js/menu.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","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","queryAllByClass","className","element","context","document","slice","getElementsByClassName","getClosest","selector","elem","nodeType","parentNode","tagName","toLowerCase","queryByClass","result","length","undefined","_topics2","default","_versionSelector2","_menu2","currentLink","findSelectedTopicLink","setupCondensedTopic","setTopicsSelected","_util","localPath","window","location","pathname","allLinks","getElementsByTagName","Array","find","x","trigger","contentSection","currentLabel","currentVersion","versionSelector","getElementById","addEventListener","event","preventDefault","classList","toggle","textContent","selectedOptions","children","listElem","add","climbTheTree","parent","parentElement","coll","content","this","nextElementSibling","style","display","href","target","initBurgerMenu","menu"],"mappings":"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","file":"main.d873cdb1.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","\r\nexport function getClosest (selector, elem) {\r\n // Get closest match\r\n for (; elem && elem !== document && elem.nodeType === 1; elem = elem.parentNode) {\r\n if (elem.tagName.toLowerCase() === selector) {\r\n return elem\r\n }\r\n }\r\n return null\r\n}\r\n\r\nexport function queryByClass (className, element) {\r\n let result = queryAllByClass(className, element)\r\n return result.length ? result[0] : undefined\r\n}\r\n\r\nexport function queryAllByClass (className, element) {\r\n let context = element || document\r\n return [].slice.call(context.getElementsByClassName(className))\r\n}\r\n","import css from './main.styl'\r\nimport selectTopic from './js/topics'\r\nimport initVersionSelector from './js/version-selector'\r\nimport menu from './js/menu'\r\n\r\nselectTopic()\r\ninitVersionSelector()\r\nmenu()\r\n","import { getClosest, queryByClass } from './util'\r\n\r\nconst localPath = window.location.pathname\r\n\r\nexport default function init () {\r\n const currentLink = findSelectedTopicLink()\r\n setupCondensedTopic(currentLink)\r\n if (!currentLink) return\r\n setTopicsSelected(currentLink)\r\n}\r\n\r\nconst findSelectedTopicLink = () => {\r\n const lvl1Topics = queryByClass('js-topics')\r\n const allLinks = lvl1Topics.getElementsByTagName('a')\r\n const currentLink = Array.prototype.find.call(allLinks, x => x.pathname === localPath)\r\n return currentLink\r\n}\r\n\r\nconst setupCondensedTopic = currentLink => {\r\n const trigger = queryByClass('js-topic-toggle')\r\n const contentSection = queryByClass('js-content')\r\n const currentLabel = queryByClass('js-current-topic')\r\n const currentVersion = queryByClass('js-current-version')\r\n const versionSelector = document.getElementById('versionSelector')\r\n\r\n trigger.addEventListener('click', event => {\r\n event.preventDefault()\r\n contentSection.classList.toggle('show-topics')\r\n })\r\n currentVersion.addEventListener('click', event => {\r\n event.preventDefault()\r\n contentSection.classList.toggle('show-topics')\r\n })\r\n currentVersion.textContent = versionSelector.selectedOptions[0].textContent\r\n if (currentLink) {\r\n currentLabel.textContent = currentLink.children.length ? currentLink.children[1].textContent : currentLink.textContent\r\n } else {\r\n currentLabel.textContent = 'Select topic'\r\n }\r\n}\r\n\r\nconst setTopicsSelected = currentLink => {\r\n const listElem = getClosest('li', currentLink)\r\n listElem.classList.add('selected')\r\n climbTheTree(listElem)\r\n}\r\n\r\nconst climbTheTree = (listElem) => {\r\n const parent = getClosest('li', listElem.parentElement)\r\n if (parent) {\r\n parent.classList.add('expanded')\r\n climbTheTree(parent)\r\n }\r\n}\r\n\r\nvar coll = document.getElementsByClassName(\"collapsible\");\r\nvar i;\r\n\r\nfor (i = 0; i < coll.length; i++) {\r\n coll[i].addEventListener(\"click\", function() {\r\n var content = this.nextElementSibling;\r\n if (content.style.display === \"block\") {\r\n content.style.display = \"none\";\r\n } else {\r\n content.style.display = \"block\";\r\n }\r\n });\r\n}","export default function init () {\r\n const versionSelect = document.getElementById('versionSelector')\r\n versionSelect.addEventListener('change', event => {\r\n window.location.href = event.target.value\r\n })\r\n}\r\n","import { queryByClass } from './util'\r\n\r\nexport default function init () {\r\n initBurgerMenu()\r\n}\r\n\r\nconst initBurgerMenu = () => {\r\n const trigger = queryByClass('js-menu-trigger')\r\n const menu = queryByClass('js-menu')\r\n trigger.addEventListener('click', event => {\r\n menu.classList.toggle('show')\r\n })\r\n}\r\n"],"sourceRoot":""}