UNPKG

@heycar-uikit/core

Version:
34 lines (30 loc) 1.27 kB
Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var useReviewRating = function () { var _a = React.useState(false), hasIntersectionObserver = _a[0], setHasIntersectionObserver = _a[1]; var _b = React.useState(false), isVisible = _b[0], setIsVisible = _b[1]; var observer = React.useMemo(function () { if (hasIntersectionObserver) { return new IntersectionObserver(function (entries) { return setIsVisible(entries[0].isIntersecting); }, { threshold: 1.0, }); } return undefined; }, [hasIntersectionObserver]); var setIntersectionObserver = function (targetId) { var target = document.querySelector("#" + targetId); if (target && (observer === null || observer === void 0 ? void 0 : observer.observe)) observer.observe(target); }; React.useEffect(function () { var hasIntObs = !!window && 'IntersectionObserver' in window; setHasIntersectionObserver(hasIntObs); }, []); return { isVisible: isVisible, setIntersectionObserver: React.useCallback(setIntersectionObserver, [observer]), }; }; exports.useReviewRating = useReviewRating;