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, PubNavbarLogo, PubNavbarCollapse, PubNavbarLink } 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, PubNavbarLogo, PubNavbarCollapse, PubNavbarLink } 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 theme="blue">
                Get started
            </pub-button>
        </template>
    </pub-navbar>
</template>

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

Reference

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.

Released under the MIT License.