useIsInView
sora-ui/hooks-use-is-in-viewFreeHook
A Motion-powered hook that allows you to check if an element is in view.
Install it
npx shadcn@latest add https://ui.soralabs.io.vn/r/hooks-use-is-in-view.jsonSource
1import { type UseInViewOptions, useInView } from "motion/react";2import * as React from "react";34interface UseIsInViewOptions {5 inView?: boolean;6 inViewMargin?: UseInViewOptions["margin"];7 inViewOnce?: boolean;8}910function useIsInView<T extends HTMLElement = HTMLElement>(11 ref: React.Ref<T>,12 options: UseIsInViewOptions = {}13) {14 const { inView, inViewOnce = false, inViewMargin = "0px" } = options;15 const localRef = React.useRef<T>(null);16 React.useImperativeHandle(ref, () => localRef.current as T);17 const inViewResult = useInView(localRef, {18 once: inViewOnce,19 margin: inViewMargin,20 });21 const isInView = !inView || inViewResult;22 return { ref: localRef, isInView };23}2425export { type UseIsInViewOptions, useIsInView };
What it pulls in
npm packages
Files it writes
More from Sora UI
All 97 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| useAutoHeighthooks-use-auto-height | Sora UI | Hooks | Free | no deps | |
| useControlledStatehooks-use-controlled-state | Sora UI | Hooks | Free | no deps | |
| usePrefersReducedMotionhooks-use-prefers-reduced-motion | Sora UI | Hooks | Free | no deps |
