Toolbar

Application toolbar for top-level navigation. Like Angular Material's mat-toolbar, it uses content projection with named slots for brand, navigation links, and actions.

InputTypeDefaultDescription
color'default' | 'primary' | 'accent''default'Bar color variant
densebooleanfalseCompact height
fixedbooleantrueFix to viewport top
SlotDescription
[toolbarStart]Left-aligned content (logo, brand, hamburger)
defaultCenter / free-form content (nav links, search)
[toolbarEnd]Right-aligned content (user menu, theme toggle, actions)

Import

typescript
import { NgOatToolbar, NgOatToolbarRow } from '@letsprogram/ng-oat';

@Component({
  imports: [NgOatToolbar, NgOatToolbarRow],
  template: `
    <ng-oat-toolbar>
      <strong toolbarStart>🌾 Brand</strong>
      <nav>Links</nav>
      <button toolbarEnd>Actions</button>
    </ng-oat-toolbar>
  `,
})
export class MyComponent {}

Basic Toolbar

html
<ng-oat-toolbar>
  <strong toolbarStart>🌾 MyApp</strong>
  <nav class="hstack gap-3">
    <a routerLink="/home">Home</a>
    <a routerLink="/about">About</a>
    <a routerLink="/contact">Contact</a>
  </nav>
  <span toolbarEnd class="hstack gap-2">
    <ng-oat-theme-selector />
    <button class="ghost">👤</button>
  </span>
</ng-oat-toolbar>

With User Menu

html
<ng-oat-toolbar>
  <strong toolbarStart>🚀 Dashboard</strong>
  <nav class="hstack gap-3">
    <a routerLink="/projects">Projects</a>
    <a routerLink="/analytics">Analytics</a>
  </nav>
  <ng-oat-dropdown toolbarEnd>
    <button trigger class="ghost">👤 Jane ▾</button>
    <a role="menuitem">Profile</a>
    <a role="menuitem">Settings</a>
    <hr />
    <a role="menuitem">Log out</a>
  </ng-oat-dropdown>
</ng-oat-toolbar>

Primary Color

html
<ng-oat-toolbar color="primary">
  <strong toolbarStart>🎨 Themed</strong>
  <span>Primary toolbar with accent background</span>
  <button toolbarEnd class="ghost">Actions</button>
</ng-oat-toolbar>

Dense

html
<ng-oat-toolbar [dense]="true">
  <strong toolbarStart>📐 Compact</strong>
  <span>A shorter, denser toolbar</span>
</ng-oat-toolbar>