Components

Navigation Bar

A data-driven bottom / island navigation bar.

UiNavigationBar renders a navigation bar from an array of items — ideal for mobile bottom navigation or an island-style bar.

Add a navigation bar

<script setup lang="ts">
import type { INavItem } from '@colorffy/ui'
import { NuxtLink } from '#components'

const items: INavItem[] = [
  { id: 'home', to: '/', icon: '&#xe88a;', text: 'Home', ariaLabel: 'Home' },
  { id: 'search', to: '/search', icon: '&#xe8b6;', text: 'Search', ariaLabel: 'Search' },
  { id: 'profile', to: '/profile', icon: '&#xe853;', text: 'Profile', ariaLabel: 'Profile' },
]
</script>

<template>
  <UiNavigationBar :as="NuxtLink" :items="items" active-item="home" />
</template>

Style as a frosted island

<template>
  <UiNavigationBar :items="items" island frosted indicator-tab />
</template>

Props

PropTypeDefaultDescription
itemsINavItem[]Items: { id, to, icon, text?, ariaLabel }.
activeItemstring | nullActive item id or path.
asstring | object'a'Link component ('a', 'router-link', NuxtLink).
islandbooleanfalseIsland variant.
frostedbooleanfalseFrosted-glass effect.
indicatorTabbooleanfalseTab-style active indicator.
indicatorFrostedbooleanfalseFrosted active indicator.
Copyright © 2026