2022-06-01 10:15:55 +03:00

51 lines
1.2 KiB
Vue

<template>
<component :is="tag"
class="badge"
:class="
[`badge-${type}`,
rounded ? `badge-pill` : '',
circle && 'badge-circle',
{[`badge-${size}`]: size},
]">
<slot>
<i v-if="icon" :class="icon"></i>
</slot>
</component>
</template>
<script>
export default {
name: "badge",
props: {
tag: {
type: String,
default: "span",
description: "Html tag to use for the badge."
},
rounded: {
type: Boolean,
default: false,
description: "Whether badge is of pill type"
},
circle: {
type: Boolean,
default: false,
description: "Whether badge is circle"
},
icon: {
type: String,
default: "",
description: "Icon name. Will be overwritten by slot if slot is used"
},
type: {
type: String,
default: "default",
description: "Badge type (primary|info|danger|default|warning|success)"
},
size: {
type: String,
description: 'Badge size (md, lg)',
default: ''
}
}
};
</script>