UNPKG

@wulperstudio/cms

Version:
22 lines 924 B
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import { useState } from 'react'; import { useIntersectionObserver } from './useIntersectionObserver'; export var useTrackVisibility = function useTrackVisibility(args) { var _result$entry; var _useIntersectionObser = useIntersectionObserver(args), _useIntersectionObser2 = _slicedToArray(_useIntersectionObser, 2), ref = _useIntersectionObser2[0], result = _useIntersectionObser2[1]; var isVisible = Boolean((_result$entry = result.entry) == null ? void 0 : _result$entry.isIntersecting); var _useState = useState(isVisible), _useState2 = _slicedToArray(_useState, 2), wasEverVisible = _useState2[0], setWasEverVisible = _useState2[1]; if (isVisible && !wasEverVisible) { setWasEverVisible(true); } return [ref, Object.assign({}, result, { isVisible: isVisible, wasEverVisible: wasEverVisible })]; };