react-scroll-to-bottom-updated
Version:
React container that will auto scroll to bottom
96 lines (80 loc) • 9.81 kB
JavaScript
"use strict";
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classnames = _interopRequireDefault(require("classnames"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _AutoHideFollowButton = _interopRequireDefault(require("./ScrollToBottom/AutoHideFollowButton"));
var _Composer = _interopRequireDefault(require("./ScrollToBottom/Composer"));
var _Panel = _interopRequireDefault(require("./ScrollToBottom/Panel"));
var _useStyleToClassName = _interopRequireDefault(require("./hooks/internal/useStyleToClassName"));
var ROOT_STYLE = {
position: 'relative'
};
var BasicScrollToBottomCore = function BasicScrollToBottomCore(_ref) {
var children = _ref.children,
className = _ref.className,
followButtonClassName = _ref.followButtonClassName,
scrollViewClassName = _ref.scrollViewClassName;
var rootCSS = (0, _useStyleToClassName["default"])()(ROOT_STYLE);
return /*#__PURE__*/_react["default"].createElement("div", {
className: (0, _classnames["default"])(rootCSS, (className || '') + '')
}, /*#__PURE__*/_react["default"].createElement(_Panel["default"], {
className: (scrollViewClassName || '') + ''
}, children), /*#__PURE__*/_react["default"].createElement(_AutoHideFollowButton["default"], {
className: (followButtonClassName || '') + ''
}));
};
BasicScrollToBottomCore.propTypes = {
children: _propTypes["default"].any,
className: _propTypes["default"].string,
followButtonClassName: _propTypes["default"].string,
scrollViewClassName: _propTypes["default"].string
};
var BasicScrollToBottom = function BasicScrollToBottom(_ref2) {
var checkInterval = _ref2.checkInterval,
children = _ref2.children,
className = _ref2.className,
debounce = _ref2.debounce,
debug = _ref2.debug,
followButtonClassName = _ref2.followButtonClassName,
_ref2$initialScrollBe = _ref2.initialScrollBehavior,
initialScrollBehavior = _ref2$initialScrollBe === void 0 ? 'smooth' : _ref2$initialScrollBe,
mode = _ref2.mode,
nonce = _ref2.nonce,
scroller = _ref2.scroller,
scrollViewClassName = _ref2.scrollViewClassName;
return /*#__PURE__*/_react["default"].createElement(_Composer["default"], {
checkInterval: checkInterval,
debounce: debounce,
debug: debug,
initialScrollBehavior: initialScrollBehavior,
mode: mode,
nonce: nonce,
scroller: scroller
}, /*#__PURE__*/_react["default"].createElement(BasicScrollToBottomCore, {
className: className,
followButtonClassName: followButtonClassName,
scrollViewClassName: scrollViewClassName
}, children));
};
BasicScrollToBottom.propTypes = {
checkInterval: _propTypes["default"].number,
children: _propTypes["default"].any,
className: _propTypes["default"].string,
debounce: _propTypes["default"].number,
debug: _propTypes["default"].bool,
followButtonClassName: _propTypes["default"].string,
initialScrollBehavior: _propTypes["default"].oneOf(['auto', 'smooth']),
mode: _propTypes["default"].oneOf(['bottom', 'top']),
nonce: _propTypes["default"].string,
scroller: _propTypes["default"].func,
scrollViewClassName: _propTypes["default"].string
};
var _default = BasicScrollToBottom;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNpY1Njcm9sbFRvQm90dG9tLmpzIl0sIm5hbWVzIjpbIlJPT1RfU1RZTEUiLCJwb3NpdGlvbiIsIkJhc2ljU2Nyb2xsVG9Cb3R0b21Db3JlIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJmb2xsb3dCdXR0b25DbGFzc05hbWUiLCJzY3JvbGxWaWV3Q2xhc3NOYW1lIiwicm9vdENTUyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFueSIsInN0cmluZyIsIkJhc2ljU2Nyb2xsVG9Cb3R0b20iLCJjaGVja0ludGVydmFsIiwiZGVib3VuY2UiLCJkZWJ1ZyIsImluaXRpYWxTY3JvbGxCZWhhdmlvciIsIm1vZGUiLCJub25jZSIsInNjcm9sbGVyIiwibnVtYmVyIiwiYm9vbCIsIm9uZU9mIiwiZnVuYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsVUFBVSxHQUFHO0FBQ2pCQyxFQUFBQSxRQUFRLEVBQUU7QUFETyxDQUFuQjs7QUFJQSxJQUFNQyx1QkFBdUIsR0FBRyxTQUExQkEsdUJBQTBCLE9BQXlFO0FBQUEsTUFBdEVDLFFBQXNFLFFBQXRFQSxRQUFzRTtBQUFBLE1BQTVEQyxTQUE0RCxRQUE1REEsU0FBNEQ7QUFBQSxNQUFqREMscUJBQWlELFFBQWpEQSxxQkFBaUQ7QUFBQSxNQUExQkMsbUJBQTBCLFFBQTFCQSxtQkFBMEI7QUFDdkcsTUFBTUMsT0FBTyxHQUFHLHVDQUFzQlAsVUFBdEIsQ0FBaEI7QUFFQSxzQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFFLDRCQUFXTyxPQUFYLEVBQW9CLENBQUNILFNBQVMsSUFBSSxFQUFkLElBQW9CLEVBQXhDO0FBQWhCLGtCQUNFLGdDQUFDLGlCQUFEO0FBQU8sSUFBQSxTQUFTLEVBQUUsQ0FBQ0UsbUJBQW1CLElBQUksRUFBeEIsSUFBOEI7QUFBaEQsS0FBcURILFFBQXJELENBREYsZUFFRSxnQ0FBQyxnQ0FBRDtBQUFzQixJQUFBLFNBQVMsRUFBRSxDQUFDRSxxQkFBcUIsSUFBSSxFQUExQixJQUFnQztBQUFqRSxJQUZGLENBREY7QUFNRCxDQVREOztBQVdBSCx1QkFBdUIsQ0FBQ00sU0FBeEIsR0FBb0M7QUFDbENMLEVBQUFBLFFBQVEsRUFBRU0sc0JBQVVDLEdBRGM7QUFFbENOLEVBQUFBLFNBQVMsRUFBRUssc0JBQVVFLE1BRmE7QUFHbENOLEVBQUFBLHFCQUFxQixFQUFFSSxzQkFBVUUsTUFIQztBQUlsQ0wsRUFBQUEsbUJBQW1CLEVBQUVHLHNCQUFVRTtBQUpHLENBQXBDOztBQU9BLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBc0I7QUFBQSxNQUMxQkMsYUFEMEIsU0FDMUJBLGFBRDBCO0FBQUEsTUFFMUJWLFFBRjBCLFNBRTFCQSxRQUYwQjtBQUFBLE1BRzFCQyxTQUgwQixTQUcxQkEsU0FIMEI7QUFBQSxNQUkxQlUsUUFKMEIsU0FJMUJBLFFBSjBCO0FBQUEsTUFLMUJDLEtBTDBCLFNBSzFCQSxLQUwwQjtBQUFBLE1BTTFCVixxQkFOMEIsU0FNMUJBLHFCQU4wQjtBQUFBLG9DQU8xQlcscUJBUDBCO0FBQUEsTUFPMUJBLHFCQVAwQixzQ0FPRixRQVBFO0FBQUEsTUFRMUJDLElBUjBCLFNBUTFCQSxJQVIwQjtBQUFBLE1BUzFCQyxLQVQwQixTQVMxQkEsS0FUMEI7QUFBQSxNQVUxQkMsUUFWMEIsU0FVMUJBLFFBVjBCO0FBQUEsTUFXMUJiLG1CQVgwQixTQVcxQkEsbUJBWDBCO0FBQUEsc0JBYTFCLGdDQUFDLG9CQUFEO0FBQ0UsSUFBQSxhQUFhLEVBQUVPLGFBRGpCO0FBRUUsSUFBQSxRQUFRLEVBQUVDLFFBRlo7QUFHRSxJQUFBLEtBQUssRUFBRUMsS0FIVDtBQUlFLElBQUEscUJBQXFCLEVBQUVDLHFCQUp6QjtBQUtFLElBQUEsSUFBSSxFQUFFQyxJQUxSO0FBTUUsSUFBQSxLQUFLLEVBQUVDLEtBTlQ7QUFPRSxJQUFBLFFBQVEsRUFBRUM7QUFQWixrQkFTRSxnQ0FBQyx1QkFBRDtBQUNFLElBQUEsU0FBUyxFQUFFZixTQURiO0FBRUUsSUFBQSxxQkFBcUIsRUFBRUMscUJBRnpCO0FBR0UsSUFBQSxtQkFBbUIsRUFBRUM7QUFIdkIsS0FLR0gsUUFMSCxDQVRGLENBYjBCO0FBQUEsQ0FBNUI7O0FBZ0NBUyxtQkFBbUIsQ0FBQ0osU0FBcEIsR0FBZ0M7QUFDOUJLLEVBQUFBLGFBQWEsRUFBRUosc0JBQVVXLE1BREs7QUFFOUJqQixFQUFBQSxRQUFRLEVBQUVNLHNCQUFVQyxHQUZVO0FBRzlCTixFQUFBQSxTQUFTLEVBQUVLLHNCQUFVRSxNQUhTO0FBSTlCRyxFQUFBQSxRQUFRLEVBQUVMLHNCQUFVVyxNQUpVO0FBSzlCTCxFQUFBQSxLQUFLLEVBQUVOLHNCQUFVWSxJQUxhO0FBTTlCaEIsRUFBQUEscUJBQXFCLEVBQUVJLHNCQUFVRSxNQU5IO0FBTzlCSyxFQUFBQSxxQkFBcUIsRUFBRVAsc0JBQVVhLEtBQVYsQ0FBZ0IsQ0FBQyxNQUFELEVBQVMsUUFBVCxDQUFoQixDQVBPO0FBUTlCTCxFQUFBQSxJQUFJLEVBQUVSLHNCQUFVYSxLQUFWLENBQWdCLENBQUMsUUFBRCxFQUFXLEtBQVgsQ0FBaEIsQ0FSd0I7QUFTOUJKLEVBQUFBLEtBQUssRUFBRVQsc0JBQVVFLE1BVGE7QUFVOUJRLEVBQUFBLFFBQVEsRUFBRVYsc0JBQVVjLElBVlU7QUFXOUJqQixFQUFBQSxtQkFBbUIsRUFBRUcsc0JBQVVFO0FBWEQsQ0FBaEM7ZUFjZUMsbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQXV0b0hpZGVGb2xsb3dCdXR0b24gZnJvbSAnLi9TY3JvbGxUb0JvdHRvbS9BdXRvSGlkZUZvbGxvd0J1dHRvbic7XG5pbXBvcnQgQ29tcG9zZXIgZnJvbSAnLi9TY3JvbGxUb0JvdHRvbS9Db21wb3Nlcic7XG5pbXBvcnQgUGFuZWwgZnJvbSAnLi9TY3JvbGxUb0JvdHRvbS9QYW5lbCc7XG5pbXBvcnQgdXNlU3R5bGVUb0NsYXNzTmFtZSBmcm9tICcuL2hvb2tzL2ludGVybmFsL3VzZVN0eWxlVG9DbGFzc05hbWUnO1xuXG5jb25zdCBST09UX1NUWUxFID0ge1xuICBwb3NpdGlvbjogJ3JlbGF0aXZlJ1xufTtcblxuY29uc3QgQmFzaWNTY3JvbGxUb0JvdHRvbUNvcmUgPSAoeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBmb2xsb3dCdXR0b25DbGFzc05hbWUsIHNjcm9sbFZpZXdDbGFzc05hbWUgfSkgPT4ge1xuICBjb25zdCByb290Q1NTID0gdXNlU3R5bGVUb0NsYXNzTmFtZSgpKFJPT1RfU1RZTEUpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMocm9vdENTUywgKGNsYXNzTmFtZSB8fCAnJykgKyAnJyl9PlxuICAgICAgPFBhbmVsIGNsYXNzTmFtZT17KHNjcm9sbFZpZXdDbGFzc05hbWUgfHwgJycpICsgJyd9PntjaGlsZHJlbn08L1BhbmVsPlxuICAgICAgPEF1dG9IaWRlRm9sbG93QnV0dG9uIGNsYXNzTmFtZT17KGZvbGxvd0J1dHRvbkNsYXNzTmFtZSB8fCAnJykgKyAnJ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkJhc2ljU2Nyb2xsVG9Cb3R0b21Db3JlLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZm9sbG93QnV0dG9uQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzY3JvbGxWaWV3Q2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG59O1xuXG5jb25zdCBCYXNpY1Njcm9sbFRvQm90dG9tID0gKHtcbiAgY2hlY2tJbnRlcnZhbCxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgZGVib3VuY2UsXG4gIGRlYnVnLFxuICBmb2xsb3dCdXR0b25DbGFzc05hbWUsXG4gIGluaXRpYWxTY3JvbGxCZWhhdmlvciA9ICdzbW9vdGgnLFxuICBtb2RlLFxuICBub25jZSxcbiAgc2Nyb2xsZXIsXG4gIHNjcm9sbFZpZXdDbGFzc05hbWVcbn0pID0+IChcbiAgPENvbXBvc2VyXG4gICAgY2hlY2tJbnRlcnZhbD17Y2hlY2tJbnRlcnZhbH1cbiAgICBkZWJvdW5jZT17ZGVib3VuY2V9XG4gICAgZGVidWc9e2RlYnVnfVxuICAgIGluaXRpYWxTY3JvbGxCZWhhdmlvcj17aW5pdGlhbFNjcm9sbEJlaGF2aW9yfVxuICAgIG1vZGU9e21vZGV9XG4gICAgbm9uY2U9e25vbmNlfVxuICAgIHNjcm9sbGVyPXtzY3JvbGxlcn1cbiAgPlxuICAgIDxCYXNpY1Njcm9sbFRvQm90dG9tQ29yZVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBmb2xsb3dCdXR0b25DbGFzc05hbWU9e2ZvbGxvd0J1dHRvbkNsYXNzTmFtZX1cbiAgICAgIHNjcm9sbFZpZXdDbGFzc05hbWU9e3Njcm9sbFZpZXdDbGFzc05hbWV9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQmFzaWNTY3JvbGxUb0JvdHRvbUNvcmU+XG4gIDwvQ29tcG9zZXI+XG4pO1xuXG5CYXNpY1Njcm9sbFRvQm90dG9tLnByb3BUeXBlcyA9IHtcbiAgY2hlY2tJbnRlcnZhbDogUHJvcFR5cGVzLm51bWJlcixcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZGVib3VuY2U6IFByb3BUeXBlcy5udW1iZXIsXG4gIGRlYnVnOiBQcm9wVHlwZXMuYm9vbCxcbiAgZm9sbG93QnV0dG9uQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBpbml0aWFsU2Nyb2xsQmVoYXZpb3I6IFByb3BUeXBlcy5vbmVPZihbJ2F1dG8nLCAnc21vb3RoJ10pLFxuICBtb2RlOiBQcm9wVHlwZXMub25lT2YoWydib3R0b20nLCAndG9wJ10pLFxuICBub25jZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgc2Nyb2xsZXI6IFByb3BUeXBlcy5mdW5jLFxuICBzY3JvbGxWaWV3Q2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBCYXNpY1Njcm9sbFRvQm90dG9tO1xuIl19