دکمه‌ی سه‌حالته

morph-buttonانیمیشن

یک دکمه برای عادی → در حال انجام → انجام شد؛ حالت‌ها درجا محو می‌شوند و عرض نمی‌پرد.

نصب

  1. با CLI

    اگر هنوز init نکرده‌اید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور قطعه و وابستگی‌هایش را می‌نویسد.

    $ npx vibefarsi add morph-button
  2. نصب دستی

    محتوای تب «کد» را در 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 / doneTextstring-متن دو حالت بعدی.
resetAfternumber2200میلی‌ثانیه تا برگشت به حالت عادی؛ صفر یعنی هرگز.