{"version":3,"file":"static/js/4120.a3bf9bb6.chunk.js","mappings":"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","sources":["../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/src/observe.ts","../node_modules/src/InView.tsx","../node_modules/src/useInView.tsx","../node_modules/react-vertical-timeline-component/dist-es6/VerticalTimeline.js","../node_modules/react-vertical-timeline-component/dist-es6/VerticalTimelineElement.js","../node_modules/react-vertical-timeline-component/dist-es6/index.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bigint: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import { ObserverInstanceCallback } from './index';\n\nconst observerMap = new Map<\n  string,\n  {\n    id: string;\n    observer: IntersectionObserver;\n    elements: Map<Element, Array<ObserverInstanceCallback>>;\n  }\n>();\n\nconst RootIds: WeakMap<Element | Document, string> = new WeakMap();\nlet rootId = 0;\n\nlet unsupportedValue: boolean | undefined = undefined;\n\n/**\n * What should be the default behavior if the IntersectionObserver is unsupported?\n * Ideally the polyfill has been loaded, you can have the following happen:\n * - `undefined`: Throw an error\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\n * **/\nexport function defaultFallbackInView(inView: boolean | undefined) {\n  unsupportedValue = inView;\n}\n\n/**\n * Generate a unique ID for the root element\n * @param root\n */\nfunction getRootId(root: IntersectionObserverInit['root']) {\n  if (!root) return '0';\n  if (RootIds.has(root)) return RootIds.get(root);\n  rootId += 1;\n  RootIds.set(root, rootId.toString());\n  return RootIds.get(root);\n}\n\n/**\n * Convert the options to a string Id, based on the values.\n * Ensures we can reuse the same observer when observing elements with the same options.\n * @param options\n */\nexport function optionsToId(options: IntersectionObserverInit) {\n  return Object.keys(options)\n    .sort()\n    .filter((key) => options[key] !== undefined)\n    .map((key) => {\n      return `${key}_${\n        key === 'root' ? getRootId(options.root) : options[key]\n      }`;\n    })\n    .toString();\n}\n\nfunction createObserver(options: IntersectionObserverInit) {\n  // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n  let id = optionsToId(options);\n  let instance = observerMap.get(id);\n\n  if (!instance) {\n    // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n    const elements = new Map<Element, Array<ObserverInstanceCallback>>();\n    let thresholds: number[] | readonly number[];\n\n    const observer = new IntersectionObserver((entries) => {\n      entries.forEach((entry) => {\n        // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n        // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n        const inView =\n          entry.isIntersecting &&\n          thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n\n        // @ts-ignore support IntersectionObserver v2\n        if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n          // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n          // @ts-ignore\n          entry.isVisible = inView;\n        }\n\n        elements.get(entry.target)?.forEach((callback) => {\n          callback(inView, entry);\n        });\n      });\n    }, options);\n\n    // Ensure we have a valid thresholds array. If not, use the threshold from the options\n    thresholds =\n      observer.thresholds ||\n      (Array.isArray(options.threshold)\n        ? options.threshold\n        : [options.threshold || 0]);\n\n    instance = {\n      id,\n      observer,\n      elements,\n    };\n\n    observerMap.set(id, instance);\n  }\n\n  return instance;\n}\n\n/**\n * @param element - DOM Element to observe\n * @param callback - Callback function to trigger when intersection status changes\n * @param options - Intersection Observer options\n * @param fallbackInView - Fallback inView value.\n * @return Function - Cleanup function that should be triggered to unregister the observer\n */\nexport function observe(\n  element: Element,\n  callback: ObserverInstanceCallback,\n  options: IntersectionObserverInit = {},\n  fallbackInView = unsupportedValue,\n) {\n  if (\n    typeof window.IntersectionObserver === 'undefined' &&\n    fallbackInView !== undefined\n  ) {\n    const bounds = element.getBoundingClientRect();\n    callback(fallbackInView, {\n      isIntersecting: fallbackInView,\n      target: element,\n      intersectionRatio:\n        typeof options.threshold === 'number' ? options.threshold : 0,\n      time: 0,\n      boundingClientRect: bounds,\n      intersectionRect: bounds,\n      rootBounds: bounds,\n    });\n    return () => {\n      // Nothing to cleanup\n    };\n  }\n  // An observer with the same options can be reused, so lets use this fact\n  const { id, observer, elements } = createObserver(options);\n\n  // Register the callback listener for this element\n  let callbacks = elements.get(element) || [];\n  if (!elements.has(element)) {\n    elements.set(element, callbacks);\n  }\n\n  callbacks.push(callback);\n  observer.observe(element);\n\n  return function unobserve() {\n    // Remove the callback from the callback list\n    callbacks.splice(callbacks.indexOf(callback), 1);\n\n    if (callbacks.length === 0) {\n      // No more callback exists for element, so destroy it\n      elements.delete(element);\n      observer.unobserve(element);\n    }\n\n    if (elements.size === 0) {\n      // No more elements are being observer by this instance, so destroy it\n      observer.disconnect();\n      observerMap.delete(id);\n    }\n  };\n}\n","import * as React from 'react';\nimport { IntersectionObserverProps, PlainChildrenProps } from './index';\nimport { observe } from './observe';\n\ntype State = {\n  inView: boolean;\n  entry?: IntersectionObserverEntry;\n};\n\nfunction isPlainChildren(\n  props: IntersectionObserverProps | PlainChildrenProps,\n): props is PlainChildrenProps {\n  return typeof props.children !== 'function';\n}\n\n/**\n ## Render props\n\n To use the `<InView>` component, you pass it a function. It will be called\n whenever the state changes, with the new value of `inView`. In addition to the\n `inView` prop, children also receive a `ref` that should be set on the\n containing DOM element. This is the element that the IntersectionObserver will\n monitor.\n\n If you need it, you can also access the\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\n on `entry`, giving you access to all the details about the current intersection\n state.\n\n ```jsx\n import { InView } from 'react-intersection-observer';\n\n const Component = () => (\n <InView>\n {({ inView, ref, entry }) => (\n      <div ref={ref}>\n        <h2>{`Header inside viewport ${inView}.`}</h2>\n      </div>\n    )}\n </InView>\n );\n\n export default Component;\n ```\n\n ## Plain children\n\n You can pass any element to the `<InView />`, and it will handle creating the\n wrapping DOM element. Add a handler to the `onChange` method, and control the\n state in your own component. Any extra props you add to `<InView>` will be\n passed to the HTML element, allowing you set the `className`, `style`, etc.\n\n ```jsx\n import { InView } from 'react-intersection-observer';\n\n const Component = () => (\n <InView as=\"div\" onChange={(inView, entry) => console.log('Inview:', inView)}>\n <h2>Plain children are always rendered. Use onChange to monitor state.</h2>\n </InView>\n );\n\n export default Component;\n ```\n */\nexport class InView extends React.Component<\n  IntersectionObserverProps | PlainChildrenProps,\n  State\n> {\n  static displayName = 'InView';\n  static defaultProps = {\n    threshold: 0,\n    triggerOnce: false,\n    initialInView: false,\n  };\n\n  constructor(props: IntersectionObserverProps | PlainChildrenProps) {\n    super(props);\n    this.state = {\n      inView: !!props.initialInView,\n      entry: undefined,\n    };\n  }\n\n  componentDidUpdate(prevProps: IntersectionObserverProps) {\n    // If a IntersectionObserver option changed, reinit the observer\n    if (\n      prevProps.rootMargin !== this.props.rootMargin ||\n      prevProps.root !== this.props.root ||\n      prevProps.threshold !== this.props.threshold ||\n      prevProps.skip !== this.props.skip ||\n      prevProps.trackVisibility !== this.props.trackVisibility ||\n      prevProps.delay !== this.props.delay\n    ) {\n      this.unobserve();\n      this.observeNode();\n    }\n  }\n\n  componentWillUnmount() {\n    this.unobserve();\n    this.node = null;\n  }\n\n  node: Element | null = null;\n  _unobserveCb: (() => void) | null = null;\n\n  observeNode() {\n    if (!this.node || this.props.skip) return;\n    const {\n      threshold,\n      root,\n      rootMargin,\n      trackVisibility,\n      delay,\n      fallbackInView,\n    } = this.props;\n\n    this._unobserveCb = observe(\n      this.node,\n      this.handleChange,\n      {\n        threshold,\n        root,\n        rootMargin,\n        // @ts-ignore\n        trackVisibility,\n        // @ts-ignore\n        delay,\n      },\n      fallbackInView,\n    );\n  }\n\n  unobserve() {\n    if (this._unobserveCb) {\n      this._unobserveCb();\n      this._unobserveCb = null;\n    }\n  }\n\n  handleNode = (node?: Element | null) => {\n    if (this.node) {\n      // Clear the old observer, before we start observing a new element\n      this.unobserve();\n\n      if (!node && !this.props.triggerOnce && !this.props.skip) {\n        // Reset the state if we get a new node, and we aren't ignoring updates\n        this.setState({ inView: !!this.props.initialInView, entry: undefined });\n      }\n    }\n\n    this.node = node ? node : null;\n    this.observeNode();\n  };\n\n  handleChange = (inView: boolean, entry: IntersectionObserverEntry) => {\n    if (inView && this.props.triggerOnce) {\n      // If `triggerOnce` is true, we should stop observing the element.\n      this.unobserve();\n    }\n    if (!isPlainChildren(this.props)) {\n      // Store the current State, so we can pass it to the children in the next render update\n      // There's no reason to update the state for plain children, since it's not used in the rendering.\n      this.setState({ inView, entry });\n    }\n    if (this.props.onChange) {\n      // If the user is actively listening for onChange, always trigger it\n      this.props.onChange(inView, entry);\n    }\n  };\n\n  render() {\n    if (!isPlainChildren(this.props)) {\n      const { inView, entry } = this.state;\n      return this.props.children({ inView, entry, ref: this.handleNode });\n    }\n\n    const {\n      children,\n      as,\n      triggerOnce,\n      threshold,\n      root,\n      rootMargin,\n      onChange,\n      skip,\n      trackVisibility,\n      delay,\n      initialInView,\n      fallbackInView,\n      ...props\n    } = this.props;\n\n    return React.createElement(\n      as || 'div',\n      { ref: this.handleNode, ...props },\n      children,\n    );\n  }\n}\n","import * as React from 'react';\nimport { InViewHookResponse, IntersectionOptions } from './index';\nimport { useEffect } from 'react';\nimport { observe } from './observe';\n\ntype State = {\n  inView: boolean;\n  entry?: IntersectionObserverEntry;\n};\n\n/**\n * React Hooks make it easy to monitor the `inView` state of your components. Call\n * the `useInView` hook with the (optional) [options](#options) you need. It will\n * return an array containing a `ref`, the `inView` status and the current\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\n * report the status.\n *\n * @example\n * ```jsx\n * import React from 'react';\n * import { useInView } from 'react-intersection-observer';\n *\n * const Component = () => {\n *   const { ref, inView, entry } = useInView({\n *       threshold: 0,\n *   });\n *\n *   return (\n *     <div ref={ref}>\n *       <h2>{`Header inside viewport ${inView}.`}</h2>\n *     </div>\n *   );\n * };\n * ```\n */\nexport function useInView({\n  threshold,\n  delay,\n  trackVisibility,\n  rootMargin,\n  root,\n  triggerOnce,\n  skip,\n  initialInView,\n  fallbackInView,\n}: IntersectionOptions = {}): InViewHookResponse {\n  const unobserve = React.useRef<Function>();\n  const [state, setState] = React.useState<State>({\n    inView: !!initialInView,\n  });\n  const setRef = React.useCallback(\n    (node: Element | null) => {\n      if (unobserve.current !== undefined) {\n        unobserve.current();\n        unobserve.current = undefined;\n      }\n\n      // Skip creating the observer\n      if (skip) return;\n\n      if (node) {\n        unobserve.current = observe(\n          node,\n          (inView, entry) => {\n            setState({ inView, entry });\n\n            if (entry.isIntersecting && triggerOnce && unobserve.current) {\n              // If it should only trigger once, unobserve the element after it's inView\n              unobserve.current();\n              unobserve.current = undefined;\n            }\n          },\n          {\n            root,\n            rootMargin,\n            threshold,\n            // @ts-ignore\n            trackVisibility,\n            // @ts-ignore\n            delay,\n          },\n          fallbackInView,\n        );\n      }\n    },\n    // We break the rule here, because we aren't including the actual `threshold` variable\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [\n      // If the threshold is an array, convert it to a string so it won't change between renders.\n      // eslint-disable-next-line react-hooks/exhaustive-deps\n      Array.isArray(threshold) ? threshold.toString() : threshold,\n      root,\n      rootMargin,\n      triggerOnce,\n      skip,\n      trackVisibility,\n      fallbackInView,\n      delay,\n    ],\n  );\n\n  /* eslint-disable-next-line */\n  useEffect(() => {\n    if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n      // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n      // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n      setState({\n        inView: !!initialInView,\n      });\n    }\n  });\n\n  const result = [setRef, state.inView, state.entry] as InViewHookResponse;\n\n  // Support object destructuring, by adding the specific values.\n  result.ref = result[0];\n  result.inView = result[1];\n  result.entry = result[2];\n\n  return result;\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst VerticalTimeline = ({\n  animate = true,\n  className = '',\n  layout = '2-columns',\n  lineColor = '#FFF',\n  children\n}) => {\n  if (typeof window === 'object') {\n    document.documentElement.style.setProperty('--line-color', lineColor);\n  }\n\n  return /*#__PURE__*/_react.default.createElement(\"div\", {\n    className: (0, _classnames.default)(className, 'vertical-timeline', {\n      'vertical-timeline--animate': animate,\n      'vertical-timeline--two-columns': layout === '2-columns',\n      'vertical-timeline--one-column-left': layout === '1-column' || layout === '1-column-left',\n      'vertical-timeline--one-column-right': layout === '1-column-right'\n    })\n  }, children);\n};\n\nVerticalTimeline.propTypes = {\n  children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired,\n  className: _propTypes.default.string,\n  animate: _propTypes.default.bool,\n  layout: _propTypes.default.oneOf(['1-column-left', '1-column', '2-columns', '1-column-right']),\n  lineColor: _propTypes.default.string\n};\nvar _default = VerticalTimeline;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _reactIntersectionObserver = require(\"react-intersection-observer\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst VerticalTimelineElement = ({\n  children = '',\n  className = '',\n  contentArrowStyle = null,\n  contentStyle = null,\n  date = '',\n  dateClassName = '',\n  icon = null,\n  iconClassName = '',\n  iconOnClick = null,\n  onTimelineElementClick = null,\n  iconStyle = null,\n  id = '',\n  position = '',\n  style = null,\n  textClassName = '',\n  intersectionObserverProps = {\n    rootMargin: '0px 0px -40px 0px',\n    triggerOnce: true\n  },\n  visible = false\n}) => /*#__PURE__*/_react.default.createElement(_reactIntersectionObserver.InView, intersectionObserverProps, ({\n  inView,\n  ref\n}) => /*#__PURE__*/_react.default.createElement(\"div\", {\n  ref: ref,\n  id: id,\n  className: (0, _classnames.default)(className, 'vertical-timeline-element', {\n    'vertical-timeline-element--left': position === 'left',\n    'vertical-timeline-element--right': position === 'right',\n    'vertical-timeline-element--no-children': children === ''\n  }),\n  style: style\n}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"span\", {\n  // eslint-disable-line jsx-a11y/no-static-element-interactions\n  style: iconStyle,\n  onClick: iconOnClick,\n  className: (0, _classnames.default)(iconClassName, 'vertical-timeline-element-icon', {\n    'bounce-in': inView || visible,\n    'is-hidden': !(inView || visible)\n  })\n}, icon), /*#__PURE__*/_react.default.createElement(\"div\", {\n  style: contentStyle,\n  onClick: onTimelineElementClick,\n  className: (0, _classnames.default)(textClassName, 'vertical-timeline-element-content', {\n    'bounce-in': inView || visible,\n    'is-hidden': !(inView || visible)\n  })\n}, /*#__PURE__*/_react.default.createElement(\"div\", {\n  style: contentArrowStyle,\n  className: \"vertical-timeline-element-content-arrow\"\n}), children, /*#__PURE__*/_react.default.createElement(\"span\", {\n  className: (0, _classnames.default)(dateClassName, 'vertical-timeline-element-date')\n}, date)))));\n\nVerticalTimelineElement.propTypes = {\n  children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]),\n  className: _propTypes.default.string,\n  contentArrowStyle: _propTypes.default.shape({}),\n  contentStyle: _propTypes.default.shape({}),\n  date: _propTypes.default.node,\n  dateClassName: _propTypes.default.string,\n  icon: _propTypes.default.element,\n  iconClassName: _propTypes.default.string,\n  iconStyle: _propTypes.default.shape({}),\n  iconOnClick: _propTypes.default.func,\n  onTimelineElementClick: _propTypes.default.func,\n  id: _propTypes.default.string,\n  position: _propTypes.default.string,\n  style: _propTypes.default.shape({}),\n  textClassName: _propTypes.default.string,\n  visible: _propTypes.default.bool,\n  intersectionObserverProps: _propTypes.default.shape({\n    root: _propTypes.default.object,\n    rootMargin: _propTypes.default.string,\n    threshold: _propTypes.default.number,\n    triggerOnce: _propTypes.default.bool\n  })\n};\nvar _default = VerticalTimelineElement;\nexports.default = _default;","\"use strict\";\n\n// this should be the entry point to your library\nmodule.exports = {\n  VerticalTimeline: require('./VerticalTimeline').default,\n  // eslint-disable-line global-require\n  VerticalTimelineElement: require('./VerticalTimelineElement').default // eslint-disable-line global-require\n\n};"],"names":["ReactPropTypesSecret","require","emptyFunction","emptyFunctionWithReset","resetWarningCache","module","exports","shim","props","propName","componentName","location","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","observerMap","Map","RootIds","WeakMap","rootId","unsupportedValue","undefined","defaultFallbackInView","inView","optionsToId","options","Object","keys","sort","filter","key","map","root","has","set","toString","get","observe","callback","fallbackInView","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","target","intersectionRatio","threshold","time","boundingClientRect","intersectionRect","rootBounds","_createObserver","id","instance","thresholds","elements","observer","entries","forEach","entry","_elements$get","some","trackVisibility","isVisible","Array","isArray","createObserver","callbacks","push","splice","indexOf","length","unobserve","size","disconnect","isPlainChildren","children","InView","_React$Component","_this","call","_unobserveCb","handleNode","triggerOnce","skip","setState","initialInView","observeNode","handleChange","onChange","state","_proto","prototype","componentDidUpdate","prevProps","rootMargin","this","delay","componentWillUnmount","_this$props","render","_this$state","ref","_this$props2","as","_objectWithoutPropertiesLoose","_excluded","React","_extends","useInView","_temp","_ref","_React$useState","setRef","current","useEffect","result","displayName","defaultProps","_react","_interopRequireDefault","_propTypes","_classnames","obj","__esModule","default","VerticalTimeline","animate","className","layout","lineColor","document","documentElement","style","setProperty","createElement","propTypes","_default","_reactIntersectionObserver","VerticalTimelineElement","contentArrowStyle","contentStyle","date","dateClassName","icon","iconClassName","iconOnClick","onTimelineElementClick","iconStyle","position","textClassName","intersectionObserverProps","visible","_ref2","Fragment","onClick"],"sourceRoot":""}