UNPKG

react-simple-scroll-container

Version:
63 lines (47 loc) 1.88 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.ScrollSection = exports.ScrollTo = exports.ScrollContainer = undefined; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _scrollIntoView = require('scroll-into-view'); var _scrollIntoView2 = _interopRequireDefault(_scrollIntoView); var _index = require('./components/ScrollSection/index'); var _index2 = _interopRequireDefault(_index); var _index3 = require('./components/ScrollContainer/index'); var _index4 = _interopRequireDefault(_index3); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } if (typeof window !== 'undefined') { window.findReactComponent = function (el) { for (var key in el) { if (key.startsWith('__reactInternalInstance$')) { var fiberNode = el[key]; return fiberNode && fiberNode.return && fiberNode.return.stateNode; } } return null; }; } var ScrollTo = function ScrollTo(sectionId) { var containerId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; var speed = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 500; var node = null; if (containerId !== null) { var container = document.getElementById(containerId); var containerReact = findReactComponent(container); node = containerReact.getNode(sectionId); } else { node = document.getElementById(sectionId); } (0, _scrollIntoView2.default)(node, { time: speed, align: { top: offset } }); }; exports.ScrollContainer = _index4.default; exports.ScrollTo = ScrollTo; exports.ScrollSection = _index2.default;