MCPcopy Create free account
hub / github.com/editablejs/editable / getScrollPositionFromPointer

Function getScrollPositionFromPointer

packages/ui/src/scroll-area.tsx:987–1003  ·  view source on GitHub ↗
(
  pointerPos: number,
  pointerOffset: number,
  sizes: Sizes,
  dir: Direction = 'ltr',
)

Source from the content-addressed store, hash-verified

985}
986
987function getScrollPositionFromPointer(
988 pointerPos: number,
989 pointerOffset: number,
990 sizes: Sizes,
991 dir: Direction = 'ltr',
992) {
993 const thumbSizePx = getThumbSize(sizes)
994 const thumbCenter = thumbSizePx / 2
995 const offset = pointerOffset || thumbCenter
996 const thumbOffsetFromEnd = thumbSizePx - offset
997 const minPointerPos = sizes.scrollbar.paddingStart + offset
998 const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd
999 const maxScrollPos = sizes.content - sizes.viewport
1000 const scrollRange = dir === 'ltr' ? [0, maxScrollPos] : [maxScrollPos * -1, 0]
1001 const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange as [number, number])
1002 return interpolate(pointerPos)
1003}
1004
1005function getThumbOffsetFromScroll(scrollPos: number, sizes: Sizes, dir: Direction = 'ltr') {
1006 const thumbSizePx = getThumbSize(sizes)

Callers 1

getScrollPositionFunction · 0.85

Calls 2

getThumbSizeFunction · 0.85
linearScaleFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…