{"ast":null,"code":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n  return target;\n};\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _smooth = require('./smooth');\nvar _smooth2 = _interopRequireDefault(_smooth);\nvar _cancelEvents = require('./cancel-events');\nvar _cancelEvents2 = _interopRequireDefault(_cancelEvents);\nvar _scrollEvents = require('./scroll-events');\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\n/*\r\n * Gets the easing type from the smooth prop within options.\r\n */\nvar getAnimationType = function getAnimationType(options) {\n  return _smooth2.default[options.smooth] || _smooth2.default.defaultEasing;\n};\n/*\r\n * Function helper\r\n */\nvar functionWrapper = function functionWrapper(value) {\n  return typeof value === 'function' ? value : function () {\n    return value;\n  };\n};\n/*\r\n * Wraps window properties to allow server side rendering\r\n */\nvar currentWindowProperties = function currentWindowProperties() {\n  if (typeof window !== 'undefined') {\n    return window.requestAnimationFrame || window.webkitRequestAnimationFrame;\n  }\n};\n\n/*\r\n * Helper function to never extend 60fps on the webpage.\r\n */\nvar requestAnimationFrameHelper = function () {\n  return currentWindowProperties() || function (callback, element, delay) {\n    window.setTimeout(callback, delay || 1000 / 60, new Date().getTime());\n  };\n}();\nvar makeData = function makeData() {\n  return {\n    currentPosition: 0,\n    startPosition: 0,\n    targetPosition: 0,\n    progress: 0,\n    duration: 0,\n    cancel: false,\n    target: null,\n    containerElement: null,\n    to: null,\n    start: null,\n    delta: null,\n    percent: null,\n    delayTimeout: null\n  };\n};\nvar currentPositionX = function currentPositionX(options) {\n  var containerElement = options.data.containerElement;\n  if (containerElement && containerElement !== document && containerElement !== document.body) {\n    return containerElement.scrollLeft;\n  } else {\n    var supportPageOffset = window.pageXOffset !== undefined;\n    var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n    return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n  }\n};\nvar currentPositionY = function currentPositionY(options) {\n  var containerElement = options.data.containerElement;\n  if (containerElement && containerElement !== document && containerElement !== document.body) {\n    return containerElement.scrollTop;\n  } else {\n    var supportPageOffset = window.pageXOffset !== undefined;\n    var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n    return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n  }\n};\nvar scrollContainerWidth = function scrollContainerWidth(options) {\n  var containerElement = options.data.containerElement;\n  if (containerElement && containerElement !== document && containerElement !== document.body) {\n    return containerElement.scrollWidth - containerElement.offsetWidth;\n  } else {\n    var body = document.body;\n    var html = document.documentElement;\n    return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n  }\n};\nvar scrollContainerHeight = function scrollContainerHeight(options) {\n  var containerElement = options.data.containerElement;\n  if (containerElement && containerElement !== document && containerElement !== document.body) {\n    return containerElement.scrollHeight - containerElement.offsetHeight;\n  } else {\n    var body = document.body;\n    var html = document.documentElement;\n    return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n  }\n};\nvar animateScroll = function animateScroll(easing, options, timestamp) {\n  var data = options.data;\n\n  // Cancel on specific events\n  if (!options.ignoreCancelEvents && data.cancel) {\n    if (_scrollEvents2.default.registered['end']) {\n      _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY);\n    }\n    return;\n  }\n  ;\n  data.delta = Math.round(data.targetPosition - data.startPosition);\n  if (data.start === null) {\n    data.start = timestamp;\n  }\n  data.progress = timestamp - data.start;\n  data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration);\n  data.currentPosition = data.startPosition + Math.ceil(data.delta * data.percent);\n  if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) {\n    if (options.horizontal) {\n      data.containerElement.scrollLeft = data.currentPosition;\n    } else {\n      data.containerElement.scrollTop = data.currentPosition;\n    }\n  } else {\n    if (options.horizontal) {\n      window.scrollTo(data.currentPosition, 0);\n    } else {\n      window.scrollTo(0, data.currentPosition);\n    }\n  }\n  if (data.percent < 1) {\n    var easedAnimate = animateScroll.bind(null, easing, options);\n    requestAnimationFrameHelper.call(window, easedAnimate);\n    return;\n  }\n  if (_scrollEvents2.default.registered['end']) {\n    _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPosition);\n  }\n};\nvar setContainer = function setContainer(options) {\n  options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document;\n};\nvar animateTopScroll = function animateTopScroll(scrollOffset, options, to, target) {\n  options.data = options.data || makeData();\n  window.clearTimeout(options.data.delayTimeout);\n  var setCancel = function setCancel() {\n    options.data.cancel = true;\n  };\n  _cancelEvents2.default.subscribe(setCancel);\n  setContainer(options);\n  options.data.start = null;\n  options.data.cancel = false;\n  options.data.startPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n  options.data.targetPosition = options.absolute ? scrollOffset : scrollOffset + options.data.startPosition;\n  if (options.data.startPosition === options.data.targetPosition) {\n    if (_scrollEvents2.default.registered['end']) {\n      _scrollEvents2.default.registered['end'](options.data.to, options.data.target, options.data.currentPosition);\n    }\n    return;\n  }\n  options.data.delta = Math.round(options.data.targetPosition - options.data.startPosition);\n  options.data.duration = functionWrapper(options.duration)(options.data.delta);\n  options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration);\n  options.data.to = to;\n  options.data.target = target;\n  var easing = getAnimationType(options);\n  var easedAnimate = animateScroll.bind(null, easing, options);\n  if (options && options.delay > 0) {\n    options.data.delayTimeout = window.setTimeout(function () {\n      if (_scrollEvents2.default.registered['begin']) {\n        _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n      }\n      requestAnimationFrameHelper.call(window, easedAnimate);\n    }, options.delay);\n    return;\n  }\n  if (_scrollEvents2.default.registered['begin']) {\n    _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n  }\n  requestAnimationFrameHelper.call(window, easedAnimate);\n};\nvar proceedOptions = function proceedOptions(options) {\n  options = _extends({}, options);\n  options.data = options.data || makeData();\n  options.absolute = true;\n  return options;\n};\nvar scrollToTop = function scrollToTop(options) {\n  animateTopScroll(0, proceedOptions(options));\n};\nvar scrollTo = function scrollTo(toPosition, options) {\n  animateTopScroll(toPosition, proceedOptions(options));\n};\nvar scrollToBottom = function scrollToBottom(options) {\n  options = proceedOptions(options);\n  setContainer(options);\n  animateTopScroll(options.horizontal ? scrollContainerWidth(options) : scrollContainerHeight(options), options);\n};\nvar scrollMore = function scrollMore(toPosition, options) {\n  options = proceedOptions(options);\n  setContainer(options);\n  var currentPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n  animateTopScroll(toPosition + currentPosition, options);\n};\nexports.default = {\n  animateTopScroll: animateTopScroll,\n  getAnimationType: getAnimationType,\n  scrollToTop: scrollToTop,\n  scrollToBottom: scrollToBottom,\n  scrollTo: scrollTo,\n  scrollMore: scrollMore\n};","map":{"version":3,"names":["Object","defineProperty","exports","value","_extends","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","_utils","require","_utils2","_interopRequireDefault","_smooth","_smooth2","_cancelEvents","_cancelEvents2","_scrollEvents","_scrollEvents2","obj","__esModule","default","getAnimationType","options","smooth","defaultEasing","functionWrapper","currentWindowProperties","window","requestAnimationFrame","webkitRequestAnimationFrame","requestAnimationFrameHelper","callback","element","delay","setTimeout","Date","getTime","makeData","currentPosition","startPosition","targetPosition","progress","duration","cancel","containerElement","to","start","delta","percent","delayTimeout","currentPositionX","data","document","body","scrollLeft","supportPageOffset","pageXOffset","undefined","isCSS1Compat","compatMode","documentElement","currentPositionY","scrollTop","pageYOffset","scrollContainerWidth","scrollWidth","offsetWidth","html","Math","max","clientWidth","scrollContainerHeight","scrollHeight","offsetHeight","clientHeight","animateScroll","easing","timestamp","ignoreCancelEvents","registered","round","ceil","horizontal","scrollTo","easedAnimate","bind","setContainer","containerId","getElementById","container","nodeType","animateTopScroll","scrollOffset","clearTimeout","setCancel","subscribe","absolute","isNaN","parseFloat","proceedOptions","scrollToTop","toPosition","scrollToBottom","scrollMore"],"sources":["C:/Users/user/Desktop/02portreact/node_modules/react-scroll/modules/mixins/animate-scroll.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _smooth = require('./smooth');\n\nvar _smooth2 = _interopRequireDefault(_smooth);\n\nvar _cancelEvents = require('./cancel-events');\n\nvar _cancelEvents2 = _interopRequireDefault(_cancelEvents);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\r\n * Gets the easing type from the smooth prop within options.\r\n */\nvar getAnimationType = function getAnimationType(options) {\n  return _smooth2.default[options.smooth] || _smooth2.default.defaultEasing;\n};\n/*\r\n * Function helper\r\n */\nvar functionWrapper = function functionWrapper(value) {\n  return typeof value === 'function' ? value : function () {\n    return value;\n  };\n};\n/*\r\n * Wraps window properties to allow server side rendering\r\n */\nvar currentWindowProperties = function currentWindowProperties() {\n  if (typeof window !== 'undefined') {\n    return window.requestAnimationFrame || window.webkitRequestAnimationFrame;\n  }\n};\n\n/*\r\n * Helper function to never extend 60fps on the webpage.\r\n */\nvar requestAnimationFrameHelper = function () {\n  return currentWindowProperties() || function (callback, element, delay) {\n    window.setTimeout(callback, delay || 1000 / 60, new Date().getTime());\n  };\n}();\n\nvar makeData = function makeData() {\n  return {\n    currentPosition: 0,\n    startPosition: 0,\n    targetPosition: 0,\n    progress: 0,\n    duration: 0,\n    cancel: false,\n\n    target: null,\n    containerElement: null,\n    to: null,\n    start: null,\n    delta: null,\n    percent: null,\n    delayTimeout: null\n  };\n};\n\nvar currentPositionX = function currentPositionX(options) {\n  var containerElement = options.data.containerElement;\n  if (containerElement && containerElement !== document && containerElement !== document.body) {\n    return containerElement.scrollLeft;\n  } else {\n    var supportPageOffset = window.pageXOffset !== undefined;\n    var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n    return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n  }\n};\n\nvar currentPositionY = function currentPositionY(options) {\n  var containerElement = options.data.containerElement;\n  if (containerElement && containerElement !== document && containerElement !== document.body) {\n    return containerElement.scrollTop;\n  } else {\n    var supportPageOffset = window.pageXOffset !== undefined;\n    var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n    return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n  }\n};\n\nvar scrollContainerWidth = function scrollContainerWidth(options) {\n  var containerElement = options.data.containerElement;\n  if (containerElement && containerElement !== document && containerElement !== document.body) {\n    return containerElement.scrollWidth - containerElement.offsetWidth;\n  } else {\n    var body = document.body;\n    var html = document.documentElement;\n\n    return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n  }\n};\n\nvar scrollContainerHeight = function scrollContainerHeight(options) {\n  var containerElement = options.data.containerElement;\n  if (containerElement && containerElement !== document && containerElement !== document.body) {\n    return containerElement.scrollHeight - containerElement.offsetHeight;\n  } else {\n    var body = document.body;\n    var html = document.documentElement;\n\n    return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n  }\n};\n\nvar animateScroll = function animateScroll(easing, options, timestamp) {\n  var data = options.data;\n\n  // Cancel on specific events\n  if (!options.ignoreCancelEvents && data.cancel) {\n    if (_scrollEvents2.default.registered['end']) {\n      _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY);\n    }\n    return;\n  };\n\n  data.delta = Math.round(data.targetPosition - data.startPosition);\n\n  if (data.start === null) {\n    data.start = timestamp;\n  }\n\n  data.progress = timestamp - data.start;\n\n  data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration);\n\n  data.currentPosition = data.startPosition + Math.ceil(data.delta * data.percent);\n\n  if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) {\n    if (options.horizontal) {\n      data.containerElement.scrollLeft = data.currentPosition;\n    } else {\n      data.containerElement.scrollTop = data.currentPosition;\n    }\n  } else {\n    if (options.horizontal) {\n      window.scrollTo(data.currentPosition, 0);\n    } else {\n      window.scrollTo(0, data.currentPosition);\n    }\n  }\n\n  if (data.percent < 1) {\n    var easedAnimate = animateScroll.bind(null, easing, options);\n    requestAnimationFrameHelper.call(window, easedAnimate);\n    return;\n  }\n\n  if (_scrollEvents2.default.registered['end']) {\n    _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPosition);\n  }\n};\n\nvar setContainer = function setContainer(options) {\n  options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document;\n};\n\nvar animateTopScroll = function animateTopScroll(scrollOffset, options, to, target) {\n  options.data = options.data || makeData();\n\n  window.clearTimeout(options.data.delayTimeout);\n\n  var setCancel = function setCancel() {\n    options.data.cancel = true;\n  };\n  _cancelEvents2.default.subscribe(setCancel);\n\n  setContainer(options);\n\n  options.data.start = null;\n  options.data.cancel = false;\n  options.data.startPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n  options.data.targetPosition = options.absolute ? scrollOffset : scrollOffset + options.data.startPosition;\n\n  if (options.data.startPosition === options.data.targetPosition) {\n    if (_scrollEvents2.default.registered['end']) {\n      _scrollEvents2.default.registered['end'](options.data.to, options.data.target, options.data.currentPosition);\n    }\n    return;\n  }\n\n  options.data.delta = Math.round(options.data.targetPosition - options.data.startPosition);\n\n  options.data.duration = functionWrapper(options.duration)(options.data.delta);\n  options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration);\n  options.data.to = to;\n  options.data.target = target;\n\n  var easing = getAnimationType(options);\n  var easedAnimate = animateScroll.bind(null, easing, options);\n\n  if (options && options.delay > 0) {\n    options.data.delayTimeout = window.setTimeout(function () {\n      if (_scrollEvents2.default.registered['begin']) {\n        _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n      }\n      requestAnimationFrameHelper.call(window, easedAnimate);\n    }, options.delay);\n    return;\n  }\n\n  if (_scrollEvents2.default.registered['begin']) {\n    _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n  }\n  requestAnimationFrameHelper.call(window, easedAnimate);\n};\n\nvar proceedOptions = function proceedOptions(options) {\n  options = _extends({}, options);\n  options.data = options.data || makeData();\n  options.absolute = true;\n  return options;\n};\n\nvar scrollToTop = function scrollToTop(options) {\n  animateTopScroll(0, proceedOptions(options));\n};\n\nvar scrollTo = function scrollTo(toPosition, options) {\n  animateTopScroll(toPosition, proceedOptions(options));\n};\n\nvar scrollToBottom = function scrollToBottom(options) {\n  options = proceedOptions(options);\n  setContainer(options);\n  animateTopScroll(options.horizontal ? scrollContainerWidth(options) : scrollContainerHeight(options), options);\n};\n\nvar scrollMore = function scrollMore(toPosition, options) {\n  options = proceedOptions(options);\n  setContainer(options);\n  var currentPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n  animateTopScroll(toPosition + currentPosition, options);\n};\n\nexports.default = {\n  animateTopScroll: animateTopScroll,\n  getAnimationType: getAnimationType,\n  scrollToTop: scrollToTop,\n  scrollToBottom: scrollToBottom,\n  scrollTo: scrollTo,\n  scrollMore: scrollMore\n};"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}