1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| <script setup lang="ts">
| import type { TooltipContentProps } from 'radix-vue';
|
| import type { StyleValue } from 'vue';
|
| import type { ClassType } from '@vben-core/typings';
|
| import {
| Tooltip,
| TooltipContent,
| TooltipProvider,
| TooltipTrigger,
| } from '../../ui';
|
| interface Props {
| contentClass?: ClassType;
| contentStyle?: StyleValue;
| delayDuration?: number;
| side?: TooltipContentProps['side'];
| }
|
| withDefaults(defineProps<Props>(), {
| delayDuration: 0,
| side: 'right',
| });
| </script>
|
| <template>
| <TooltipProvider :delay-duration="delayDuration">
| <Tooltip>
| <TooltipTrigger as-child tabindex="-1">
| <slot name="trigger"></slot>
| </TooltipTrigger>
| <TooltipContent
| :class="contentClass"
| :side="side"
| :style="contentStyle"
| class="side-content text-popover-foreground bg-accent rounded-md"
| >
| <slot></slot>
| </TooltipContent>
| </Tooltip>
| </TooltipProvider>
| </template>
|
|