پرتوپرتو

نوار بالا (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 اکشن‌ها نگذارید — اضافات را در منو قرار دهید

جدول ویژگی‌ها

Prop

Type

دسترسی‌پذیری

  • از المنت <header> با role ضمنی banner استفاده می‌کند
  • slot ناوبری با aria-label="ناوبری اصلی" مشخص شده است
  • با Tab بین slot ها قابل ناوبری است

کامپوننت‌های مرتبط