egirlskey/packages/frontend/src/components/MkChartTooltip.vue

50 lines
1,008 B
Vue
Raw Normal View History

<template>
2023-05-19 04:58:09 +00:00
<MkTooltip ref="tooltip" :showing="showing" :x="x" :y="y" :maxWidth="340" :direction="'top'" :innerMargin="16" @closed="emit('closed')">
2023-01-15 00:14:17 +00:00
<div v-if="title || series">
<div v-if="title" :class="$style.title">{{ title }}</div>
<template v-if="series">
2023-01-15 00:14:17 +00:00
<div v-for="x in series">
<span :class="$style.color" :style="{ background: x.backgroundColor, borderColor: x.borderColor }"></span>
<span>{{ x.text }}</span>
</div>
</template>
</div>
</MkTooltip>
</template>
<script lang="ts" setup>
import { } from 'vue';
import MkTooltip from './MkTooltip.vue';
defineProps<{
showing: boolean;
x: number;
y: number;
2022-06-28 04:06:31 +00:00
title?: string;
series?: {
backgroundColor: string;
borderColor: string;
text: string;
}[];
}>();
const emit = defineEmits<{
(ev: 'closed'): void;
}>();
</script>
2023-01-15 00:14:17 +00:00
<style lang="scss" module>
.title {
margin-bottom: 4px;
}
2023-01-15 00:14:17 +00:00
.color {
display: inline-block;
width: 8px;
height: 8px;
border-width: 1px;
border-style: solid;
margin-right: 8px;
}
</style>