پیام متنی (Callout)
بلوک اطلاعرسانی برای نمایش پیامهای اطلاعاتی، هشدار، خطا و موفقیت
معرفی
کامپوننت Callout برای نمایش پیامهای متنی در سطح صفحه استفاده میشود. برخلاف Alert که بیشتر برای هشدارهای کوتاه است، Callout برای بلوکهای اطلاعاتی بزرگتر با عنوان و توضیحات مناسب است.
چه زمانی استفاده نکنیم:
- برای اعلانهای گذرا (transient) — از
Sonner(toast) استفاده کنید - برای خطاهای داخل فرم — از
FormMessageاستفاده کنید - برای خطاهای سطح صفحه که نیاز به اقدام دارند — از
Alertاستفاده کنید
استفاده
import { Callout, CalloutTitle, CalloutDescription } from '@parto-system-design/ui'<Callout>
<CalloutTitle>توجه</CalloutTitle>
<CalloutDescription>این یک پیام اطلاعاتی است.</CalloutDescription>
</Callout>مثالها
انواع مختلف
<div className="flex flex-col gap-4">
<Callout variant="info">
<CalloutTitle>اطلاعات</CalloutTitle>
<CalloutDescription>این قابلیت بهزودی فعال خواهد شد.</CalloutDescription>
</Callout>
<Callout variant="warning">
<CalloutTitle>هشدار</CalloutTitle>
<CalloutDescription>اعتبار حساب شما رو به اتمام است.</CalloutDescription>
</Callout>
<Callout variant="destructive">
<CalloutTitle>خطا</CalloutTitle>
<CalloutDescription>ارتباط با سرور قطع شده است.</CalloutDescription>
</Callout>
<Callout variant="success">
<CalloutTitle>موفقیت</CalloutTitle>
<CalloutDescription>تغییرات با موفقیت ذخیره شد.</CalloutDescription>
</Callout>
<Callout variant="neutral">
<CalloutTitle>یادداشت</CalloutTitle>
<CalloutDescription>این بخش در حال بروزرسانی است.</CalloutDescription>
</Callout>
</div>بدون آیکون
<Callout variant="info" icon={null}>
این پیام بدون آیکون نمایش داده میشود.
</Callout>با آیکون سفارشی
import { RocketIcon } from 'lucide-react'
;<Callout variant="info" icon={<RocketIcon className="size-5" />}>
<CalloutTitle>قابلیت جدید</CalloutTitle>
<CalloutDescription>نسخه جدید با امکانات بیشتر منتشر شد.</CalloutDescription>
</Callout>متن ساده بدون عنوان
<Callout variant="warning">لطفاً قبل از خروج تغییرات خود را ذخیره کنید.</Callout>Props
Callout
CalloutTitle
CalloutDescription
دسترسیپذیری
- حالتهای
destructiveوwarningدارایrole="alert"هستند - سایر حالتها دارای
role="note"هستند - آیکونها دارای
aria-hidden="true"هستند
راهنمای استفاده
بکنید
- از Callout برای بلوکهای اطلاعاتی که کاربر باید قبل از ادامه بخواند استفاده کنید -
variantمناسب را انتخاب کنید —infoبرای اطلاعات،warningبرای هشدار،destructiveبرای خطا - ازCalloutTitleوCalloutDescriptionبرای ساختاردهی بهتر پیام استفاده کنید
نکنید
- از Callout برای پیامهای گذرا (مثل «ذخیره شد») استفاده نکنید — از
Sonnerاستفاده کنید - بیش از ۲-۳ Callout در یک صفحه قرار ندهید — اهمیت پیامها کاهش مییابد