دکمهی سهحالته
morph-buttonانیمیشنیک دکمه برای عادی → در حال انجام → انجام شد؛ حالتها درجا محو میشوند و عرض نمیپرد.
نصب
با CLI
اگر هنوز init نکردهاید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور قطعه و وابستگیهایش را مینویسد.
$ npx vibefarsi add morph-buttonنصب دستی
محتوای تب «کد» را در
components/animations/morph-button.tsxبگذارید.$ npm i lucide-reactکپی کل فایلregistry json
استفاده
usage.tsx
1import { MorphButton } from "@/components/animations/morph-button"23<MorphButton onAction={() => subscribe(email)} loadingText="در حال ثبت…" doneText="ثبت شد">خبرم کن</MorphButton>پراپها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| onAction | () => Promise<unknown> | void | - | تا resolve شود، حالت «در حال انجام» میماند. |
| loadingText / doneText | string | - | متن دو حالت بعدی. |
| resetAfter | number | 2200 | میلیثانیه تا برگشت به حالت عادی؛ صفر یعنی هرگز. |