پرتو اتصال
animated-beamانیمیشنمنحنیای بین دو عنصر که نبض نور روی آن حرکت میکنه، برای نمایش یکپارچهسازیها.
نصب
با CLI
اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگیهاش را مینویسه.
$ npx vibefarsi add animated-beamنصب دستی
محتوای تب «کد» را در
components/animations/animated-beam.tsxبگذارید. کلیدفریم را هم بهglobals.cssاضافه کنید.$ npm i lucide-reactکپی کل فایلregistry json
استفاده
usage.tsx
1import { AnimatedBeam } from "@/components/animations/animated-beam"23const box = useRef(null), a = useRef(null), b = useRef(null)45<div ref={box} className="relative">6 <div ref={a}>…</div><div ref={b}>…</div>7 <AnimatedBeam containerRef={box} fromRef={a} toRef={b} curvature={-40} />8</div>پراپها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| containerRef / fromRef / toRef | RefObject | - | ظرف relative و دو انتها. |
| curvature | number | 0 | خمیدگی به پیکسل. مقدار مثبت رو به پایین خم میشه. |
| duration / delay | number | 4 / 0 | ثانیه. |
| reverse | boolean | false | نور از مقصد به مبدأ. |
نکتهها
- با pathLength=100 محاسبهی dash از طول واقعی مسیر مستقله و نیازی به getTotalLength نیست.
- خط با z-index منفی زیر دو سر مینشینه. به ظرف relative isolate بدید تا پشت پسزمینهی ظرف نره.