@krowdy-ui/core
Version:
React components that implement Google's Material Design.
47 lines (37 loc) • 1.49 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _Slide = _interopRequireDefault(require("../Slide"));
var _useScrollTrigger = _interopRequireDefault(require("../useScrollTrigger"));
var _excluded = ["direction"];
var AlterDirection = {
down: 'up',
left: 'right',
right: 'left',
up: 'down'
};
var HideOnScroll = _react["default"].forwardRef(function (_ref, ref) {
var _ref$direction = _ref.direction,
direction = _ref$direction === void 0 ? 'down' : _ref$direction,
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
var children = props.children,
window = props.window; // Note that you normally won't need to set the window ref as useScrollTrigger
// will default to window.
// This is only being set here because the demo is in an iframe.
var trigger = (0, _useScrollTrigger["default"])({
target: window ? window() : undefined
});
return /*#__PURE__*/_react["default"].createElement(_Slide["default"], {
appear: false,
direction: direction ? AlterDirection[direction] : undefined,
"in": !trigger,
ref: ref
}, children);
});
var _default = HideOnScroll;
exports["default"] = _default;