Navbar
Horizontal navigation bar with customizable slots.
Basic Navbar
A navbar with start, center, and end slots.
R
RailsViewKit
<%= render Rvk::NavbarComponent.new do |navbar| %>
<% navbar.with_start do %>
<div class="flex items-center gap-2">
<div class="w-8 h-8 bg-primary-600 rounded-lg"></div>
<span class="font-semibold">Brand</span>
</div>
<% end %>
<% navbar.with_center do %>
<nav class="hidden md:flex items-center gap-6">
<a href="#">Home</a>
<a href="#">Products</a>
</nav>
<% end %>
<% navbar.with_end_content do %>
<%= render Rvk::ButtonComponent.new(size: :sm).with_content("Sign In") %>
<% end %>
<% end %>
With Search
Add a search bar in the center slot.
App
JD
<%= render Rvk::NavbarComponent.new do |navbar| %>
<% navbar.with_start do %>
<!-- Logo -->
<% end %>
<% navbar.with_center do %>
<div class="relative max-w-md w-full">
<input type="search" placeholder="Search..." class="w-full pl-10 pr-4 py-2" />
</div>
<% end %>
<% navbar.with_end_content do %>
<%= render Rvk::IconButtonComponent.new do %>
<%= render Rvk::IconComponent.new(name: :bell) %>
<% end %>
<%= render Rvk::AvatarComponent.new(initials: "JD", size: :sm) %>
<% end %>
<% end %>
Slots
| Slot | Description |
|---|---|
| start | Left side content (logo, menu toggle) |
| center | Center content (navigation links, search) |
| end_content | Right side content (user menu, actions) |
Usage Tips
- Add
sticky top-0 z-30for fixed positioning - Use
border-b border-surface-200for a bottom border - Combine with Sidebar for app layouts
- Hide center content on mobile with
hidden md:flex