vue-burger-button
Version:
A Vue burger button as functional component, which is faster than a regular component, and is pretty small (JS min+gzip is lower than 700b and CSS min+gzip is lower than 400b).
113 lines (83 loc) • 2.81 kB
Markdown
# vue-burguer-button
A Vue burger button as functional component, which is faster than a regular component, and is pretty small (JS min+gzip is lower than 700b and CSS min+gzip is lower than 400b).
<img
src="https://media.giphy.com/media/9P5hgfEqZzSy2VdHiY/giphy.gif"
alt="BurgerButton GIF"
title="A GIF shows BurgerButton toggle."
style="display: block; margin: 0 auto;"
/>
## Installation
This module is published under NPM registry, so you can install from any package manager.
```sh
npm install vue-burger-button --save
# Use the command bellow for Yarn.
yarn add vue-burger-button
```
## Usage
Import the BurgerButton component and its CSS.
```vue
<template>
<burger-button
:active="isActive"
@click="isActive = !isActive"
/>
</template>
<script>
import BurgerButton from 'vue-burger-button';
export default {
components: { BurgerButton },
data: () => ({ isActive: false })
};
</script>
<style src="vue-burger-button/dist/vue-burger-button.css" />
```
### Usage as global component
If you need `<burger-button />` available everywhere, you can register it as a global component and don't forget to import its CSS.
```js
import 'vue-burger-button/dist/vue-burger-button.css';
import Vue from 'vue';
import BurgerButton from 'vue-burger-button';
Vue.component('burger-button', BurgerButton);
```
### Usage from CDN
You can import burger button UMD module and CSS from Unpkg.
```html
<!-- Import vue-burger-button CSS -->
<link rel="stylesheet" href="https://unpkg.com/vue-burger-button@0.1.0/dist/vue-burger-button.css" />
<!-- Import vue-burger-button UMD bundle -->
<script src="https://unpkg.com/vue@2.5.3"></script>
<script src="https://unpkg.com/vue-burger-button@0.1.0"></script>
<script>
/**
* vue-burger-button is available through VueBurgerButton.
*/
console.dir(VueBurgerButton);
/**
* Vue.use will add burger button as global component.
*/
Vue.component('burger-button', VueBurgerButton);
</script>
```
## Props
You can customize your burger button using props.
```vue
<template>
<burger-button
:active="isActive"
:bar-color="isActive ? 'red' : 'black'"
:bar-height="15"
:bar-width="120"
@click="isActive = !isActive"
/>
</template>
```
Name | Type | Default | Description
----------|-----------|-------------|-----------------------------------------
active | `Boolean` | `false` | If `true` it switches to a close button.
barColor | `String` | `'#000000'` | Change the bars colors.
barHeight | `Number` | `10` | Change the bars heights.
barWidth | `Number` | `80` | Change the bars widths.
## Events
The burger button emits every `<button />` events. So, you can use `@click`, `@mouseover` etc.
## License
Released under [MIT License](./LICENSE).