Notificationv1.0.0
کارتِ پررنگ برای خبری که باید دیده شود: آیکون، عنوان و توضیحِ کوتاه با زمینهٔ تمامرنگ، دکمهٔ بستن در انتها، یا یک ستونِ دوکنشی («بروزرسانی» و «انصراف») وقتی کاربر باید تصمیم بگیرد.
این کامپوننت فعلاً برای ۱ فریمورک از ۴ فریمورک آماده است.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
نصب
با CLI اختصاصی digdesign کامپوننت را از رجیستری دیگ نصب کنید؛ وابستگیها و فایلها خودکار اضافه میشوند.
npx digdesign@latest add https://docs.digdesign.ir/r/notification.jsonpnpm dlx digdesign@latest add https://docs.digdesign.ir/r/notification.jsonyarn dlx digdesign@latest add https://docs.digdesign.ir/r/notification.jsonbunx --bun digdesign@latest add https://docs.digdesign.ir/r/notification.jsonاین کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
استفاده
import { Notification } from "@/components/ui/notification"
<Notification
title="نسخهٔ تازه آماده است"
description="سعی کنید همین حالا بهروزش کنید."
actions={[
{ label: "بروزرسانی", onClick: update },
{ label: "انصراف", onClick: dismiss },
]}
/>این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
ترکیب اجزا
کارت یک ردیف است: آیکون در ابتدا، محتوا (عنوان و توضیح) در میانه و در انتها یا دکمهٔ بستن یا ستونِ کنشها. همه با پراپ روشن میشوند: title، description، icon، dismissible و actions. بدونِ title، توضیح بهعنوانِ پیامِ اصلی با اندازهٔ عادی میآید، مثل حالتِ دوکنشی.
actions حداکثر دو دکمه میگیرد که روی هم مینشینند و با خط از متن و از یکدیگر جدا میشوند. رنگها همان شش رنگِ Alert هستند و متنِ توضیح، جداکننده و هاور از خودِ رنگ ساخته میشوند. برای پیامِ ایستا و ملایمِ داخلِ صفحه Alert و برای خبرِ تکخطی Visual Bell مناسبتر است.
دسترسپذیری
- کارت role=status دارد و صفحهخوان آن را بدون قطعِ کاربر میخواند؛ رنگِ destructive از role=alert استفاده میکند تا فوری اعلام شود.
- معنا فقط با رنگ منتقل نمیشود: هر رنگ آیکونِ مخصوص دارد و عنوان و توضیح نوعِ خبر را میگویند.
- دکمههای کنش و بستن دکمهٔ واقعیاند، با Tab و Enter کار میکنند و فوکوسشان دیده میشود؛ دکمهٔ بستن برچسبِ «بستن» دارد.
- نام کنشها را با فعلِ همان کار بنویسید («بروزرسانی»)، نه «تایید»، چون کاربرِ صفحهخوان معمولاً فقط دکمهها را میشنود.
مرجع API
Notification
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| color | "default" | "primary" | "info" | "success" | "warning" | "destructive" | "default" | رنگِ معنایی کارت؛ آیکونِ پیشفرض هم از روی آن انتخاب میشود. |
| radius | "none" | "sm" | "md" | "lg" | "full" | "lg" | گردیِ گوشهها. |
| title | React.ReactNode | — | عنوانِ پررنگ؛ بدونش، description پیامِ اصلی میشود و با اندازهٔ عادی میآید. |
| description | React.ReactNode | — | توضیحِ کوتاهِ زیرِ عنوان. |
| icon | React.ReactNode | false | — | آیکونِ ابتدای کارت؛ ندهید تا آیکونِ همرنگ بیاید، false یعنی بدون آیکون. |
| actions | { label: React.ReactNode; onClick?: (event) => void }[] | — | ستونِ کنشها در انتها؛ حداکثر دو دکمه که روی هم مینشینند. |
| dismissible | boolean | false | دکمهٔ بستن را در انتها نشان میدهد و با کلیک کارت را از DOM برمیدارد. |
| open / defaultOpen / onOpenChange | boolean / boolean / (open: boolean) => void | defaultOpen: true | نمایشِ کنترلشده یا کنترلنشده؛ onOpenChange هنگام بستن با false صدا زده میشود. |
این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
نمونهها
Colors
چهار رنگِ اصلی با عنوان و توضیح و دکمهٔ بستن؛ آیکونِ هر رنگ خودکار انتخاب میشود.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
Two Buttons
actions یک ستونِ دوکنشی در انتها میگذارد؛ بدونِ عنوان، پیام در یک یا چند خط و با اندازهٔ عادی میآید.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
Message Only
فقط description بدهید؛ آیکون و رنگ همچنان نوع را میرسانند.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
Custom Icon
icon هر عنصرِ SVG یا آیکونی را میپذیرد؛ icon={false} آیکون را برمیدارد.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
Controlled
با open و onOpenChange، صفحه تصمیم میگیرد اعلان کِی دیده شود و بعد از بستهشدن دوباره نشانش بدهد.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
کدام نمونه برای کدام موقعیت
| نمونه | کجا به کار میآید |
|---|---|
| Colors | شدتِ خبر: خنثی، موفق، هشدار یا خطا |
| Two Buttons | خبری که تصمیمِ کاربر میخواهد |
| Message Only | خبرِ یکخطی بدونِ عنوان |
| Custom Icon | اعلانِ مخصوصِ یک ویژگی یا برند |
| Controlled | صفحه نمایشِ اعلان را کنترل میکند |
دستورالعمل استفاده
عنوانِ کوتاه، توضیحِ یکخطی
انجام بده
عنوان خبر را بگوید و توضیح فقط یک جمله پیامدش را؛ خواننده در یک نگاه میفهمد.
انجام نده
پاراگرافِ بلند در کارت خستهکننده است و عنوان و توضیح تکرار میشوند؛ متنِ بلند جای صفحهٔ راهنماست.
دو کنش فقط برای یک تصمیم
انجام بده
وقتی کاربر باید بین دو راه انتخاب کند («بروزرسانی» یا «انصراف») از ستونِ کنشها استفاده کنید.
انجام نده
اعلانِ صرفاً خبری با دو دکمهٔ بیمعنا تصمیمی از کاربر نمیخواهد و فقط شلوغ میکند؛ دکمهٔ بستن کافی است.