2024-04-19 16:13:08 +02:00
|
|
|
<script lang="ts">
|
2025-02-02 11:17:22 +01:00
|
|
|
import * as Tooltip from '$lib/components/ui/tooltip/index.js';
|
2025-10-18 18:51:11 +02:00
|
|
|
import type { Snippet } from 'svelte';
|
2024-04-21 16:40:28 +02:00
|
|
|
|
2025-10-18 18:51:11 +02:00
|
|
|
let {
|
|
|
|
|
label,
|
|
|
|
|
side = 'top',
|
|
|
|
|
children,
|
|
|
|
|
extra,
|
|
|
|
|
class: className = '',
|
|
|
|
|
}: {
|
|
|
|
|
label: string;
|
|
|
|
|
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
|
|
|
children: Snippet;
|
|
|
|
|
extra?: Snippet;
|
|
|
|
|
class?: string;
|
|
|
|
|
} = $props();
|
2024-04-19 16:13:08 +02:00
|
|
|
</script>
|
|
|
|
|
|
2025-06-21 21:07:36 +02:00
|
|
|
<Tooltip.Provider>
|
|
|
|
|
<Tooltip.Root>
|
2025-10-18 18:51:11 +02:00
|
|
|
<Tooltip.Trigger class={className} aria-label={label}>
|
|
|
|
|
{@render children()}
|
2025-06-21 21:07:36 +02:00
|
|
|
</Tooltip.Trigger>
|
|
|
|
|
<Tooltip.Content {side}>
|
2025-10-18 18:51:11 +02:00
|
|
|
<div class="flex flex-row items-center gap-2">
|
2025-06-21 21:07:36 +02:00
|
|
|
<span>{label}</span>
|
2025-10-18 18:51:11 +02:00
|
|
|
{@render extra?.()}
|
2025-06-21 21:07:36 +02:00
|
|
|
</div>
|
|
|
|
|
</Tooltip.Content>
|
|
|
|
|
</Tooltip.Root>
|
|
|
|
|
</Tooltip.Provider>
|