دکمه کپی (Copy Button)
دکمهای برای کپی کردن متن در کلیپبورد با بازخورد بصری.
معرفی
کامپوننت CopyButton یک دکمه آماده برای کپی متن در کلیپبورد است. پس از کپی موفق، آیکون به تیک سبز تبدیل میشود و پس از مدت تعیینشده به حالت اولیه برمیگردد.
چه زمانی استفاده نکنیم:
- برای محتوای غیرمتنی (تصویر، فایل)
- برای متنهایی که کاربر باید آنها را ویرایش کند — از
Inputبا select-all استفاده کنید
استفاده
npm install @parto-system-design/ui
import { CopyButton } from '@parto-system-design/ui'
export default function MyComponent() {
return (
<div className="flex items-center gap-2 p-3 bg-surface-100 rounded-md font-mono text-sm" dir="rtl">
<span>npm install @parto-system-design/ui</span>
<CopyButton value="npm install @parto-system-design/ui" />
</div>
)
}انواع
با متن
میتوانید از children برای افزودن متن در کنار آیکون استفاده کنید.
https://parto.design/api/token/abc123
Props
راهنمای استفاده
بکنید
- از CopyButton در کنار بلوکهای کد، آدرسها یا شناسهها استفاده کنید - مقدار
valueرا دقیقاً برابر با متنی که کاربر میبیند تنظیم کنید - ازonCopyبرای نمایش toast تأیید (با Sonner) استفاده کنید
نکنید
- از CopyButton برای محتوای غیرمتنی (تصویر، فایل) استفاده نکنید - CopyButton را بدون محتوای قابل مشاهده در کنارش قرار ندهید — کاربر باید بداند چه چیزی کپی میشود
دسترسیپذیری
aria-labelبهطور خودکار بین «کپی» و «کپی شد» تغییر میکند- از Clipboard API با fallback برای مرورگرهای قدیمی پشتیبانی میکند
- با Tab قابل فوکوس و با Enter یا Space قابل فعالسازی است