<kern-topbar>
App header: brand on the left, main navigation, tools on the right (site switch, server status, kern-theme-toggle). Put each nav link directly into the nav slot; the active one gets aria-current="page" or class active (e.g. Angular routerLinkActive="active").
menu adds a menu button before the brand that emits kernMenu, e.g. to open a side navigation on small screens; kern-app-shell sets it itself.
Examples
App header
Brand on the left, the main navigation in the nav slot and tools in the end slot. Mark the current link with aria-current="page"; keep the navigation to at most six links.
Custom brand and site switch
The brand slot replaces the default mark and app name. A small kern-select in the end slot switches between sites, a kern-language-select between languages.
Properties
appNamestring | undefined
homeHrefstring
Link of the brand.
labelMenustring | undefined
Accessible name of the menu button.
menuboolean
Shows a menu button before the brand.
menuExpandedboolean
Whether the menu the button opens is open (aria-expanded).
navLabelstring | undefined
Accessible name of the navigation.
suitestring | undefined
Muted product family before the app name, e.g. "Homelab".
Events
kernMenuCustomEvent<{ expanded: boolean; }>
The menu button was clicked.
Slots
brandReplaces the default brand (mark + app-name)
endTools, right-aligned
nav<a> elements of the main navigation (at most six)
CSS parts
barThe header bar
menuThe menu button