react-scroll-to-bottom-updated
Version:
React container that will auto scroll to bottom
76 lines (72 loc) • 9.4 kB
JavaScript
import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import AutoHideFollowButton from './ScrollToBottom/AutoHideFollowButton';
import Composer from './ScrollToBottom/Composer';
import Panel from './ScrollToBottom/Panel';
import useStyleToClassName from './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 = useStyleToClassName()(ROOT_STYLE);
return /*#__PURE__*/React.createElement("div", {
className: classNames(rootCSS, (className || '') + '')
}, /*#__PURE__*/React.createElement(Panel, {
className: (scrollViewClassName || '') + ''
}, children), /*#__PURE__*/React.createElement(AutoHideFollowButton, {
className: (followButtonClassName || '') + ''
}));
};
BasicScrollToBottomCore.propTypes = {
children: PropTypes.any,
className: PropTypes.string,
followButtonClassName: PropTypes.string,
scrollViewClassName: PropTypes.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.createElement(Composer, {
checkInterval: checkInterval,
debounce: debounce,
debug: debug,
initialScrollBehavior: initialScrollBehavior,
mode: mode,
nonce: nonce,
scroller: scroller
}, /*#__PURE__*/React.createElement(BasicScrollToBottomCore, {
className: className,
followButtonClassName: followButtonClassName,
scrollViewClassName: scrollViewClassName
}, children));
};
BasicScrollToBottom.propTypes = {
checkInterval: PropTypes.number,
children: PropTypes.any,
className: PropTypes.string,
debounce: PropTypes.number,
debug: PropTypes.bool,
followButtonClassName: PropTypes.string,
initialScrollBehavior: PropTypes.oneOf(['auto', 'smooth']),
mode: PropTypes.oneOf(['bottom', 'top']),
nonce: PropTypes.string,
scroller: PropTypes.func,
scrollViewClassName: PropTypes.string
};
export default BasicScrollToBottom;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CYXNpY1Njcm9sbFRvQm90dG9tLmpzIl0sIm5hbWVzIjpbImNsYXNzTmFtZXMiLCJQcm9wVHlwZXMiLCJSZWFjdCIsIkF1dG9IaWRlRm9sbG93QnV0dG9uIiwiQ29tcG9zZXIiLCJQYW5lbCIsInVzZVN0eWxlVG9DbGFzc05hbWUiLCJST09UX1NUWUxFIiwicG9zaXRpb24iLCJCYXNpY1Njcm9sbFRvQm90dG9tQ29yZSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZm9sbG93QnV0dG9uQ2xhc3NOYW1lIiwic2Nyb2xsVmlld0NsYXNzTmFtZSIsInJvb3RDU1MiLCJwcm9wVHlwZXMiLCJhbnkiLCJzdHJpbmciLCJCYXNpY1Njcm9sbFRvQm90dG9tIiwiY2hlY2tJbnRlcnZhbCIsImRlYm91bmNlIiwiZGVidWciLCJpbml0aWFsU2Nyb2xsQmVoYXZpb3IiLCJtb2RlIiwibm9uY2UiLCJzY3JvbGxlciIsIm51bWJlciIsImJvb2wiLCJvbmVPZiIsImZ1bmMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFVBQVAsTUFBdUIsWUFBdkI7QUFDQSxPQUFPQyxTQUFQLE1BQXNCLFlBQXRCO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixPQUFsQjtBQUVBLE9BQU9DLG9CQUFQLE1BQWlDLHVDQUFqQztBQUNBLE9BQU9DLFFBQVAsTUFBcUIsMkJBQXJCO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQix3QkFBbEI7QUFDQSxPQUFPQyxtQkFBUCxNQUFnQyxzQ0FBaEM7QUFFQSxJQUFNQyxVQUFVLEdBQUc7QUFDakJDLEVBQUFBLFFBQVEsRUFBRTtBQURPLENBQW5COztBQUlBLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBMEIsT0FBeUU7QUFBQSxNQUF0RUMsUUFBc0UsUUFBdEVBLFFBQXNFO0FBQUEsTUFBNURDLFNBQTRELFFBQTVEQSxTQUE0RDtBQUFBLE1BQWpEQyxxQkFBaUQsUUFBakRBLHFCQUFpRDtBQUFBLE1BQTFCQyxtQkFBMEIsUUFBMUJBLG1CQUEw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NEIsSUFWVTtBQVc5QmhCLEVBQUFBLG1CQUFtQixFQUFFWixTQUFTLENBQUNnQjtBQVhELENBQWhDO0FBY0EsZUFBZUMsbUJBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQXV0b0hpZGVGb2xsb3dCdXR0b24gZnJvbSAnLi9TY3JvbGxUb0JvdHRvbS9BdXRvSGlkZUZvbGxvd0J1dHRvbic7XG5pbXBvcnQgQ29tcG9zZXIgZnJvbSAnLi9TY3JvbGxUb0JvdHRvbS9Db21wb3Nlcic7XG5pbXBvcnQgUGFuZWwgZnJvbSAnLi9TY3JvbGxUb0JvdHRvbS9QYW5lbCc7XG5pbXBvcnQgdXNlU3R5bGVUb0NsYXNzTmFtZSBmcm9tICcuL2hvb2tzL2ludGVybmFsL3VzZVN0eWxlVG9DbGFzc05hbWUnO1xuXG5jb25zdCBST09UX1NUWUxFID0ge1xuICBwb3NpdGlvbjogJ3JlbGF0aXZlJ1xufTtcblxuY29uc3QgQmFzaWNTY3JvbGxUb0JvdHRvbUNvcmUgPSAoeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBmb2xsb3dCdXR0b25DbGFzc05hbWUsIHNjcm9sbFZpZXdDbGFzc05hbWUgfSkgPT4ge1xuICBjb25zdCByb290Q1NTID0gdXNlU3R5bGVUb0NsYXNzTmFtZSgpKFJPT1RfU1RZTEUpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMocm9vdENTUywgKGNsYXNzTmFtZSB8fCAnJykgKyAnJyl9PlxuICAgICAgPFBhbmVsIGNsYXNzTmFtZT17KHNjcm9sbFZpZXdDbGFzc05hbWUgfHwgJycpICsgJyd9PntjaGlsZHJlbn08L1BhbmVsPlxuICAgICAgPEF1dG9IaWRlRm9sbG93QnV0dG9uIGNsYXNzTmFtZT17KGZvbGxvd0J1dHRvbkNsYXNzTmFtZSB8fCAnJykgKyAnJ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkJhc2ljU2Nyb2xsVG9Cb3R0b21Db3JlLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZm9sbG93QnV0dG9uQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzY3JvbGxWaWV3Q2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG59O1xuXG5jb25zdCBCYXNpY1Njcm9sbFRvQm90dG9tID0gKHtcbiAgY2hlY2tJbnRlcnZhbCxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgZGVib3VuY2UsXG4gIGRlYnVnLFxuICBmb2xsb3dCdXR0b25DbGFzc05hbWUsXG4gIGluaXRpYWxTY3JvbGxCZWhhdmlvciA9ICdzbW9vdGgnLFxuICBtb2RlLFxuICBub25jZSxcbiAgc2Nyb2xsZXIsXG4gIHNjcm9sbFZpZXdDbGFzc05hbWVcbn0pID0+IChcbiAgPENvbXBvc2VyXG4gICAgY2hlY2tJbnRlcnZhbD17Y2hlY2tJbnRlcnZhbH1cbiAgICBkZWJvdW5jZT17ZGVib3VuY2V9XG4gICAgZGVidWc9e2RlYnVnfVxuICAgIGluaXRpYWxTY3JvbGxCZWhhdmlvcj17aW5pdGlhbFNjcm9sbEJlaGF2aW9yfVxuICAgIG1vZGU9e21vZGV9XG4gICAgbm9uY2U9e25vbmNlfVxuICAgIHNjcm9sbGVyPXtzY3JvbGxlcn1cbiAgPlxuICAgIDxCYXNpY1Njcm9sbFRvQm90dG9tQ29yZVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBmb2xsb3dCdXR0b25DbGFzc05hbWU9e2ZvbGxvd0J1dHRvbkNsYXNzTmFtZX1cbiAgICAgIHNjcm9sbFZpZXdDbGFzc05hbWU9e3Njcm9sbFZpZXdDbGFzc05hbWV9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQmFzaWNTY3JvbGxUb0JvdHRvbUNvcmU+XG4gIDwvQ29tcG9zZXI+XG4pO1xuXG5CYXNpY1Njcm9sbFRvQm90dG9tLnByb3BUeXBlcyA9IHtcbiAgY2hlY2tJbnRlcnZhbDogUHJvcFR5cGVzLm51bWJlcixcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZGVib3VuY2U6IFByb3BUeXBlcy5udW1iZXIsXG4gIGRlYnVnOiBQcm9wVHlwZXMuYm9vbCxcbiAgZm9sbG93QnV0dG9uQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBpbml0aWFsU2Nyb2xsQmVoYXZpb3I6IFByb3BUeXBlcy5vbmVPZihbJ2F1dG8nLCAnc21vb3RoJ10pLFxuICBtb2RlOiBQcm9wVHlwZXMub25lT2YoWydib3R0b20nLCAndG9wJ10pLFxuICBub25jZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgc2Nyb2xsZXI6IFByb3BUeXBlcy5mdW5jLFxuICBzY3JvbGxWaWV3Q2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBCYXNpY1Njcm9sbFRvQm90dG9tO1xuIl19