UNPKG

nice-ui

Version:

React design system, components, and utilities

22 lines (21 loc) 762 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ScrollToView = void 0; const React = require("react"); const ScrollToView = ({ scroll, children }) => { const ref = React.useRef(); React.useEffect(() => { if (!scroll) return; if (!ref.current) return; const el = ref.current; const rect1 = el.getBoundingClientRect(); const rect2 = el.parentElement.getBoundingClientRect(); if (rect1.y + rect1.height < rect2.y + 16 || rect1.y > rect2.y + rect2.height - 16) { el.scrollIntoView({ behavior: 'smooth' }); } }, [scroll]); return React.createElement("div", { ref: ref }, children); }; exports.ScrollToView = ScrollToView;