NavDrawer
AppHerhangi bir trigger + children'ı drawer içinde saran wrapper. Açık/kapalı state'i kendi içinde tutar. AppNav'ın mobil menüsü olarak kullanılır, bağımsız da çalışır.
<NavDrawer
title="Navigation"
side="left"
trigger={<Button variant="outline" iconLeft={<MenuIcon />}>Open menu</Button>}
footer={<Button variant="ghost" size="sm" fullWidth>Sign out</Button>}
>
<nav className="space-y-1 pt-1">
<a href="/" className="block px-3 py-2.5 rounded-lg bg-primary-subtle text-primary text-sm">Home</a>
<a href="/products" className="block px-3 py-2.5 rounded-lg text-text-primary hover:bg-surface-overlay text-sm">Products</a>
</nav>
</NavDrawer>Cart
Product A$29
Product B$49
Product C$19
Total$97
<NavDrawer
title="Cart"
side="right"
trigger={<Button variant="outline">🛒 Cart (3)</Button>}
>
{cartItems.map((item) => (
<div key={item.id} className="flex justify-between text-sm py-2">
<span>{item.name}</span><span>{item.price}</span>
</div>
))}
<Button variant="primary" fullWidth>Checkout</Button>
</NavDrawer>