UNPKG

@scrolia/react-native

Version:
71 lines (69 loc) 1.88 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_contexts_scrollcore = require('../../contexts/scrollcore.js'); const require_length = require('./functions/length.js'); const require_scroll = require('./functions/scroll.js'); /** Content handler. */ const createContentHandler = (axis, options) => { const { props } = options ?? {}; const { options: { disabled, animated, plugins }, [axis]: { hvTrack, hvThumb, total, view, viewOffset, scrollbarLength, setScrollbarLength, scrollbarOffset, setScrollbarOffset } } = require_contexts_scrollcore.useScrollCore(); const setLength = require_length.setLengthFn({ axis, disabled, animated, plugins, hvTrack, hvThumb, total, view, viewOffset, scrollbarLength, setScrollbarLength }); const onLayout = (event) => { if (!disabled) { if (axis === "x") view.current = event.nativeEvent.layout.width; else view.current = event.nativeEvent.layout.height; setLength(); } props?.onLayout?.(event); }; const onContentSizeChange = (width, height) => { if (!disabled) { if (axis === "x") total.current = width; else total.current = height; setLength(); } props?.onContentSizeChange?.(width, height); }; const onScroll = (event) => { if (!disabled) require_scroll.handleScrollFn({ axis, event, disabled, animated, plugins, hvTrack, hvThumb, total, view, viewOffset, scrollbarOffset, setScrollbarOffset }); props?.onScroll?.(event); }; return { onLayout, onContentSizeChange, onScroll }; }; const useContentXHandler = (options) => { return createContentHandler("x", options); }; const useContentYHandler = (options) => { return createContentHandler("y", options); }; exports.useContentXHandler = useContentXHandler; exports.useContentYHandler = useContentYHandler; //# sourceMappingURL=index.js.map