Close Buttonv1.0.0
یک دکمهٔ گرد فقط-آیکون برای بستن؛ برای بنر، کارت اعلان یا هر سطحی که نمیخواهید از Dialog/Sheet آماده استفاده کنید.
این کامپوننت فعلاً برای ۱ فریمورک از ۴ فریمورک آماده است.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
نصب
با CLI اختصاصی digdesign کامپوننت را از رجیستری دیگ نصب کنید؛ وابستگیها و فایلها خودکار اضافه میشوند.
npx digdesign@latest add https://docs.digdesign.ir/r/close-button.jsonpnpm dlx digdesign@latest add https://docs.digdesign.ir/r/close-button.jsonyarn dlx digdesign@latest add https://docs.digdesign.ir/r/close-button.jsonbunx --bun digdesign@latest add https://docs.digdesign.ir/r/close-button.jsonاین کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
استفاده
import { CloseButton } from "@/components/ui/close-button"
<CloseButton onClick={() => setOpen(false)} />این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
ترکیب اجزا
CloseButton یک دکمهٔ مستقل است، نه بخشی از Dialog/Sheet/AlertDialog؛ آنها دکمهٔ بستنِ خودشان را دارند.
این کامپوننت برای سطوح سفارشی (بنر، کارت اعلان، Surface) است که خودتان state باز/بسته را مدیریت میکنید.
دسترسپذیری
- aria-label پیشفرض «بستن» دارد؛ برای زمینههای خاصتر (مثل «بستن اعلان») مقدار label را عوض کنید.
- هاور، فشرده و غیرفعال با تغییر رنگ پیاده شده، نه کاهش opacity؛ روی هر رنگ زمینهای (کارت رنگی، توست) ظاهر یکسان و خوانا میماند.
- رنگهای info تا destructive فقط تزئینیاند؛ معنای پیام از خودِ بنر یا اعلان میآید، پس aria-label را به رنگ وابسته نکنید.
مرجع API
CloseButton
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| variant | "ghost" | "outline" | "ghost" | ghost فقط آیکون با پسزمینهٔ هاور؛ outline کادردار با گوشهٔ گرد. |
| color | "default" | "info" | "success" | "warning" | "destructive" | "default" | رنگ آیکون و پسزمینهٔ هاور؛ همرنگِ بنر یا اعلانی که رویش نشسته. |
| size | "sm" | "md" | "lg" | "md" | اندازهٔ دکمه و آیکون. |
| label | string | "بستن" | متن aria-label. |
این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
نمونهها
رنگها
color فقط رنگ آیکون و پسزمینهٔ هاور را عوض میکند. روی بنر info، دکمهٔ info بگذارید تا خاکستریِ پیشفرض روی زمینهٔ آبی بیربط دیده نشود.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
کادردار (Outline)
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
اندازهها
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
داخل کارت
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
غیرفعال (Disabled)
دکمهٔ بستن را پنهان نکنید؛ غیرفعالش کنید تا کاربر بداند چرا نمیتواند ببندد.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
کدام نمونه برای کدام موقعیت
| نمونه | کجا به کار میآید |
|---|---|
| رنگها | دکمهٔ بستن روی بنر یا اعلانِ رنگی، همرنگ همان پیام |
| کادردار (Outline) | بستنِ پنل یا تصویر روی سطح شلوغ که دکمه باید مرز مشخص داشته باشد |
| اندازهها | هماهنگکردن دکمهٔ بستن با اندازهٔ سطحی که رویش نشسته |
| داخل کارت | بستن یک کارت اعلان بدون بستن کل بخش |
| غیرفعال (Disabled) | دیالوگی که وسط ذخیره نباید بسته شود |