Tooltip
Popup yang menampilkan informasi terkait sebuah elemen saat hover atau fokus.
bun x bosia@latest add tooltipTooltip yang dikelola konteks dengan trigger dan konten. Tampil saat hover atau fokus setelah delay yang bisa dikonfigurasi, menyembunyi saat pergi, blur, atau Escape.
Preview
Props
Tooltip
| Prop | Type | Default |
|---|---|---|
open |
boolean |
false |
delayDuration |
number |
700 |
class |
string |
"" |
open bindable dengan bind:open.
TooltipContent
| Prop | Type | Default |
|---|---|---|
side |
"top" | "right" | "bottom" | "left" |
"top" |
align |
"start" | "center" | "end" |
"center" |
sideOffset |
number |
4 |
class |
string |
"" |
Sub-komponen
Tooltip— wrapper root, mengelola state open dan timer delayTooltipTrigger— button yang menampilkan/menyembunyikan tooltip saat hover dan fokusTooltipContent— panel popup dengan pemosisian side
Penggunaan
<script lang="ts">
import { Tooltip, TooltipTrigger, TooltipContent } from "$lib/components/ui/tooltip";
import { Button } from "$lib/components/ui/button";
</script>
<Tooltip>
<TooltipTrigger>
<Button variant="outline">Hover me</Button>
</TooltipTrigger>
<TooltipContent>Add to library</TooltipContent>
</Tooltip>Sisi
<TooltipContent side="top">Top</TooltipContent>
<TooltipContent side="right">Right</TooltipContent>
<TooltipContent side="bottom">Bottom</TooltipContent>
<TooltipContent side="left">Left</TooltipContent>Durasi Delay
<!-- Show instantly -->
<Tooltip delayDuration={0}>
<TooltipTrigger>...</TooltipTrigger>
<TooltipContent>No delay</TooltipContent>
</Tooltip>
<!-- Longer delay -->
<Tooltip delayDuration={1500}>
<TooltipTrigger>...</TooltipTrigger>
<TooltipContent>Shows after 1.5s</TooltipContent>
</Tooltip>State Open Terkontrol
<script lang="ts">
let open = $state(false);
</script>
<Tooltip bind:open>
<TooltipTrigger>...</TooltipTrigger>
<TooltipContent>Controlled</TooltipContent>
</Tooltip>
<p>Tooltip is {open ? "visible" : "hidden"}</p>Aksesibilitas
TooltipContentdirender denganrole="tooltip"danidunikTooltipTriggermenyetelaria-describedbyyang menunjuk ke konten saat terbuka- Tombol Escape menutup tooltip yang terbuka
- Tooltip merespons
mouseenter/mouseleavedanfocus/blur, sehingga pengguna keyboard juga melihatnya