Files
medusa-store/www/reference/src/utils/scroll-parent.js
Kasper Fabricius Kristensen 143f06aa39 feat: Update to API references look and feel (#343)
Co-authored-by: Vadim Smirnov <smirnou.vadzim@gmail.com>
Co-authored-by: zakariasaad <zakaria.elas@gmail.com>
Co-authored-by: Vilfred Sikker <vilfredsikker@gmail.com>
Co-authored-by: olivermrbl <oliver@mrbltech.com>
2021-08-20 10:26:29 +02:00

21 lines
533 B
JavaScript

const scrollParent = (parent, child) => {
const parentRect = parent.getBoundingClientRect()
const parentViewableArea = {
height: parent.clientHeight,
width: parent.clientWidth,
}
const childRect = child.getBoundingClientRect()
const isViewable =
childRect.top >= parentRect.top &&
childRect.top <= parentRect.top + parentViewableArea.height
if (!isViewable) {
const pos = childRect.top + parent.scrollTop - parentRect.top
parent.scrollTop = pos > 0 ? pos : 0
}
}
export default scrollParent