vuepress-theme-reco/global-components/Badge.vue

46 lines
832 B
Vue
Raw Normal View History

2019-04-15 10:35:40 +08:00
<script>
export default {
functional: true,
props: {
type: {
type: String,
default: 'tip'
},
text: String,
vertical: {
type: String,
default: 'top'
}
},
render (h, { props, slots }) {
return h('span', {
class: ['badge', props.type],
style: {
verticalAlign: props.vertical
}
}, props.text || slots().default)
}
}
</script>
<style lang="stylus" scoped>
@require '../styles/mode.styl'
2019-04-15 10:35:40 +08:00
.badge
display inline-block
font-size 14px
height 18px
line-height 18px
border-radius $borderRadius
2019-04-15 10:35:40 +08:00
padding 0 6px
color white
background-color #42b983
&.tip, &.green
background-color #42b983
&.error
background-color #DA5961
2019-04-15 10:35:40 +08:00
&.warning, &.warn, &.yellow
background-color darken(#ffe564, 35%)
& + &
margin-left 5px
</style>