Get License
Free
Pro

Responsive Nav

<base-responsive-nav> is a progressive (priority+) navigation bar. Project <base-responsive-nav-item> children with labels and optional icons. As many items as fit stay visible; the rest spill into a More dropdown from the right as the container shrinks. Leftmost items have the highest priority and remain visible longest.

freepriority+

Live demo — resize the box

Drag the right edge of the preview (or shrink the browser window). Links peel off from the right into the chevron menu.

Hint: grab the southeast corner of the dashed box and drag horizontally.


HTML

Icons, router links, and external hrefs

Put any content inside an item — text, icons, or both. Prefer routerLink for in-app routes. Use href (and optional target) for external URLs. When both are set, routerLink wins. Use menuLabel when the overflow menu should show different text than the bar.

When to use

  • Marketing headers and toolbars with more links than a narrow viewport can show.
  • Any horizontal nav that should degrade gracefully without wrapping to a second line.
  • Pair with a mobile drawer or <base-shell> sidebar under ~991px when you hide the bar entirely on small screens.

Installation

Run the following command to add this component to your project:

bash

npx base-ui-cli add responsive-nav

API Reference

Base UI provides standalone components. Import the exact elements you want to use into your component.

typescript (Example)

import { ResponsiveNavComponent, ResponsiveNavItemComponent } from '@lussos/base-ui';

@Component({
  selector: 'app-your-component',
  imports: [
    ResponsiveNavComponent,
    ResponsiveNavItemComponent
  ],
  template: `...`
})
export class YourComponent {}

Properties for responsive-nav — generated from JSDoc in the library source.

API reference for responsive-nav
SelectorPropertyTypeDefaultDescription
base-responsive-navclassstring''Extra host classes merged via `cn()`.
base-responsive-navlinkClassunknownRESPONSIVE_NAV_DEFAULT_LINK_CLASSTailwind classes applied to each item link.
base-responsive-navmoreLabelunknown'More navigation links'Accessible label for the overflow "More" trigger button.
base-responsive-nav-itemclassstring''Extra classes merged onto the inner link/span.
base-responsive-nav-itemrouterLinkstring | readonly any[] | undefinedundefinedIn-app route (`RouterLink`). Wins over `href` when both are set.
base-responsive-nav-itemhrefstring | undefinedundefinedAbsolute or external URL when not using `routerLink`.
base-responsive-nav-itemtargetstring | undefinedundefinedOptional `target` for `href` links (e.g. `_blank`).
base-responsive-nav-itemmenuLabelstring | undefinedundefinedLabel used in the overflow "More" menu. Defaults to the projected text.

Theme Customizer

Customize your UI instantly.

Primary Color

Border Radius

Background

Mode

Copy these styles to paste into your project's global CSS and Tailwind config.