{"version":3,"sources":["webpack:///./node_modules/slugify/index.js","webpack:///./node_modules/tocbot/src/js/index.js","webpack:///./node_modules/tocbot/src/js/default-options.js","webpack:///./node_modules/tocbot/src/js/build-html.js","webpack:///./node_modules/tocbot/src/js/parse-content.js","webpack:///./node_modules/tocbot/src/js/scroll-smooth/index.js"],"names":["factory","__webpack_require__","charMap","JSON","parse","replace","string","options","Error","replacement","slug","split","reduce","result","ch","remove","trim","lower","toLowerCase","extend","customMap","key","module","exports","global","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","root","this","window","buildHtml","parseContent","defaultOptions","tocbot","BuildHtml","ParseContent","headingsArray","supports","document","querySelector","addEventListener","hasOwnProperty","Object","prototype","destroy","skipRendering","tocSelector","innerHTML","e","console","warn","scrollContainer","removeEventListener","_scrollListener","_clickListener","init","customOptions","target","i","arguments","length","source","call","state","scrollSmooth","duration","scrollSmoothDuration","offset","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","isTop","scrollingElement","scrollTop","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","clearTimeout","setTimeout","enableTocAnimation","refresh","fn","threshhold","scope","last","deferTimer","context","now","Date","args","apply","undefined","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","forEach","some","body","currentlyHighlighting","SPACE_CHAR","createEl","d","container","link","appendChild","data","item","createElement","a","setAttribute","onclick","childNodes","node","cloneNode","textContent","id","nodeName","createLink","children","list","createList","isCollapsed","child","listElement","classes","srcElement","className","indexOf","selector","parent","firstChild","removeChild","top","documentElement","posFixedEl","offsetTop","join","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","obj","position","offsetParent","tocLinks","querySelectorAll","tocLink","tocLis","tocLi","activeTocLink","li","parentNode","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","array","getHeadingLevel","getHeadingObject","headingLevel","prev","curr","level","lastItem","counter","push","addNode","selectors","map","jump","start","pageYOffset","opt","callback","easing","easeInOutQuad","tgt","decodeURI","distance","getBoundingClientRect","timeStart","timeElapsed","loop","time","scrollTo","requestAnimationFrame","end","t","b","c","style","pageUrl","location","hash","stripHash","href","url","slice","lastIndexOf","n","tagName","charAt","getElementById","substring","test","tabIndex","focus","delegatedLinkHijacking"],"mappings":"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","file":"4-3e0986b5548db44c8d3c.js","sourcesContent":["require(\"core-js/modules/es6.regexp.split\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.function.name\");\n\n;\n\n(function (name, root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory();\n module.exports['default'] = factory();\n }\n /* istanbul ignore next */\n else if (typeof define === 'function' && define.amd) {\n define(factory);\n } else {\n root[name] = factory();\n }\n})('slugify', this, function () {\n /* eslint-disable */\n var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"¢\":\"cent\",\"£\":\"pound\",\"¤\":\"currency\",\"¥\":\"yen\",\"©\":\"(c)\",\"ª\":\"a\",\"®\":\"(r)\",\"º\":\"o\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"Æ\":\"AE\",\"Ç\":\"C\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"Ð\":\"D\",\"Ñ\":\"N\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"Ý\":\"Y\",\"Þ\":\"TH\",\"ß\":\"ss\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"æ\":\"ae\",\"ç\":\"c\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"ð\":\"d\",\"ñ\":\"n\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"ý\":\"y\",\"þ\":\"th\",\"ÿ\":\"y\",\"Ā\":\"A\",\"ā\":\"a\",\"Ă\":\"A\",\"ă\":\"a\",\"Ą\":\"A\",\"ą\":\"a\",\"Ć\":\"C\",\"ć\":\"c\",\"Č\":\"C\",\"č\":\"c\",\"Ď\":\"D\",\"ď\":\"d\",\"Đ\":\"DJ\",\"đ\":\"dj\",\"Ē\":\"E\",\"ē\":\"e\",\"Ė\":\"E\",\"ė\":\"e\",\"Ę\":\"e\",\"ę\":\"e\",\"Ě\":\"E\",\"ě\":\"e\",\"Ğ\":\"G\",\"ğ\":\"g\",\"Ģ\":\"G\",\"ģ\":\"g\",\"Ĩ\":\"I\",\"ĩ\":\"i\",\"Ī\":\"i\",\"ī\":\"i\",\"Į\":\"I\",\"į\":\"i\",\"İ\":\"I\",\"ı\":\"i\",\"Ķ\":\"k\",\"ķ\":\"k\",\"Ļ\":\"L\",\"ļ\":\"l\",\"Ľ\":\"L\",\"ľ\":\"l\",\"Ł\":\"L\",\"ł\":\"l\",\"Ń\":\"N\",\"ń\":\"n\",\"Ņ\":\"N\",\"ņ\":\"n\",\"Ň\":\"N\",\"ň\":\"n\",\"Ő\":\"O\",\"ő\":\"o\",\"Œ\":\"OE\",\"œ\":\"oe\",\"Ŕ\":\"R\",\"ŕ\":\"r\",\"Ř\":\"R\",\"ř\":\"r\",\"Ś\":\"S\",\"ś\":\"s\",\"Ş\":\"S\",\"ş\":\"s\",\"Š\":\"S\",\"š\":\"s\",\"Ţ\":\"T\",\"ţ\":\"t\",\"Ť\":\"T\",\"ť\":\"t\",\"Ũ\":\"U\",\"ũ\":\"u\",\"Ū\":\"u\",\"ū\":\"u\",\"Ů\":\"U\",\"ů\":\"u\",\"Ű\":\"U\",\"ű\":\"u\",\"Ų\":\"U\",\"ų\":\"u\",\"Ź\":\"Z\",\"ź\":\"z\",\"Ż\":\"Z\",\"ż\":\"z\",\"Ž\":\"Z\",\"ž\":\"z\",\"ƒ\":\"f\",\"Ơ\":\"O\",\"ơ\":\"o\",\"Ư\":\"U\",\"ư\":\"u\",\"Lj\":\"LJ\",\"lj\":\"lj\",\"Nj\":\"NJ\",\"nj\":\"nj\",\"Ș\":\"S\",\"ș\":\"s\",\"Ț\":\"T\",\"ț\":\"t\",\"˚\":\"o\",\"Ά\":\"A\",\"Έ\":\"E\",\"Ή\":\"H\",\"Ί\":\"I\",\"Ό\":\"O\",\"Ύ\":\"Y\",\"Ώ\":\"W\",\"ΐ\":\"i\",\"Α\":\"A\",\"Β\":\"B\",\"Γ\":\"G\",\"Δ\":\"D\",\"Ε\":\"E\",\"Ζ\":\"Z\",\"Η\":\"H\",\"Θ\":\"8\",\"Ι\":\"I\",\"Κ\":\"K\",\"Λ\":\"L\",\"Μ\":\"M\",\"Ν\":\"N\",\"Ξ\":\"3\",\"Ο\":\"O\",\"Π\":\"P\",\"Ρ\":\"R\",\"Σ\":\"S\",\"Τ\":\"T\",\"Υ\":\"Y\",\"Φ\":\"F\",\"Χ\":\"X\",\"Ψ\":\"PS\",\"Ω\":\"W\",\"Ϊ\":\"I\",\"Ϋ\":\"Y\",\"ά\":\"a\",\"έ\":\"e\",\"ή\":\"h\",\"ί\":\"i\",\"ΰ\":\"y\",\"α\":\"a\",\"β\":\"b\",\"γ\":\"g\",\"δ\":\"d\",\"ε\":\"e\",\"ζ\":\"z\",\"η\":\"h\",\"θ\":\"8\",\"ι\":\"i\",\"κ\":\"k\",\"λ\":\"l\",\"μ\":\"m\",\"ν\":\"n\",\"ξ\":\"3\",\"ο\":\"o\",\"π\":\"p\",\"ρ\":\"r\",\"ς\":\"s\",\"σ\":\"s\",\"τ\":\"t\",\"υ\":\"y\",\"φ\":\"f\",\"χ\":\"x\",\"ψ\":\"ps\",\"ω\":\"w\",\"ϊ\":\"i\",\"ϋ\":\"y\",\"ό\":\"o\",\"ύ\":\"y\",\"ώ\":\"w\",\"Ё\":\"Yo\",\"Ђ\":\"DJ\",\"Є\":\"Ye\",\"І\":\"I\",\"Ї\":\"Yi\",\"Ј\":\"J\",\"Љ\":\"LJ\",\"Њ\":\"NJ\",\"Ћ\":\"C\",\"Џ\":\"DZ\",\"А\":\"A\",\"Б\":\"B\",\"В\":\"V\",\"Г\":\"G\",\"Д\":\"D\",\"Е\":\"E\",\"Ж\":\"Zh\",\"З\":\"Z\",\"И\":\"I\",\"Й\":\"J\",\"К\":\"K\",\"Л\":\"L\",\"М\":\"M\",\"Н\":\"N\",\"О\":\"O\",\"П\":\"P\",\"Р\":\"R\",\"С\":\"S\",\"Т\":\"T\",\"У\":\"U\",\"Ф\":\"F\",\"Х\":\"H\",\"Ц\":\"C\",\"Ч\":\"Ch\",\"Ш\":\"Sh\",\"Щ\":\"Sh\",\"Ъ\":\"U\",\"Ы\":\"Y\",\"Ь\":\"\",\"Э\":\"E\",\"Ю\":\"Yu\",\"Я\":\"Ya\",\"а\":\"a\",\"б\":\"b\",\"в\":\"v\",\"г\":\"g\",\"д\":\"d\",\"е\":\"e\",\"ж\":\"zh\",\"з\":\"z\",\"и\":\"i\",\"й\":\"j\",\"к\":\"k\",\"л\":\"l\",\"м\":\"m\",\"н\":\"n\",\"о\":\"o\",\"п\":\"p\",\"р\":\"r\",\"с\":\"s\",\"т\":\"t\",\"у\":\"u\",\"ф\":\"f\",\"х\":\"h\",\"ц\":\"c\",\"ч\":\"ch\",\"ш\":\"sh\",\"щ\":\"sh\",\"ъ\":\"u\",\"ы\":\"y\",\"ь\":\"\",\"э\":\"e\",\"ю\":\"yu\",\"я\":\"ya\",\"ё\":\"yo\",\"ђ\":\"dj\",\"є\":\"ye\",\"і\":\"i\",\"ї\":\"yi\",\"ј\":\"j\",\"љ\":\"lj\",\"њ\":\"nj\",\"ћ\":\"c\",\"џ\":\"dz\",\"Ґ\":\"G\",\"ґ\":\"g\",\"฿\":\"baht\",\"ა\":\"a\",\"ბ\":\"b\",\"გ\":\"g\",\"დ\":\"d\",\"ე\":\"e\",\"ვ\":\"v\",\"ზ\":\"z\",\"თ\":\"t\",\"ი\":\"i\",\"კ\":\"k\",\"ლ\":\"l\",\"მ\":\"m\",\"ნ\":\"n\",\"ო\":\"o\",\"პ\":\"p\",\"ჟ\":\"zh\",\"რ\":\"r\",\"ს\":\"s\",\"ტ\":\"t\",\"უ\":\"u\",\"ფ\":\"f\",\"ქ\":\"k\",\"ღ\":\"gh\",\"ყ\":\"q\",\"შ\":\"sh\",\"ჩ\":\"ch\",\"ც\":\"ts\",\"ძ\":\"dz\",\"წ\":\"ts\",\"ჭ\":\"ch\",\"ხ\":\"kh\",\"ჯ\":\"j\",\"ჰ\":\"h\",\"ẞ\":\"SS\",\"Ạ\":\"A\",\"ạ\":\"a\",\"Ả\":\"A\",\"ả\":\"a\",\"Ấ\":\"A\",\"ấ\":\"a\",\"Ầ\":\"A\",\"ầ\":\"a\",\"Ẩ\":\"A\",\"ẩ\":\"a\",\"Ẫ\":\"A\",\"ẫ\":\"a\",\"Ậ\":\"A\",\"ậ\":\"a\",\"Ắ\":\"A\",\"ắ\":\"a\",\"Ằ\":\"A\",\"ằ\":\"a\",\"Ẳ\":\"A\",\"ẳ\":\"a\",\"Ẵ\":\"A\",\"ẵ\":\"a\",\"Ặ\":\"A\",\"ặ\":\"a\",\"Ẹ\":\"E\",\"ẹ\":\"e\",\"Ẻ\":\"E\",\"ẻ\":\"e\",\"Ẽ\":\"E\",\"ẽ\":\"e\",\"Ế\":\"E\",\"ế\":\"e\",\"Ề\":\"E\",\"ề\":\"e\",\"Ể\":\"E\",\"ể\":\"e\",\"Ễ\":\"E\",\"ễ\":\"e\",\"Ệ\":\"E\",\"ệ\":\"e\",\"Ỉ\":\"I\",\"ỉ\":\"i\",\"Ị\":\"I\",\"ị\":\"i\",\"Ọ\":\"O\",\"ọ\":\"o\",\"Ỏ\":\"O\",\"ỏ\":\"o\",\"Ố\":\"O\",\"ố\":\"o\",\"Ồ\":\"O\",\"ồ\":\"o\",\"Ổ\":\"O\",\"ổ\":\"o\",\"Ỗ\":\"O\",\"ỗ\":\"o\",\"Ộ\":\"O\",\"ộ\":\"o\",\"Ớ\":\"O\",\"ớ\":\"o\",\"Ờ\":\"O\",\"ờ\":\"o\",\"Ở\":\"O\",\"ở\":\"o\",\"Ỡ\":\"O\",\"ỡ\":\"o\",\"Ợ\":\"O\",\"ợ\":\"o\",\"Ụ\":\"U\",\"ụ\":\"u\",\"Ủ\":\"U\",\"ủ\":\"u\",\"Ứ\":\"U\",\"ứ\":\"u\",\"Ừ\":\"U\",\"ừ\":\"u\",\"Ử\":\"U\",\"ử\":\"u\",\"Ữ\":\"U\",\"ữ\":\"u\",\"Ự\":\"U\",\"ự\":\"u\",\"Ỳ\":\"Y\",\"ỳ\":\"y\",\"Ỵ\":\"Y\",\"ỵ\":\"y\",\"Ỷ\":\"Y\",\"ỷ\":\"y\",\"Ỹ\":\"Y\",\"ỹ\":\"y\",\"‘\":\"\\'\",\"’\":\"\\'\",\"“\":\"\\\\\\\"\",\"”\":\"\\\\\\\"\",\"†\":\"+\",\"•\":\"*\",\"…\":\"...\",\"₠\":\"ecu\",\"₢\":\"cruzeiro\",\"₣\":\"french franc\",\"₤\":\"lira\",\"₥\":\"mill\",\"₦\":\"naira\",\"₧\":\"peseta\",\"₨\":\"rupee\",\"₩\":\"won\",\"₪\":\"new shequel\",\"₫\":\"dong\",\"€\":\"euro\",\"₭\":\"kip\",\"₮\":\"tugrik\",\"₯\":\"drachma\",\"₰\":\"penny\",\"₱\":\"peso\",\"₲\":\"guarani\",\"₳\":\"austral\",\"₴\":\"hryvnia\",\"₵\":\"cedi\",\"₹\":\"indian rupee\",\"₽\":\"russian ruble\",\"₿\":\"bitcoin\",\"℠\":\"sm\",\"™\":\"tm\",\"∂\":\"d\",\"∆\":\"delta\",\"∑\":\"sum\",\"∞\":\"infinity\",\"♥\":\"love\",\"元\":\"yuan\",\"円\":\"yen\",\"﷼\":\"rial\"}');\n /* eslint-enable */\n\n function replace(string, options) {\n if (typeof string !== 'string') {\n throw new Error('slugify: string argument expected');\n }\n\n options = typeof options === 'string' ? {\n replacement: options\n } : options || {};\n var slug = string.split('').reduce(function (result, ch) {\n return result + (charMap[ch] || ch). // allowed\n replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]/g, '');\n }, '') // trim leading/trailing spaces\n .trim() // convert spaces\n .replace(/[-\\s]+/g, options.replacement || '-');\n return options.lower ? slug.toLowerCase() : slug;\n }\n\n replace.extend = function (customMap) {\n for (var key in customMap) {\n charMap[key] = customMap[key];\n }\n };\n\n return replace;\n});","/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root));\n } else if (typeof exports === 'object') {\n module.exports = factory(root);\n } else {\n root.tocbot = factory(root);\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'; // Default options.\n\n var defaultOptions = require('./default-options.js'); // Object to store current options.\n\n\n var options = {}; // Object for public APIs.\n\n var tocbot = {};\n\n var BuildHtml = require('./build-html.js');\n\n var ParseContent = require('./parse-content.js'); // Keep these variables at top scope once options are passed in.\n\n\n var buildHtml;\n var parseContent; // Just return if its not a browser.\n\n if (typeof window === 'undefined') {\n return;\n }\n\n var supports = !!root.document.querySelector && !!root.addEventListener; // Feature test\n\n var headingsArray; // From: https://github.com/Raynos/xtend\n\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n function extend() {\n var target = {};\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n } // From: https://remysharp.com/2010/07/21/throttling-function-calls\n\n\n function throttle(fn, threshhold, scope) {\n threshhold || (threshhold = 250);\n var last;\n var deferTimer;\n return function () {\n var context = scope || this;\n var now = +new Date();\n var args = arguments;\n\n if (last && now < last + threshhold) {\n // hold on to it\n clearTimeout(deferTimer);\n deferTimer = setTimeout(function () {\n last = now;\n fn.apply(context, args);\n }, threshhold);\n } else {\n last = now;\n fn.apply(context, args);\n }\n };\n }\n /**\n * Destroy tocbot.\n */\n\n\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = '';\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n } // Remove event listeners.\n\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false);\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false);\n\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false);\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false);\n document.removeEventListener('resize', this._scrollListener, false);\n\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false);\n }\n }\n };\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n\n\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return;\n } // Merge defaults with user options.\n // Set to options variable at the top.\n\n\n options = extend(defaultOptions, customOptions || {});\n this.options = options;\n this.state = {}; // Init smooth scroll if enabled (default).\n\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration;\n options.offset = options.scrollSmoothOffset;\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options);\n } // Pass options to these modules.\n\n\n buildHtml = BuildHtml(options);\n parseContent = ParseContent(options); // For testing purposes.\n\n this._buildHtml = buildHtml;\n this._parseContent = parseContent; // Destroy it if it exists first.\n\n tocbot.destroy(); // Get headings array.\n\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector); // Return if no headings are found.\n\n if (headingsArray === null) {\n return;\n } // Build nested headings array.\n\n\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray);\n var nestedHeadings = nestedHeadingsObj.nest; // Render.\n\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings);\n } // Update Sidebar and bind listeners.\n\n\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray);\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0;\n\n if (e && (e.eventPhase === 0 || e.currentTarget === null) || isTop) {\n buildHtml.updateToc(headingsArray);\n\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e);\n }\n }\n }, options.throttleTimeout);\n\n this._scrollListener();\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false);\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false);\n } else {\n document.addEventListener('scroll', this._scrollListener, false);\n document.addEventListener('resize', this._scrollListener, false);\n } // Bind click listeners to disable animation.\n\n\n var timeout = null;\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event);\n }\n\n buildHtml.updateToc(headingsArray); // Timeout to re-enable the animation.\n\n timeout && clearTimeout(timeout);\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation();\n }, options.scrollSmoothDuration);\n }, options.throttleTimeout);\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false);\n } else {\n document.addEventListener('click', this._clickListener, false);\n }\n\n return this;\n };\n /**\n * Refresh tocbot.\n */\n\n\n tocbot.refresh = function (customOptions) {\n tocbot.destroy();\n tocbot.init(customOptions || this.options);\n }; // Make tocbot available globally.\n\n\n root.tocbot = tocbot;\n return tocbot;\n});","module.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collpased.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collpased.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collpase them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function scrollEndCallback(e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: false,\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false\n};","require(\"core-js/modules/es6.regexp.split\");\n\n/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\nmodule.exports = function (options) {\n var forEach = [].forEach;\n var some = [].some;\n var body = document.body;\n var currentlyHighlighting = true;\n var SPACE_CHAR = ' ';\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n\n function createEl(d, container) {\n var link = container.appendChild(createLink(d));\n\n if (d.children.length) {\n var list = createList(d.isCollapsed);\n d.children.forEach(function (child) {\n createEl(child, list);\n });\n link.appendChild(list);\n }\n }\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n\n\n function render(selector, data) {\n var collapsed = false;\n var container = createList(collapsed);\n data.forEach(function (d) {\n createEl(d, container);\n });\n var parent = document.querySelector(selector); // Return if no parent is found.\n\n if (parent === null) {\n return;\n } // Remove existing child if it exists.\n\n\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n } // Just return the parent and don't append the list if no links are found.\n\n\n if (data.length === 0) {\n return parent;\n } // Append the Elements that have been created\n\n\n return parent.appendChild(container);\n }\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n\n\n function createLink(data) {\n var item = document.createElement('li');\n var a = document.createElement('a');\n\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass);\n }\n\n if (options.onClick) {\n a.onclick = options.onClick;\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true));\n });\n } else {\n // Default behavior.\n a.textContent = data.textContent;\n }\n\n a.setAttribute('href', '#' + data.id);\n a.setAttribute('class', options.linkClass + SPACE_CHAR + 'node-name--' + data.nodeName + SPACE_CHAR + options.extraLinkClasses);\n item.appendChild(a);\n return item;\n }\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n\n\n function createList(isCollapsed) {\n var listElement = options.orderedList ? 'ol' : 'ul';\n var list = document.createElement(listElement);\n var classes = options.listClass + SPACE_CHAR + options.extraListClasses;\n\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass;\n classes += SPACE_CHAR + options.isCollapsedClass;\n }\n\n list.setAttribute('class', classes);\n return list;\n }\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n\n\n function updateFixedSidebarClass() {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top = document.querySelector(options.scrollContainer).scrollTop;\n } else {\n var top = document.documentElement.scrollTop || body.scrollTop;\n }\n\n var posFixedEl = document.querySelector(options.positionFixedSelector);\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop;\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass;\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('');\n }\n }\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n\n\n function getHeadingTopPos(obj) {\n var position = 0;\n\n if (obj != document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop;\n if (options.hasInnerContainers) position += getHeadingTopPos(obj.offsetParent);\n }\n\n return position;\n }\n /**\n * Update TOC highlighting and collpased groupings.\n */\n\n\n function updateToc(headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top = document.querySelector(options.scrollContainer).scrollTop;\n } else {\n var top = document.documentElement.scrollTop || body.scrollTop;\n } // Add fixed class at offset\n\n\n if (options.positionFixedSelector) {\n updateFixedSidebarClass();\n } // Get the top most heading currently visible on the page so we know what to highlight.\n\n\n var headings = headingsArray;\n var topHeader; // Using some instead of each so that we can escape early.\n\n if (currentlyHighlighting && document.querySelector(options.tocSelector) !== null && headings.length > 0) {\n some.call(headings, function (heading, i) {\n if (getHeadingTopPos(heading) > top + options.headingsOffset + 10) {\n // Don't allow negative index value.\n var index = i === 0 ? i : i - 1;\n topHeader = headings[index];\n return true;\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page.\n topHeader = headings[headings.length - 1];\n return true;\n }\n }); // Remove the active class from the other tocLinks.\n\n var tocLinks = document.querySelector(options.tocSelector).querySelectorAll('.' + options.linkClass);\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('');\n });\n var tocLis = document.querySelector(options.tocSelector).querySelectorAll('.' + options.listItemClass);\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('');\n }); // Add the active class to the active tocLink.\n\n var activeTocLink = document.querySelector(options.tocSelector).querySelector('.' + options.linkClass + '.node-name--' + topHeader.nodeName + '[href=\"#' + topHeader.id + '\"]');\n\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass;\n }\n\n var li = activeTocLink.parentNode;\n\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass;\n }\n\n var tocLists = document.querySelector(options.tocSelector).querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass); // Collapse the other collapsible lists.\n\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass;\n }\n }); // Expand the active link's collapsible list and its sibling if applicable.\n\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('');\n }\n\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode);\n }\n }\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n\n\n function removeCollapsedFromParents(element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('');\n return removeCollapsedFromParents(element.parentNode.parentNode);\n }\n\n return element;\n }\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n\n\n function disableTocAnimation(event) {\n var target = event.target || event.srcElement;\n\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return;\n } // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n\n\n currentlyHighlighting = false;\n }\n /**\n * Enable TOC Animation.\n */\n\n\n function enableTocAnimation() {\n currentlyHighlighting = true;\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n };\n};","require(\"core-js/modules/es6.regexp.split\");\n\n/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\nmodule.exports = function parseContent(options) {\n var reduce = [].reduce;\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n\n function getLastItem(array) {\n return array[array.length - 1];\n }\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n\n\n function getHeadingLevel(heading) {\n return +heading.nodeName.split('H').join('');\n }\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n\n\n function getHeadingObject(heading) {\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: heading.textContent.trim()\n };\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes;\n }\n\n return obj;\n }\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n\n\n function addNode(node, nest) {\n var obj = getHeadingObject(node);\n var level = getHeadingLevel(node);\n var array = nest;\n var lastItem = getLastItem(array);\n var lastItemLevel = lastItem ? lastItem.headingLevel : 0;\n var counter = level - lastItemLevel;\n\n while (counter > 0) {\n lastItem = getLastItem(array);\n\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children;\n }\n\n counter--;\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true;\n }\n\n array.push(obj);\n return array;\n }\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n\n\n function selectHeadings(contentSelector, headingSelector) {\n var selectors = headingSelector;\n\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',').map(function mapSelectors(selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')';\n });\n }\n\n try {\n return document.querySelector(contentSelector).querySelectorAll(selectors);\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n\n return null;\n }\n }\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n\n\n function nestHeadingsArray(headingsArray) {\n return reduce.call(headingsArray, function reducer(prev, curr) {\n var currentHeading = getHeadingObject(curr);\n addNode(currentHeading, prev.nest);\n return prev;\n }, {\n nest: []\n });\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n };\n};","require(\"core-js/modules/es6.regexp.split\");\n\n/* globals location, requestAnimationFrame */\nexports.initSmoothScrolling = initSmoothScrolling;\n\nfunction initSmoothScrolling(options) {\n if (isCssSmoothSCrollSupported()) {}\n\n var duration = options.duration;\n var offset = options.offset;\n var pageUrl = location.hash ? stripHash(location.href) : location.href;\n delegatedLinkHijacking();\n\n function delegatedLinkHijacking() {\n document.body.addEventListener('click', onClick, false);\n\n function onClick(e) {\n if (!isInPageLink(e.target) || e.target.className.indexOf('no-smooth-scroll') > -1 || e.target.href.charAt(e.target.href.length - 2) === '#' && e.target.href.charAt(e.target.href.length - 1) === '!' || e.target.className.indexOf(options.linkClass) === -1) {\n return;\n } // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function callback() {\n setFocus(e.target.hash);\n }\n });\n }\n }\n\n function isInPageLink(n) {\n return n.tagName.toLowerCase() === 'a' && (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') && (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl);\n }\n\n function stripHash(url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothSCrollSupported() {\n return 'scrollBehavior' in document.documentElement.style;\n } // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n\n\n function setFocus(hash) {\n var element = document.getElementById(hash.substring(1));\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1;\n }\n\n element.focus();\n }\n }\n}\n\nfunction jump(target, options) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n\n };\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string' ? opt.offset + (target ? tgt && tgt.getBoundingClientRect().top || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop)) : target;\n var duration = typeof opt.duration === 'function' ? opt.duration(distance) : opt.duration;\n var timeStart;\n var timeElapsed;\n requestAnimationFrame(function (time) {\n timeStart = time;\n loop(time);\n });\n\n function loop(time) {\n timeElapsed = time - timeStart;\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) {\n requestAnimationFrame(loop);\n } else {\n end();\n }\n }\n\n function end() {\n window.scrollTo(0, start + distance);\n\n if (typeof opt.callback === 'function') {\n opt.callback();\n }\n } // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n\n\n function easeInOutQuad(t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n}"],"sourceRoot":""}