UNPKG

@scrolia/react-native

Version:
28 lines (26 loc) 950 B
import { tryPlugin } from "../../../functions/plugin.mjs"; const handleScrollFn = ({ axis, event, disabled, animated, plugins, hvTrack, hvThumb, total, view, viewOffset, scrollbarOffset, setScrollbarOffset }) => { viewOffset.current = event.nativeEvent.contentOffset[axis]; const scrollbarOffsetNext = viewOffset.current / total.current * view.current; let result; for (const plugin of plugins) { if (!plugin.onScroll) continue; result = tryPlugin(plugin, plugin.onScroll, { axis, isDisabled: disabled, isAnimated: animated, isDefined: hvTrack && hvThumb, total: total.current, view: view.current, viewOffset: viewOffset.current, scrollbarOffsetPrev: scrollbarOffset, scrollbarOffsetNext }) ?? result; } let offset; if (result?.scrollbarOffset) offset = result.scrollbarOffset; else offset = scrollbarOffsetNext; setScrollbarOffset(offset); }; export { handleScrollFn }; //# sourceMappingURL=scroll.mjs.map