<template>
<button v-if="$attrs.onClick" v-tooltip="menuStore.tooltipsVisible ? slotContent : ''" class="btn label" v-bind="$attrs" :class="colors[color]">
<ui-sprite v-show="icon" class="w-3 h-3 xl:mr-2" :src="icon"></ui-sprite>
<span class="hidden xl:inline">
<slot></slot>
</span>
</button>
<i-link v-if="!$attrs.onClick && !asA" v-tooltip="menuStore.tooltipsVisible ? slotContent : ''" :href="href" class="btn label" v-bind="$attrs" :class="colors[color]">
</i-link>
<a v-if="asA" v-tooltip="menuStore.tooltipsVisible ? slotContent : ''" :href="href" target="_BLANK" class="btn label" v-bind="$attrs" :class="colors[color]">
</a>
</template>
<script>
import {menuStore} from '../../stores/menuStore.js';
export default {
props: {
asA: {
type: Boolean,
default: () => false,
},
href: {
required: false,
default: () => '#',
icon: {},
color: {},
data: function () {
return {
menuStore: menuStore(),
colors: {
primary: 'btn-primary',
warning: 'btn-warning',
info: 'btn-info',
};
computed: {
slotContent() {
return this.$slots.default()[0].children;
</script>