add outer label

This commit is contained in:
hirakei1203
2022-10-28 23:11:31 +09:00
parent a8cfc85b36
commit 910541c061
2 changed files with 50 additions and 18 deletions

View File

@@ -1,6 +1,16 @@
<template>
<div class="w-full bg-gray-200 rounded-full dark:bg-gray-700" :class="outerClass">
<div class="rounded-full" :class="wrapperClasses" style="width: 45%"></div>
<template v-if="label || (labelProgress && labelPosition === 'outside')">
<div class="flex justify-between mb-1">
<span v-show="label || (labelProgress && labelPosition === 'outside')" class="text-base font-medium" :class="outsideLabelClasses">{{ label }}</span>
<span v-if="labelProgress && labelPosition === 'outside'" class="text-sm font-medium" :class="outsideLabelClasses">45%</span>
</div>
</template>
<div class="w-full bg-gray-200 rounded-full dark:bg-gray-700" :class="outerClasses">
<div class="rounded-full font-medium text-blue-100 text-center p-0.5" :class="innerClasses" style="width: 45%">
<template v-if="labelProgress && labelPosition === 'inside'">
{{ progress }}%
</template>
</div>
</div>
</template>
<script lang="ts" setup>
@@ -15,26 +25,26 @@ const props = defineProps({
},
label: {
type: String,
default: 'progressbar',
default: 'rate',
},
labelPosition: {
type: String, // 'inside' | 'outside' | 'none'
default: 'none',
default: 'inside',
},
labelProgress: {
type: Boolean,
default: false,
default: true,
},
progress: {
type: Number,
default: 0,
default: 55,
},
size: {
type: String, // 'sm' | 'md' | 'lg' | 'xl'
default: 'lg',
default: 'md',
},
})
const { wrapperClasses, outerClass } = useProgressClasses(toRefs(props))
const { innerClasses, outerClasses, outsideLabelClasses } = useProgressClasses(toRefs(props))
</script>