UNPKG

koval-ui

Version:

React components collection with minimalistic design. Supports theming, layout, and input validation.

1 lines 1.18 kB
{"version":3,"file":"useIsInViewport.cjs","sources":["../../../../src/internal/hooks/useIsInViewport.tsx"],"sourcesContent":["import type {MutableRefObject} from 'react';\nimport {useMemo, useState, useEffect} from 'react';\n\nexport const useIsInViewport = (ref: MutableRefObject<HTMLElement | null>) => {\n const [isIntersecting, setIsIntersecting] = useState(false);\n\n const observer = useMemo(\n () => new IntersectionObserver(([entry]) => setIsIntersecting(entry.isIntersecting)),\n []\n );\n\n useEffect(() => {\n ref.current && observer.observe(ref.current);\n\n return () => {\n observer.disconnect();\n };\n }, [ref, observer]);\n\n return isIntersecting;\n};\n"],"names":["useIsInViewport","ref","isIntersecting","setIsIntersecting","useState","observer","useMemo","entry","useEffect"],"mappings":"sHAGaA,EAAmBC,GAA8C,CAC1E,KAAM,CAACC,EAAgBC,CAAiB,EAAIC,EAAAA,SAAS,EAAK,EAEpDC,EAAWC,EAAA,QACb,IAAM,IAAI,qBAAqB,CAAC,CAACC,CAAK,IAAMJ,EAAkBI,EAAM,cAAc,CAAC,EACnF,CAAA,CACJ,EAEAC,OAAAA,EAAAA,UAAU,KACNP,EAAI,SAAWI,EAAS,QAAQJ,EAAI,OAAO,EAEpC,IAAM,CACTI,EAAS,WAAW,CACxB,GACD,CAACJ,EAAKI,CAAQ,CAAC,EAEXH,CACX"}