-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-pages-index-js-71abc5a153b7d8ae92ac.js.map
1 lines (1 loc) · 70 KB
/
component---src-pages-index-js-71abc5a153b7d8ae92ac.js.map
1
{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/react-scrollspy/lib/throttle.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./src/components/Scroll.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./src/components/Sidebar.js","webpack:///./src/pages/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./src/assets/files/resume.pdf","webpack:///./node_modules/react-scrollspy/lib/scrollspy.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js"],"names":["_typeof","module","exports","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","String","Number","__esModule","setPrototypeOf","subClass","superClass","prototype","Object","create","constructor","value","writable","configurable","defineProperty","iter","iterator","Array","from","default","_default","fn","last","timer","threshold","arguments","length","now","Date","clearTimeout","setTimeout","arrayLikeToArray","arr","isArray","_getPrototypeOf","o","getPrototypeOf","bind","__proto__","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","Element","props","children","Scroll","handleClick","self","ReferenceError","componentDidMount","smoothscroll","polyfill","e","preventDefault","this","action","elem","scroll","type","element","offset","timeout","document","getElementsByClassName","getElementById","scrollTo","console","log","offSet","elemPos","getBoundingClientRect","top","window","pageYOffset","left","behavior","render","React","cloneElement","onClick","Component","tabs","content","href","Sidebar","useState","showMenu","setShowMenu","toggleMenu","ThemeContext","Consumer","theme","className","id","src","avatar","alt","toggleDark","data-toggle","data-target","aria-controls","aria-expanded","aria-label","items","map","s","currentClassName","tab","i","key","IndexPage","Layout","config","firstName","lastName","address","email","about","item","getTime","socialLinks","social","icon","url","target","rel","experience","position","organisation","org_desc","projects","project","title","description","stack","to","education","school","course","major","skills","cms","join","programming","frontend","frameworks","database","other","interests","idx","resume","download","hasOwn","hasOwnProperty","classNames","classes","arg","argType","push","inner","apply","toString","includes","toPropertyKey","_defineProperties","descriptor","enumerable","Constructor","protoProps","staticProps","len","arr2","_interopRequireDefault","_extends2","_defineProperty2","_toConsumableArray2","_classCallCheck2","_possibleConstructorReturn2","_getPrototypeOf2","_assertThisInitialized2","_createClass2","_inherits2","_propTypes","_react","_classnames","_throttle","Scrollspy","_React$Component","_this","state","targetItems","inViewState","isScrolledPast","_handleSpy","get","arrayOf","string","isRequired","scrolledPastClassName","style","object","componentTag","oneOfType","elementType","number","rootEl","onUpdate","func","array","val","newArray","max","_getScrollDimension","scrollTop","doc","querySelector","documentElement","body","parentNode","scrollHeight","targets","elemsInView","elemsOutView","viewStatusList","hasInViewAlready","currentContent","isInView","_isInView","isLastItem","isScrolled","_isScrolled","_isAtBottom","pop","_fillArray","inView","outView","scrolledPast","_getScrolledPast","el","rootRect","_this$props","rect","winH","height","innerHeight","scrollBottom","elTop","elBottom","offsetHeight","_this$_getScrollDimen2","some","hasFoundInView","_this2","elemensViewState","_getElemsViewState","currentStatuses","setState","_update","prevStatuses","a","b","every","index","indexOf","_spy","_initSpyTarget","removeEventListener","addEventListener","_initFromProps","onEvent","offEvent","_this3","Tag","_this$props2","counter","Children","child","_classNames","ChildTag","childClass","concat","createElement","itemClass","minLen","n","slice","name","test","assertThisInitialized","w","d","__forceSmoothScrollPolyfill__","userAgent","HTMLElement","original","scrollBy","elementScroll","scrollElement","scrollIntoView","performance","ROUNDING_TOLERANCE","navigator","RegExp","shouldBailOut","smoothScroll","scrollX","pageXOffset","scrollY","scrollLeft","SyntaxError","scrollableParent","findScrollableParent","parentRects","clientRects","getComputedStyle","x","y","firstArg","hasScrollableSpace","axis","clientHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollable","isScrollableY","isScrollableX","host","step","context","currentX","currentY","k","elapsed","startTime","Math","cos","PI","startX","startY","method","scrollable","requestAnimationFrame","obj","instance"],"mappings":"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","file":"component---src-pages-index-js-71abc5a153b7d8ae92ac.js","sourcesContent":["var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _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 subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar throttle = function throttle(fn) {\n var threshold = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n var last;\n var timer;\n return function () {\n var now = +new Date();\n var timePassed = !!last && now < last + threshold;\n if (timePassed) {\n clearTimeout(timer);\n timer = setTimeout(function () {\n last = now;\n fn();\n }, threshold);\n } else {\n last = now;\n fn();\n }\n };\n};\nvar _default = throttle;\nexports.default = _default;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import smoothscroll from 'smoothscroll-polyfill';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Element = props => {\n return props.children;\n};\n\nclass Scroll extends React.Component {\n static propTypes = {\n type: PropTypes.string,\n element: PropTypes.string,\n offset: PropTypes.number,\n timeout: PropTypes.number,\n children: PropTypes.node.isRequired,\n };\n constructor() {\n super();\n this.handleClick = this.handleClick.bind(this);\n }\n componentDidMount() {\n smoothscroll.polyfill();\n }\n handleClick(e) {\n e.preventDefault();\n this.props.children.props.action();\n let elem = 0;\n let scroll = true;\n const { type, element, offset, timeout } = this.props;\n if (type && element) {\n switch (type) {\n case 'class':\n elem = document.getElementsByClassName(element)[0];\n scroll = elem ? true : false;\n break;\n case 'id':\n elem = document.getElementById(element);\n scroll = elem ? true : false;\n break;\n default:\n }\n }\n scroll\n ? this.scrollTo(elem, offset, timeout)\n : console.log(`Element not found: ${element}`); // eslint-disable-line\n }\n scrollTo(element, offSet = 0, timeout = null) {\n const elemPos = element\n ? element.getBoundingClientRect().top + window.pageYOffset\n : 0;\n if (timeout) {\n setTimeout(() => {\n window.scroll({ top: elemPos + offSet, left: 0, behavior: 'smooth' });\n }, timeout);\n } else {\n window.scroll({ top: elemPos + offSet, left: 0, behavior: 'smooth' });\n }\n }\n render() {\n return (\n <Element>\n {typeof this.props.children === 'object' ? (\n React.cloneElement(this.props.children, { onClick: this.handleClick })\n ) : (\n <span onClick={this.handleClick}>{this.props.children}</span>\n )}\n </Element>\n );\n }\n}\n\nexport default Scroll;\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import React, { useState } from 'react';\nimport Scrollspy from 'react-scrollspy';\nimport Scroll from './Scroll';\n\nimport avatar from '../assets/images/avatar.png';\nimport ThemeContext from '../context/ThemeContext';\n\nconst tabs = [\n { content: 'About', href: 'about' },\n { content: 'Experience', href: 'experience' },\n { content: 'Education', href: 'education' },\n { content: 'Skills', href: 'skills' },\n { content: 'Interests', href: 'interests' },\n { content: 'Download', href: 'download' }\n];\n\nconst Sidebar = () => {\n const [showMenu, setShowMenu] = useState(false);\n\n const toggleMenu = () => setShowMenu(showMenu => !showMenu);\n\n return (\n <ThemeContext.Consumer>\n {theme => (\n <nav\n className=\"navbar navbar-expand-lg navbar-dark bg-primary fixed-top\"\n id=\"sideNav\"\n >\n <a className=\"navbar-brand\" href=\"#page-top\">\n <img\n className=\"img-fluid img-profile rounded-circle mx-lg-auto mb-lg-2\"\n src={avatar}\n alt=\"avatar-img\"\n />\n </a>\n <div className=\"navbar-buttons d-flex align-items-center\">\n <button className=\"btn btn-link btn-switcher py-0 mr-2 d-lg-none\" onClick={theme.toggleDark}>\n <i className=\"fas fa-adjust\"></i>\n </button>\n <button\n className={showMenu ? 'navbar-toggler open' : 'navbar-toggler'}\n type=\"button\"\n data-toggle=\"collapse\"\n data-target=\"#navbarSupportedContent\"\n aria-controls=\"navbarSupportedContent\"\n aria-expanded=\"false\"\n aria-label=\"Toggle navigation\"\n onClick={toggleMenu}\n >\n <span className=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <div\n id=\"navbarSupportedContent\"\n className={`${showMenu ? 'collapse navbar-collapse show' : 'collapse navbar-collapse'}`}>\n <Scrollspy\n items={tabs.map(s => s.href)}\n currentClassName=\"active\"\n offset={-300}\n className=\"navbar-nav\"\n >\n {tabs.map((tab, i) => {\n const { href, content } = tab;\n return (\n <li className=\"nav-item\" key={href}>\n <Scroll type=\"id\" element={href}>\n <a\n className=\"nav-link\"\n href={`#${href}`}\n action={toggleMenu}\n >\n {content}\n </a>\n </Scroll>\n </li>\n );\n })}\n </Scrollspy>\n </div>\n <section className=\"d-none d-lg-block p-3 mb-auto\">\n <button className=\"btn btn-link btn-switcher\" onClick={theme.toggleDark}>\n <i className=\"fas fa-adjust\"></i>\n </button>\n </section>\n </nav>\n )}\n </ThemeContext.Consumer>\n );\n}\n\nexport default Sidebar;\n","import React from 'react';\nimport Layout from '../components/Layout';\nimport Sidebar from '../components/Sidebar';\nimport config from '../../config';\nimport resume from '../assets/files/resume.pdf';\n\nconst IndexPage = () => (\n <Layout>\n <Sidebar />\n <div className=\"container-fluid p-0\">\n <section\n className=\"resume-section p-3 p-lg-5 d-flex align-items-center\"\n id=\"about\"\n >\n <div className=\"w-100\">\n <h1 className=\"mb-0\">\n {config.firstName}\n <span className=\"text-primary\">{config.lastName}</span>\n </h1>\n <div className=\"subheading mb-5\">\n {config.address}\n {' '}\n ·\n {' '}\n <a href={`mailto:${config.email}`}>{config.email}</a>\n </div>\n { config.about.map((item, id) => (\n <p\n key={`${id}_${new Date().getTime()}`}\n className=\"lead mb-5\"\n >\n {item}\n </p>\n ))}\n <div className=\"social-icons\">\n {config.socialLinks.map(social => {\n const { icon, url } = social;\n return (\n <a\n key={url}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <i className={`fab ${icon}`}></i>\n </a>\n );\n })}\n </div>\n </div>\n </section>\n\n <hr className=\"m-0\" />\n\n <section\n className=\"resume-section p-3 p-lg-5 d-flex justify-content-center\"\n id=\"experience\"\n >\n <div className=\"w-100\">\n <h2 className=\"mb-5\">Experience</h2>\n\n { config.experience.map((item, id) => {\n return (\n <>\n <div\n key={`${id}_${new Date().getTime()}`}\n className={`resume-item d-flex flex-column-reverse flex-md-row justify-content-between ${id === config.experience.length - 1 ? 'mb-0': 'mb-3'} mb-md-5`}\n >\n <div className=\"resume-content\">\n <h3 className=\"mb-0\">{item.position}</h3>\n <div className=\"mb-3 mb-md-5\">\n {item.organisation}\n {`${item.org_desc ? ` - ${item.org_desc}` : ''}`}\n </div>\n\n <h4 className=\"mb-3\">Projects undertaken</h4>\n { item.projects.map((project, id) => {\n return (\n <div\n key={`${project.title}_${new Date().getTime()}`}\n className=\"project-item mb-3\"\n >\n <div className=\"project-content\">\n <h5 className=\"mb-0\">\n <span className=\"mr-1\">{`${id+1}.`}</span>\n { project.url ?\n <a\n href={project.url}\n target='_blank'\n rel='noopener noreferrer'\n >\n <span className='mr-2'>{project.title}</span>\n <i className=\"fas fa-external-link-square-alt\"></i>\n </a>\n :\n project.title\n }\n </h5>\n <p className=\"mb-1 ml-3\">{project.description}</p>\n <p className=\"font-italic font-weight-bold ml-3\">{ project.stack}</p>\n </div>\n </div>\n )\n })\n }\n </div>\n <div className={`resume-date text-md-right ${id === 0 ? 'mt-0' : 'mt-3'} m-md-0`}>\n <span className=\"text-primary\">{`${item.from} - ${item.to}`}</span>\n </div>\n </div>\n { id !== config.experience.length - 1 && <hr className=\"m-0 d-md-none\" />}\n </>\n )})\n }\n </div>\n </section>\n\n <hr className=\"m-0\" />\n\n <section\n className=\"resume-section p-3 p-lg-5 d-flex align-items-center\"\n id=\"education\"\n >\n <div className=\"w-100\">\n <h2 className=\"mb-5\">Education</h2>\n\n { config.education.map(item => {\n return <div key={`${item.school}_${new Date().getTime()}`} className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-5\">\n <div className=\"resume-content\">\n <h3 className=\"mb-0\">{item.school}</h3>\n <div className=\"subheading mb-3\">{item.course}</div>\n <div>{item.major}</div>\n </div>\n <div className=\"resume-date text-md-right\">\n <span className=\"text-primary\">{`${item.from} - ${item.to}`}</span>\n </div>\n </div>\n })}\n </div>\n </section>\n\n <hr className=\"m-0\" />\n\n <section\n className=\"resume-section p-3 p-lg-5 d-flex align-items-center\"\n id=\"skills\"\n >\n <div className=\"w-100\">\n <h2 className=\"mb-5\">Skills</h2>\n <div className=\"subheading mb-3\">Programming Languages & Tools</div>\n <ul className=\"list-unstyled\">\n <li className=\"mb-2\">\n <span className=\"font-weight-bold\">CMS:</span>\n <span className=\"ml-2\">\n { config.skills.cms.join(', ')}\n </span>\n </li>\n <li className=\"mb-2\">\n <span className=\"font-weight-bold\">Programming:</span>\n <span className=\"ml-2\">\n { config.skills.programming.join(', ')}\n </span>\n </li>\n <li className=\"mb-2\">\n <span className=\"font-weight-bold\">Frontend:</span>\n <span className=\"ml-2\">\n { config.skills.frontend.join(', ')}\n </span>\n </li>\n <li className=\"mb-2\">\n <span className=\"font-weight-bold\">Framework:</span>\n <span className=\"ml-2\">\n { config.skills.frameworks.join(', ')}\n </span>\n </li>\n <li className=\"mb-2\">\n <span className=\"font-weight-bold\">Database:</span>\n <span className=\"ml-2\">\n { config.skills.database.join(', ')}\n </span>\n </li>\n <li className=\"mb-2\">\n <span className=\"font-weight-bold\">Other Skills:</span>\n <span className=\"ml-2\">\n { config.skills.other.join(', ')}\n </span>\n </li>\n </ul>\n\n <div className=\"subheading mb-3\">Workflow</div>\n <ul className=\"fa-ul mb-0\">\n <li>\n <i className=\"fa-li fa fa-check\"></i>\n Mobile-First, Responsive Design\n </li>\n <li>\n <i className=\"fa-li fa fa-check\"></i>\n Cross Browser Testing & Debugging\n </li>\n <li>\n <i className=\"fa-li fa fa-check\"></i>\n Cross Functional Teams\n </li>\n <li>\n <i className=\"fa-li fa fa-check\"></i>\n Agile Development & Scrum\n </li>\n </ul>\n </div>\n </section>\n\n <hr className=\"m-0\" />\n\n <section\n className=\"resume-section p-3 p-lg-5 d-flex align-items-center\"\n id=\"interests\"\n >\n <div className=\"w-100\">\n <h2 className=\"mb-5\">Interests</h2>\n { config.interests.map((item, idx) => (\n <p key={`${idx}_${new Date().getTime()}`}>{item}</p>\n ))}\n </div>\n </section>\n\n <hr className=\"m-0\" />\n\n <section\n className=\"download-section p-3 p-lg-5 d-flex align-items-center\"\n id=\"download\"\n >\n <div className=\"w-100\">\n <h2 className=\"mb-5\">Download Resume</h2>\n <p>\n To download PDF version of resume click <a href={resume} download=\"Resume_Haneet_Singh\">here</a>\n </p>\n </div>\n </section>\n </div>\n </Layout>\n);\n\nexport default IndexPage;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n var nativeCodeString = '[native code]';\n function classNames() {\n var classes = [];\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n classes.push(arg.toString());\n continue;\n }\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n return classes.join(' ');\n }\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _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, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = __webpack_public_path__ + \"static/resume-4014927be381ccde42a096e3e1f91479.pdf\";","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _throttle = _interopRequireDefault(require(\"./throttle\"));\nfunction isEqualArray(a, b) {\n return a.length === b.length && a.every(function (item, index) {\n return item === b[index];\n });\n}\nvar Scrollspy = /*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Scrollspy, _React$Component);\n (0, _createClass2.default)(Scrollspy, null, [{\n key: \"propTypes\",\n get: function get() {\n return {\n items: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,\n currentClassName: _propTypes.default.string.isRequired,\n scrolledPastClassName: _propTypes.default.string,\n style: _propTypes.default.object,\n componentTag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.elementType]),\n offset: _propTypes.default.number,\n rootEl: _propTypes.default.string,\n onUpdate: _propTypes.default.func\n };\n }\n }, {\n key: \"defaultProps\",\n get: function get() {\n return {\n items: [],\n currentClassName: '',\n style: {},\n componentTag: 'ul',\n offset: 0,\n onUpdate: function onUpdate() {}\n };\n }\n }]);\n function Scrollspy(props) {\n var _this;\n (0, _classCallCheck2.default)(this, Scrollspy);\n _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Scrollspy).call(this, props));\n _this.state = {\n targetItems: [],\n inViewState: [],\n isScrolledPast: [] // manually bind as ES6 does not apply this\n // auto binding as React.createClass does\n };\n\n _this._handleSpy = _this._handleSpy.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n (0, _createClass2.default)(Scrollspy, [{\n key: \"_initSpyTarget\",\n value: function _initSpyTarget(items) {\n var targetItems = items.map(function (item) {\n return document.getElementById(item);\n });\n return targetItems;\n } // https://github.com/makotot/react-scrollspy/pull/45\n }, {\n key: \"_fillArray\",\n value: function _fillArray(array, val) {\n var newArray = [];\n for (var i = 0, max = array.length; i < max; i++) {\n newArray[i] = val;\n }\n return newArray;\n }\n }, {\n key: \"_isScrolled\",\n value: function _isScrolled() {\n return this._getScrollDimension().scrollTop > 0;\n }\n }, {\n key: \"_getScrollDimension\",\n value: function _getScrollDimension() {\n var doc = document;\n var rootEl = this.props.rootEl;\n var scrollTop = rootEl ? doc.querySelector(rootEl).scrollTop : doc.documentElement.scrollTop || doc.body.parentNode.scrollTop || doc.body.scrollTop;\n var scrollHeight = rootEl ? doc.querySelector(rootEl).scrollHeight : doc.documentElement.scrollHeight || doc.body.parentNode.scrollHeight || doc.body.scrollHeight;\n return {\n scrollTop: scrollTop,\n scrollHeight: scrollHeight\n };\n }\n }, {\n key: \"_getElemsViewState\",\n value: function _getElemsViewState(targets) {\n var elemsInView = [];\n var elemsOutView = [];\n var viewStatusList = [];\n var targetItems = targets ? targets : this.state.targetItems;\n var hasInViewAlready = false;\n for (var i = 0, max = targetItems.length; i < max; i++) {\n var currentContent = targetItems[i];\n var isInView = hasInViewAlready ? false : this._isInView(currentContent);\n if (isInView) {\n hasInViewAlready = true;\n elemsInView.push(currentContent);\n } else {\n elemsOutView.push(currentContent);\n }\n var isLastItem = i === max - 1;\n var isScrolled = this._isScrolled(); // https://github.com/makotot/react-scrollspy/pull/26#issue-167413769\n\n var isLastShortItemAtBottom = this._isAtBottom() && this._isInView(currentContent) && !isInView && isLastItem && isScrolled;\n if (isLastShortItemAtBottom) {\n elemsOutView.pop();\n elemsOutView.push.apply(elemsOutView, (0, _toConsumableArray2.default)(elemsInView));\n elemsInView = [currentContent];\n viewStatusList = this._fillArray(viewStatusList, false);\n isInView = true;\n }\n viewStatusList.push(isInView);\n }\n return {\n inView: elemsInView,\n outView: elemsOutView,\n viewStatusList: viewStatusList,\n scrolledPast: this.props.scrolledPastClassName && this._getScrolledPast(viewStatusList)\n };\n }\n }, {\n key: \"_isInView\",\n value: function _isInView(el) {\n if (!el) {\n return false;\n }\n var _this$props = this.props,\n rootEl = _this$props.rootEl,\n offset = _this$props.offset;\n var rootRect;\n if (rootEl) {\n rootRect = document.querySelector(rootEl).getBoundingClientRect();\n }\n var rect = el.getBoundingClientRect();\n var winH = rootEl ? rootRect.height : window.innerHeight;\n var _this$_getScrollDimen = this._getScrollDimension(),\n scrollTop = _this$_getScrollDimen.scrollTop;\n var scrollBottom = scrollTop + winH;\n var elTop = rootEl ? rect.top + scrollTop - rootRect.top + offset : rect.top + scrollTop + offset;\n var elBottom = elTop + el.offsetHeight;\n return elTop < scrollBottom && elBottom > scrollTop;\n }\n }, {\n key: \"_isAtBottom\",\n value: function _isAtBottom() {\n var rootEl = this.props.rootEl;\n var _this$_getScrollDimen2 = this._getScrollDimension(),\n scrollTop = _this$_getScrollDimen2.scrollTop,\n scrollHeight = _this$_getScrollDimen2.scrollHeight;\n var winH = rootEl ? document.querySelector(rootEl).getBoundingClientRect().height : window.innerHeight;\n var scrolledToBottom = scrollTop + winH >= scrollHeight;\n return scrolledToBottom;\n }\n }, {\n key: \"_getScrolledPast\",\n value: function _getScrolledPast(viewStatusList) {\n if (!viewStatusList.some(function (item) {\n return item;\n })) {\n return viewStatusList;\n }\n var hasFoundInView = false;\n var scrolledPastItems = viewStatusList.map(function (item) {\n if (item && !hasFoundInView) {\n hasFoundInView = true;\n return false;\n }\n return !hasFoundInView;\n });\n return scrolledPastItems;\n }\n }, {\n key: \"_spy\",\n value: function _spy(targets) {\n var _this2 = this;\n var elemensViewState = this._getElemsViewState(targets);\n var currentStatuses = this.state.inViewState;\n this.setState({\n inViewState: elemensViewState.viewStatusList,\n isScrolledPast: elemensViewState.scrolledPast\n }, function () {\n _this2._update(currentStatuses);\n });\n }\n }, {\n key: \"_update\",\n value: function _update(prevStatuses) {\n if (isEqualArray(this.state.inViewState, prevStatuses)) {\n return;\n }\n this.props.onUpdate(this.state.targetItems[this.state.inViewState.indexOf(true)]);\n }\n }, {\n key: \"_handleSpy\",\n value: function _handleSpy() {\n (0, _throttle.default)(this._spy(), 100);\n }\n }, {\n key: \"_initFromProps\",\n value: function _initFromProps() {\n var targetItems = this._initSpyTarget(this.props.items);\n this.setState({\n targetItems: targetItems\n });\n this._spy(targetItems);\n }\n }, {\n key: \"offEvent\",\n value: function offEvent() {\n var el = this.props.rootEl ? document.querySelector(this.props.rootEl) : window;\n el.removeEventListener('scroll', this._handleSpy);\n }\n }, {\n key: \"onEvent\",\n value: function onEvent() {\n var el = this.props.rootEl ? document.querySelector(this.props.rootEl) : window;\n el.addEventListener('scroll', this._handleSpy);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._initFromProps();\n this.onEvent();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.offEvent();\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps() {\n this._initFromProps();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n var Tag = this.props.componentTag;\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n scrolledPastClassName = _this$props2.scrolledPastClassName,\n style = _this$props2.style;\n var counter = 0;\n var items = _react.default.Children.map(children, function (child, idx) {\n var _classNames;\n if (!child) {\n return null;\n }\n var ChildTag = child.type;\n var isScrolledPast = scrolledPastClassName && _this3.state.isScrolledPast[idx];\n var childClass = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, \"\".concat(child.props.className), child.props.className), (0, _defineProperty2.default)(_classNames, \"\".concat(_this3.props.currentClassName), _this3.state.inViewState[idx]), (0, _defineProperty2.default)(_classNames, \"\".concat(_this3.props.scrolledPastClassName), isScrolledPast), _classNames));\n return _react.default.createElement(ChildTag, (0, _extends2.default)({}, child.props, {\n className: childClass,\n key: counter++\n }), child.props.children);\n });\n var itemClass = (0, _classnames.default)((0, _defineProperty2.default)({}, \"\".concat(className), className));\n return _react.default.createElement(Tag, {\n className: itemClass,\n style: style\n }, items);\n }\n }]);\n return Scrollspy;\n}(_react.default.Component);\nexports.default = Scrollspy;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (firstArg === null || typeof firstArg !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset);\n };\n\n // w.scrollBy\n w.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n original.elementScroll.call(this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined ? ~~arguments[0].left : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop);\n return;\n }\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop);\n return;\n }\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function () {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top);\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = {\n polyfill: polyfill\n };\n } else {\n // global\n polyfill();\n }\n})();","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"sourceRoot":""}