@hello-pangea/dnd
Version:
Beautiful and accessible drag and drop for lists with React
30 lines (22 loc) • 854 B
text/typescript
import type { Position } from 'css-box-model';
// The browsers update document.documentElement.scrollTop and window.pageYOffset
// differently as the window scrolls.
// Webkit
// documentElement.scrollTop: no update. Stays at 0
// window.pageYOffset: updates to whole number
// Chrome
// documentElement.scrollTop: update with fractional value
// window.pageYOffset: update with fractional value
// FireFox
// documentElement.scrollTop: updates to whole number
// window.pageYOffset: updates to whole number
// IE11 (same as firefox)
// documentElement.scrollTop: updates to whole number
// window.pageYOffset: updates to whole number
// Edge (same as webkit)
// documentElement.scrollTop: no update. Stays at 0
// window.pageYOffset: updates to whole number
export default (): Position => ({
x: window.pageXOffset,
y: window.pageYOffset,
});