<template> <text v-if="text" :class="inverted ? 'uni-badge-' + type + ' uni-badge--' + size + ' uni-badge-inverted' : 'uni-badge-' + type + ' uni-badge--' + size" class="uni-badge" @click="onClick()">{{ text }}</text> </template> <script> export default { name: 'UniBadge', props: { type: { type: String, default: 'default' }, inverted: { type: Boolean, default: false }, text: { type: [String, Number], default: '' }, size: { // small.normal type: String, default: 'normal' } }, methods: { onClick() { this.$emit('click') } } } </script> <style> @charset "UTF-8"; .uni-badge { font-family: 'Helvetica Neue', Helvetica, sans-serif; box-sizing: border-box; font-size: 12px; line-height: 1; display: inline-block; padding: 3px 6px; color: #333; border-radius: 100px; background-color: #f1f1f1 } .uni-badge.uni-badge-inverted { padding: 0 5px 0 0; color: #999; background-color: transparent } .uni-badge-primary { color: #fff; background-color: #007aff } .uni-badge-primary.uni-badge-inverted { color: #007aff; background-color: transparent } .uni-badge-success { color: #fff; background-color: #4cd964 } .uni-badge-success.uni-badge-inverted { color: #4cd964; background-color: transparent } .uni-badge-warning { color: #fff; background-color: #f0ad4e } .uni-badge-warning.uni-badge-inverted { color: #f0ad4e; background-color: transparent } .uni-badge-error { color: #fff; background-color: #dd524d } .uni-badge-error.uni-badge-inverted { color: #dd524d; background-color: transparent } .uni-badge--small { transform: scale(.8); transform-origin: center center } </style>