AppBar
نوار بالای صفحه: یک ردیفِ ثابت با سه ناحیه — ابتدا برای دکمهٔ برگشت/منو یا لوگو، عنوان، و انتها برای کنشها. برخلاف Toolbar که برای گروهی از دکمهٔ همردیف با ناوبری فلشی است، AppBar فقط چیدمانِ سرصفحه را میدهد؛ چیزی شبیه هدرِ اپهای موبایل.
این کامپوننت فعلاً برای ۱ فریمورک از ۴ فریمورک آماده است.
داشبورد
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
نصب
با CLI اختصاصی dig-ui کامپوننت را از رجیستری دیگ نصب کنید؛ وابستگیها و فایلها خودکار اضافه میشوند.
pnpm dlx dig-ui@latest add https://design-system-tau-green.vercel.app/r/app-bar.jsonnpx dig-ui@latest add https://design-system-tau-green.vercel.app/r/app-bar.jsonyarn dlx dig-ui@latest add https://design-system-tau-green.vercel.app/r/app-bar.jsonbunx --bun dig-ui@latest add https://design-system-tau-green.vercel.app/r/app-bar.jsonاین کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Reka UI در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Bits UI در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Angular CDK در دست کار است.
استفاده
import {
AppBar,
AppBarLeading,
AppBarTitle,
AppBarActions,
} from "@/components/ui/app-bar"
<AppBar sticky>
<AppBarLeading>…</AppBarLeading>
<AppBarTitle>عنوان صفحه</AppBarTitle>
<AppBarActions>…</AppBarActions>
</AppBar>این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Reka UI در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Bits UI در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Angular CDK در دست کار است.
ترکیب اجزا
دسترسپذیری
- خودِ AppBar یک header معنایی است؛ اگر صفحه چند header تودرتو دارد (مثل یک AppBar داخل کارت)، role را دستی به banner یا group تغییر بدهید تا فقط یک landmark banner واقعی در صفحه بماند.
- AppBarTitle یک h1 است — برای صفحهای که سرتیترِ دیگری هم دارد (مثل محتوای زیرش)، سطح h را با as یا override هماهنگ کنید تا ساختار عنوانها یکی نپرد.
- دکمههای داخل Leading/Actions که فقط آیکون دارند حتماً aria-label بگیرند؛ خودِ AppBar چیزی برایشان اضافه نمیکند.
مرجع API
AppBar
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| variant | "bordered" | "elevated" | "transparent" | "bordered" | ظاهر لبهٔ پایین: bordered خط ظریف، elevated سایه، transparent هیچکدام. |
| sticky | boolean | false | به بالای ظرفِ اسکرولشونده (یا صفحه) بچسبد. |
AppBarTitle
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| centered | boolean | false | با absolute دقیقاً وسطِ کل نوار مینشیند، نه وسطِ فضای بینِ ابتدا/انتها. |
این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Reka UI در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Bits UI در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Angular CDK در دست کار است.
نمونهها
عنوان دقیقاً وسطچین
پروفایل
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
فقط عنوان (بدون کنش)
تنظیمات
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
بدون خط جداکننده (Transparent)
فروشگاه
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
کدام نمونه برای کدام موقعیت
| نمونه | کجا به کار میآید |
|---|---|
| عنوان دقیقاً وسطچین | صفحهای که هر دو طرف (برگشت + یک کنش) دارد و عنوان باید کاملاً وسطِ نوار بماند |
| فقط عنوان (بدون کنش) | صفحهای مثل تنظیمات که فقط راه برگشت لازم دارد، نه کنش دیگری |
| بدون خط جداکننده (Transparent) | روی یک پسزمینهٔ تصویری یا هدرِ رنگی که خودش مرز بصری دارد |