Skip to content

PubNavbar

This is a navbar component which can be used to display a navigation menu in a header. It can be customized with various styles and features such as sticky behavior, rounded corners, and a solid background. Additionally, it can include a logo, a menu icon for mobile view, and a dropdown menu for larger screens.

Default Usage

vue
<template>
  <pub-navbar>
    <template #logo>
      <pub-navbar-logo>
        Vuelicity
      </pub-navbar-logo>
    </template>
    <template #default="{ isShowMenu }">
      <pub-navbar-collapse :is-show-menu="isShowMenu">
        <pub-navbar-link
          is-active
          link="#"
        >
          Home
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Services
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Pricing
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Contact
        </pub-navbar-link>
      </pub-navbar-collapse>
    </template>
  </pub-navbar>
</template>

<script lang="ts" setup>
import { PubNavbar, PubNavbarCollapse, PubNavbarLink, PubNavbarLogo } from 'vuelicity'
</script>

Solid background

vue
<template>
  <pub-navbar solid>
    <template #logo>
      <pub-navbar-logo>
        Vuelicity
      </pub-navbar-logo>
    </template>
    <template #default="{ isShowMenu }">
      <pub-navbar-collapse :is-show-menu="isShowMenu">
        <pub-navbar-link
          is-active
          link="#"
        >
          Home
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Services
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Pricing
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Contact
        </pub-navbar-link>
      </pub-navbar-collapse>
    </template>
  </pub-navbar>
</template>

<script lang="ts" setup>
import { PubNavbar, PubNavbarCollapse, PubNavbarLink, PubNavbarLogo } from 'vuelicity'
</script>
vue
<template>
  <pub-navbar>
    <template #logo>
      <pub-navbar-logo> Vuelicity </pub-navbar-logo>
    </template>

    <template #default="{ isShowMenu }">
      <pub-navbar-collapse :is-show-menu="isShowMenu">
        <pub-navbar-link
          is-active
          link="#"
        >
          Home
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Services
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Pricing
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Contact
        </pub-navbar-link>
        <pub-dropdown
          color="none"
          text="Profile"
          type="navlink"
        >
          <nav class="py-2 text-sm text-grey-700">
            <a
              href="#"
              class="block px-4 py-2 hover:bg-grey-100"
            > Dashboard </a>
            <a
              href="#"
              class="block px-4 py-2 hover:bg-grey-100"
            > Settings </a>
            <a
              href="#"
              class="block px-4 py-2 hover:bg-grey-100"
            > Earnings </a>
          </nav>
        </pub-dropdown>
      </pub-navbar-collapse>
    </template>
  </pub-navbar>
</template>

<script lang="ts" setup>
import { PubDropdown, PubNavbar, PubNavbarCollapse, PubNavbarLink, PubNavbarLogo } from 'vuelicity'
</script>
vue
<template>
  <pub-navbar>
    <template #logo>
      <pub-navbar-logo>
        Vuelicity
      </pub-navbar-logo>
    </template>

    <template #default="{ isShowMenu }">
      <pub-navbar-collapse :is-show-menu="isShowMenu">
        <pub-navbar-link
          is-active
          link="#"
        >
          Home
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Services
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Pricing
        </pub-navbar-link>
        <pub-navbar-link link="#">
          Contact
        </pub-navbar-link>
      </pub-navbar-collapse>
    </template>

    <template #right-side>
      <pub-button color="blue">
        Get started
      </pub-button>
    </template>
  </pub-navbar>
</template>

<script lang="ts" setup>
import { PubButton, PubNavbar, PubNavbarCollapse, PubNavbarLink, PubNavbarLogo } from 'vuelicity'
</script>

Reference

PubNavbar

Properties

NameTypeDefaultDescriptionOptions
classString''Additional CSS classes to apply.
containerClassString''Additional CSS classes to apply to the container.
stickyBooleanfalseWhether the navbar should be sticky.
roundedBooleanfalseWhether the navbar should have rounded corners.
solidBooleanfalseWhether the navbar should have a solid background.
themeString'default'The theme of the navbar.'default', 'light', 'dark'

Slots

NameDescription
logoSlot for the logo.
menu-iconSlot for the menu icon (mobile view).
defaultDefault slot for navbar content.
right-sideSlot for content on the right side of the navbar.

Properties

NameTypeDefaultDescriptionOptions
linkString''The URL to navigate to when the logo is clicked.
imageUrlString''The URL of the logo image.
altString''Alternative text for the logo image.
asString'a'The HTML element to use for the logo.'a', 'router-link'
linkAttrString'href'The attribute to use for the link.'href', 'to'

Slots

NameDescription
defaultDefault slot for logo content.

PubNavbarCollapse

Properties

NameTypeDefaultDescriptionOptions
classString''Additional CSS classes to apply.
isShowMenuBooleanfalseWhether the menu should be shown.

Slots

NameDescription
defaultDefault slot for menu content.

Properties

NameTypeDefaultDescriptionOptions
linkString''The URL to navigate to when the link is clicked.
asString'a'The HTML element to use for the link.'a', 'button'
linkAttrString'href'The attribute to use for the link.'href', 'to'
isActiveBooleanfalseWhether the link is active.
disabledBooleanfalseWhether the link is disabled.
classString''Additional CSS classes to apply.

Slots

NameDescription
defaultDefault slot for link content.

Released under the MIT License.