Stat Tilev1.0.1
کارتِ آمارِ خلاصه: یک برچسب، یک عددِ بزرگ و روندِ تغییرِ اختیاری (٪۱۲٫۴ رشد نسبت به ماه قبل). داشبورد از قبل Progress و Meter برای نمایشِ پیشرفت داشت؛ این کامپوننت جای «Total API Calls: ۱۲۰٬۴۰۰» کنار یک روندِ رنگی را پر میکند.
این کامپوننت فعلاً برای ۱ فریمورک از ۴ فریمورک آماده است.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
نصب
با CLI اختصاصی digdesign کامپوننت را از رجیستری دیگ نصب کنید؛ وابستگیها و فایلها خودکار اضافه میشوند.
npx digdesign@latest add https://docs.digdesign.ir/r/stat-tile.jsonpnpm dlx digdesign@latest add https://docs.digdesign.ir/r/stat-tile.jsonyarn dlx digdesign@latest add https://docs.digdesign.ir/r/stat-tile.jsonbunx --bun digdesign@latest add https://docs.digdesign.ir/r/stat-tile.jsonاین کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
استفاده
import {
StatTile,
StatTileHeader,
StatTileLabel,
StatTileIcon,
StatTileValue,
StatTileTrend,
} from "@/components/ui/stat-tile"این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
ترکیب اجزا
StatTileValue با dir="ltr" و tabular-nums رندر میشود تا رقمهای فارسی هم در یک متنِ کلاً راستبهچپ، همتراز و بدون جهشعرضی باشند — همان مشکلی که در نمایشِ اعدادِ بزرگ داخل UI فارسی معمولاً دیده میشود.
StatTileTrend جهت (up/down) را از علامتِ value حدس میزند، اما برای متریکهایی که کاهششان خبرِ خوب است (نرخِ خروج، زمانِ بارگذاری) از invertColor استفاده کنید تا رنگ برعکس شود بدونِ اینکه جهتِ فلش عوض شود.
دسترسپذیری
- عدد و برچسب هر دو متن سادهاند و بدون تنظیم اضافه با صفحهخوان خوانده میشوند.
- StatTileTrend فقط با رنگ (سبز/قرمز) جهت را نشان نمیدهد؛ آیکونِ فلش هم دارد، برای کاربرانی که رنگها را بهسختی تشخیص میدهند.
مرجع API
StatTile
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| variant | "elevated" | "bordered" | "flat" | "ghost" | "elevated" | سطح ظاهریِ کارت؛ ghost بدون پسزمینه/حاشیه. |
StatTileTrend
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| value | number | — | مقدارِ تغییر؛ علامتِ عدد جهت را تعیین میکند مگر direction صریح بدهید. |
| direction | "up" | "down" | "neutral" | — | بازنویسیِ دستیِ جهت بهجای حدسزدن از روی value. |
| invertColor | boolean | false | معکوسکردنِ رنگِ سبز/قرمز برای متریکهایی که کاهششان خوب است. |
| label | React.ReactNode | — | متنِ کمکی بعد از عدد، مثلِ «نسبت به ماه قبل». |
| formatValue | (value: number) => string | — | قالببندیِ دلخواهِ عدد بهجای پیشفرضِ «+۱۲٪». |
StatTileIcon
قابِ کوچکِ گوشهٔ کارت، معمولاً کنار StatTileLabel در StatTileHeader.
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| children | React.ReactNode | — | یک svg (مثلاً از Digche)؛ اندازهاش خودکار به ۱۶px تنظیم میشود. |
این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
نمونهها
حلقه، عقربه، قیف، نوارِ هدف و نمودارِ خطی
StatTileRing برای سهمها، StatTileGauge برای ظرفیتِ باقیمانده، StatTileList برای قیف، StatTileMeter برای پیشرفت تا هدف و StatTileSparkline برای روند. در پیشخوانِ روزانه فقط یکی دو تا از اینها بس است؛ همهشان را در صفحهٔ گزارش بگذارید.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
نوار، تقسیم و نمودارِ کوچک
StatTileBar برای پیشرفت، StatTileSegments برای سهمها، StatTileChart برای مقایسهٔ دورهها (دورهٔ فعلی رنگی، بقیه خاکستری).
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
روندِ نزولی
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
رنگِ معکوس (invertColor)
برای «نرخِ خروج» یا «زمانِ بارگذاری»، پایینآمدنِ عدد خبرِ خوب است؛ invertColor رنگِ سبز/قرمز را برعکس میکند بدونِ اینکه جهتِ فلش (که واقعیتِ عدد را نشان میدهد) عوض شود.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
بدونِ روند
StatTileTrend اختیاری است؛ برای اعدادِ ایستا حذفش کنید.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
ردیفِ داشبورد
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
کدام نمونه برای کدام موقعیت
| نمونه | کجا به کار میآید |
|---|---|
| حلقه، عقربه، قیف، نوارِ هدف و نمودارِ خطی | صفحهٔ گزارشها (بلاکِ analytics) |
| نوار، تقسیم و نمودارِ کوچک | پیشخوانِ مدیریتی |
| روندِ نزولی | — |
| رنگِ معکوس (invertColor) | متریکی که کاهشاش خبرِ خوب است |
| بدونِ روند | StatTileTrend اختیاری است؛ برای اعدادِ ایستا حذفش کنید. |
| ردیفِ داشبورد | بالای صفحهٔ داشبورد، خلاصهٔ کلی |
دستورالعمل استفاده
روند را با یک بازهٔ زمانی مشخص کنید
انجام بده
برچسبِ StatTileTrend بگوید نسبت به چه چیزی («نسبت به ماه قبل»)؛ بدونِ این، عددِ روند بیمعنا میماند.
انجام نده
روندِ بدونِ برچسب، خواننده را مجبور میکند حدس بزند بازهٔ مقایسه چیست.