nb-button-hamburger

This is a hamburger button component for Vue.js 3+.

Loading component...

Installation

Yarn
yarn add @vlalg-nimbus/nb-buttons
NPM
npm install @vlalg-nimbus/nb-buttons

Usage

Vue 3
import { createApp } from 'vue'
import App from './App.vue'

import NbButtonsComponents from '@vlalg-nimbus/nb-buttons'
import "@vlalg-nimbus/nb-buttons/dist/style.css";

const app = createApp(App)
app.use(NbButtonsComponents)
app.mount('#app')
Nuxt 3
import NbButtonsComponents from '@vlalg-nimbus/nb-buttons'
import "@vlalg-nimbus/nb-buttons/dist/style.css";

export default defineNuxtPlugin(context => {
  context.vueApp.use(NbButtonsComponents)
})

To use, simply call the component, in this case it will be NbButtonHamburger or nb-button-hamburger.

Mode 1
<template>
  <NbButtonHamburger />
</template>
Mode 2
<template>
  <nb-button-hamburger />
</template>
Mode 3
<template>
  <nb-button-hamburger></nb-button-hamburger>
</template>

Preview & Playground

Select the component you want to edit/test

Loading Sandbox...

Props

Items with an (*) mean they are required

nameValue typeDefaultDescription
nbId (*)StringSets the id attribute to differentiate from other components
tabIndexNumber0Defines the tab index. Set this property to make the button focusable by the keyboard.
hasTabIndexEnterBooleantrueEnables the button to be activated with the Enter key when focused.
hasTabIndexSpaceBooleantrueEnables the button to be activated with the Space key when focused.
ariaLabelString'Alternate Text Button'Defines the aria-label attribute for screen readers.
ariaAttrsObject{}Allows passing custom aria attributes as an object. Keys will automatically receive the aria- prefix. Example: { 'describedby': 'help-id', 'invalid': 'false' }
themeString'light'Defines the theme. Accepts dark and light. When theme is set, uses theme-specific color props.
statusBooleanfalseDefines the button status (clicked/unclicked)
paddingXNumber3Defines button padding-left and padding-right.
paddingYNumber3Defines button padding-top and padding-button.
disabledBooleanfalseDefines if the button is disabled
lightColorString'#333333'Defines the icon color for light theme. Accepts Color name and Hex
lightColorHoverString'#000000'Defines the icon color on hover for light theme. Accepts Color name and Hex
lightContainerColorString'#f5f5f5'Defines the background color for light theme. Accepts Color name and Hex
lightContainerColorHoverString'#e0e0e0'Defines the background color on hover for light theme. Accepts Color name and Hex
lightDisabledBgColorString'#dfdfd9'Defines the disabled background color for light theme. Accepts Color name and Hex
darkColorString'#e0e0e0'Defines the icon color for dark theme. Accepts Color name and Hex
darkColorHoverString'#ffffff'Defines the icon color on hover for dark theme. Accepts Color name and Hex
darkContainerColorString'#2d2d2d'Defines the background color for dark theme. Accepts Color name and Hex
darkContainerColorHoverString'#3d3d3d'Defines the background color on hover for dark theme. Accepts Color name and Hex
darkDisabledBgColorString'rgba(40, 42, 54, 1)'Defines the disabled background color for dark theme. Accepts Color name and Hex

Events

nameReturn typeDescription
clickednothingFired when the button is clicked, returns nothing.

Example

Light Theme (default)

<template>
  <NbButtonHamburger
    nb-id="nb-button-hamburger-light"
    theme="light"
    light-color="#1e40af"
    light-color-hover="#000000"
    light-container-color="#93c5fd"
    light-container-color-hover="#60a5fa"
    :padding-x="3"
    :padding-y="3"
    @clicked="logEvent()"
  />
</template>

<script setup>
defineOptions({
  name: 'CompHamburger',
});

const logEvent = () => {
  console.log('clicked');
};
</script>

Dark Theme

<template>
  <NbButtonHamburger
    nb-id="nb-button-hamburger-dark"
    theme="dark"
    dark-color="#a78bfa"
    dark-color-hover="#ffffff"
    dark-container-color="#8b5cf6"
    dark-container-color-hover="#7c3aed"
    :padding-x="3"
    :padding-y="3"
    @clicked="logEvent()"
  />
</template>

<script setup>
defineOptions({
  name: 'CompHamburgerDark',
});

const logEvent = () => {
  console.log('clicked');
};
</script>