UNPKG

@wulperstudio/cms

Version:
29 lines (28 loc) 1.25 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useTrackVisibility = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _useIntersectionObserver = require("./useIntersectionObserver"); var useTrackVisibility = exports.useTrackVisibility = function useTrackVisibility(args) { var _result$entry; var _useIntersectionObser = (0, _useIntersectionObserver.useIntersectionObserver)(args), _useIntersectionObser2 = (0, _slicedToArray2["default"])(_useIntersectionObser, 2), ref = _useIntersectionObser2[0], result = _useIntersectionObser2[1]; var isVisible = Boolean((_result$entry = result.entry) == null ? void 0 : _result$entry.isIntersecting); var _useState = (0, _react.useState)(isVisible), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), wasEverVisible = _useState2[0], setWasEverVisible = _useState2[1]; if (isVisible && !wasEverVisible) { setWasEverVisible(true); } return [ref, Object.assign({}, result, { isVisible: isVisible, wasEverVisible: wasEverVisible })]; };