UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

19 lines (18 loc) 969 B
"use client"; import { getThumbSize } from "./get-thumb-size.mjs"; import { linearScale } from "./linear-scale.mjs"; //#region packages/@mantine/core/src/components/ScrollArea/utils/get-scroll-position-from-pointer.ts function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = "ltr") { const thumbSizePx = getThumbSize(sizes); const thumbCenter = thumbSizePx / 2; const offset = pointerOffset || thumbCenter; const thumbOffsetFromEnd = thumbSizePx - offset; const minPointerPos = sizes.scrollbar.paddingStart + offset; const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd; const maxScrollPos = sizes.content - sizes.viewport; const scrollRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0]; return linearScale([minPointerPos, maxPointerPos], scrollRange)(pointerPos); } //#endregion export { getScrollPositionFromPointer }; //# sourceMappingURL=get-scroll-position-from-pointer.mjs.map