UNPKG

@scrolia/react-native

Version:
41 lines (38 loc) 1.14 kB
"use client"; import * as React from "react"; const useScrollCoreStates = () => { const contentType = React.useRef("scrollview"); const contentRef = React.useRef(null); const [hvTrack, setHvTrack] = React.useState(false); const [hvThumb, setHvThumb] = React.useState(false); const total = React.useRef(0); const view = React.useRef(0); const viewOffset = React.useRef(0); const [scrollbarLength, setScrollbarLength] = React.useState(0); const [scrollbarOffset, setScrollbarOffset] = React.useState(0); return { contentType, contentRef, hvTrack, setHvTrack, hvThumb, setHvThumb, total, view, viewOffset, scrollbarLength, setScrollbarLength, scrollbarOffset, setScrollbarOffset }; }; /** `ScrollCore` context. */ const ScrollCoreContext = React.createContext(null); /** Hook for using the `ScrollCore` context. */ const useScrollCore = () => { const core = React.useContext(ScrollCoreContext); if (core === null) throw new Error("useScrollCore must be used within a provider"); return core; }; export { ScrollCoreContext, useScrollCore, useScrollCoreStates }; //# sourceMappingURL=scrollcore.mjs.map