43 lines
743 B
Vue
43 lines
743 B
Vue
<script setup lang="ts">
|
|
defineProps<{
|
|
label: string
|
|
value: string | number
|
|
}>()
|
|
</script>
|
|
|
|
<template>
|
|
<article class="result-card">
|
|
<span class="result-label">{{ label }}</span>
|
|
<strong>{{ value }}</strong>
|
|
<slot />
|
|
</article>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.result-card {
|
|
display: grid;
|
|
gap: 6px;
|
|
padding: var(--space-4);
|
|
border-radius: var(--radius-lg);
|
|
background: var(--bg-subtle);
|
|
border: 1px solid var(--border-default);
|
|
}
|
|
|
|
.result-label {
|
|
color: var(--text-secondary);
|
|
font-size: var(--text-xs);
|
|
font-weight: 700;
|
|
}
|
|
|
|
.result-card strong {
|
|
color: var(--text-primary);
|
|
font-size: 22px;
|
|
}
|
|
|
|
.result-card :deep(p) {
|
|
margin: 0;
|
|
color: var(--text-secondary);
|
|
font-size: var(--text-sm);
|
|
}
|
|
</style>
|