{"version":3,"sources":["jsdelivr-header.js","/npm/react-slot-machine@1.0.0/lib/Slot.js"],"names":[],"mappings":"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","file":"/npm/react-slot-machine@1.0.0/lib/Slot.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-slot-machine@1.0.0/lib/Slot.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Slot = function (_React$Component) {\n  _inherits(Slot, _React$Component);\n\n  function Slot() {\n    _classCallCheck(this, Slot);\n\n    var _this = _possibleConstructorReturn(this, (Slot.__proto__ || Object.getPrototypeOf(Slot)).call(this));\n\n    _this.targetRefs = [];\n    return _this;\n  }\n\n  _createClass(Slot, [{\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(prevProps) {\n      var _this2 = this;\n\n      if (this.props.target === prevProps.target) return;\n\n      var $frame = this.FrameRef;\n\n      $frame.scrollTop = 0;\n\n      if (this.props.target === 0) return;\n\n      var $target = (0, _reactDom.findDOMNode)(this.targetRefs[this.props.target]);\n\n      if ($target == null) return;\n\n      console.log(this.props.target, $target);\n\n      var fullScroll = (0, _reactDom.findDOMNode)(this.targetRefs[this.targetRefs.length - 1]).offsetTop;\n      var targetOffset = $target.offsetTop;\n\n      var totalScroll = targetOffset + fullScroll * (this.props.times - 1);\n      console.log(totalScroll, targetOffset, fullScroll);\n\n      var startTime = Date.now();\n\n      var tick = function tick() {\n        var elapsed = Date.now() - startTime;\n        if (elapsed > _this2.props.duration) {\n          _this2.props.onEnd();\n          return;\n        }\n\n        var amount = _this2.props.easing(elapsed, 0, totalScroll, _this2.props.duration);\n        $frame.scrollTop = amount % fullScroll;\n\n        requestAnimationFrame(tick);\n      };\n\n      tick();\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this3 = this;\n\n      return _react2.default.createElement(\n        'div',\n        {\n          className: this.props.className,\n          style: { overflow: 'hidden', position: 'relative' },\n          ref: function ref(FrameRef) {\n            return _this3.FrameRef = FrameRef;\n          }\n        },\n        this.props.children.map(function (child, index) {\n          return _react2.default.cloneElement(child, { ref: function ref(_ref) {\n              return _this3.targetRefs[index] = _ref;\n            } });\n        })\n      );\n    }\n  }]);\n\n  return Slot;\n}(_react2.default.Component);\n\nSlot.defaultProps = {\n  duration: 3000,\n  easing: function easeOutQuad(elapsed, initialValue, amountOfChange, duration) {\n    return -amountOfChange * (elapsed /= duration) * (elapsed - 2) + initialValue;\n  },\n  times: 1,\n  onEnd: function onEnd() {}\n};\n\nSlot.propTypes = {\n  duration: _propTypes2.default.number,\n  target: _propTypes2.default.number.isRequired,\n  easing: _propTypes2.default.func,\n  times: _propTypes2.default.number,\n  onEnd: _propTypes2.default.func\n};\n\nexports.default = Slot;"]}