نوار بالا (App Bar)
نوار بالایی اپلیکیشن برای ناوبری، جستجو، و دسترسی سریع به اکشنها — sticky و RTL-native
معرفی
AppBar یک هدر چسبنده (sticky) در بالای صفحه است که پنج slot مستقل دارد: لوگو، ناوبری، جستجو، اکشنها، و کاربر.
چه زمانی استفاده کنیم
- در صفحاتی که نیاز به ناوبری سراسری دارند
- کنار
Sidebarبرای یک layout کامل داشبورد - وقتی میخواهید جستجو یا اکشنهای سریع همیشه در دسترس باشند
چه زمانی استفاده نکنیم
- برای هدرهای درونصفحهای از
PageHeaderاستفاده کنید - اگر صفحهای ساده است و ناوبری سراسری نیاز ندارد
پارتو
م
استفاده
import { AppBar, Button, Avatar, AvatarFallback } from '@parto-system-design/ui'
import { Bell, HelpCircle } from 'lucide-react'
export default function Layout() {
return (
<AppBar
logo={<span className="font-bold text-foreground">پارتو</span>}
actions={
<>
<Button variant="ghost" size="icon">
<HelpCircle />
</Button>
<Button variant="ghost" size="icon">
<Bell />
</Button>
</>
}
user={
<Avatar>
<AvatarFallback>م</AvatarFallback>
</Avatar>
}
/>
)
}با Sidebar
import { AppBar, SidebarProvider, Sidebar, SidebarInset, PageHeader } from '@parto-system-design/ui'
export default function DashboardLayout({ children }) {
return (
<>
<AppBar logo={<BrandLogo />} user={<UserMenu />} />
<SidebarProvider>
<Sidebar>{/* آیتمهای منوی سایدبار */}</Sidebar>
<SidebarInset>
<PageHeader title="داشبورد" />
{children}
</SidebarInset>
</SidebarProvider>
</>
)
}حالتها و اندازهها
sm
md
lg
سه اندازه برای AppBar تعریف شده:
| اندازه | ارتفاع | کاربرد |
|---|---|---|
sm | ۴۸px | پیشفرض — فضای محدود، داشبورد فشرده |
md | ۵۶px | اکثر اپلیکیشنها |
lg | ۶۴px | وقتی لوگو بزرگتری دارید |
<AppBar size="lg" logo={<LargeLogo />} />راهنمای استفاده
بکنید
- ترتیب slot ها در RTL خودکار است — نیازی به تنظیم دستی ندارید - از AppBar همراه با
Sidebarبرای layout کامل داشبورد استفاده کنید - slot جستجو را برای دسترسی سریع کاربر فعال نگه دارید
نکنید
- از
position: fixedدستی روی محتوا استفاده نکنید — AppBar باsticky top-0 z-stickyکار میکند - بیش از ۳-۴ اکشن در slot اکشنها نگذارید — اضافات را در منو قرار دهید
جدول ویژگیها
دسترسیپذیری
- از المنت
<header>با role ضمنیbannerاستفاده میکند - slot ناوبری با
aria-label="ناوبری اصلی"مشخص شده است - با
Tabبین slot ها قابل ناوبری است
کامپوننتهای مرتبط
- سایدبار (Sidebar) — وقتی ناوبری عمودی در کنار AppBar نیاز دارید برای layout کامل داشبورد
- سربرگ صفحه (PageHeader) — وقتی به هدر سطح صفحه نیاز دارید، نه هدر سطح اپلیکیشن
- نوار آدرس (Breadcrumb) — میتوانید در slot
navقرار دهید تا مسیر ناوبری در AppBar نمایش داده شود