Tooltip
A popup that displays contextual information on hover or focus.
Tooltip content
top
right
bottom
left
0
200
500
700
#Installation
bunx --bun barefoot add tooltip#Usage
Hover me
This is a tooltip
1import { Tooltip } from "@/components/ui/tooltip"23<Tooltip content="This is a tooltip">4 <span className="underline decoration-dotted cursor-help">5 Hover me6 </span>7</Tooltip>#Examples
#Basic
Hover me
This is a tooltip
1import { Tooltip } from "@/components/ui/tooltip"23export function TooltipBasicDemo() {4 return (5 <Tooltip content="This is a tooltip" id="tooltip-basic">6 <span className="underline decoration-dotted cursor-help">7 Hover me8 </span>9 </Tooltip>10 )11}#Button Focus
1import { Tooltip } from "@/components/ui/tooltip"2import { Button } from "@/components/ui/button"34export function TooltipButtonDemo() {5 return (6 <Tooltip content="Keyboard accessible tooltip" id="tooltip-button">7 <Button>Hover or Focus</Button>8 </Tooltip>9 )10}#Icon Buttons
Bold
Italic
Underline
1import { Tooltip } from "@/components/ui/tooltip"2import { Button } from "@/components/ui/button"34export function TooltipIconDemo() {5 return (6 <div className="flex items-center gap-2">7 <Tooltip content="Bold" id="tooltip-icon-bold">8 <Button variant="outline" size="icon">9 <span className="font-bold">B</span>10 </Button>11 </Tooltip>12 <Tooltip content="Italic" id="tooltip-icon-italic">13 <Button variant="outline" size="icon">14 <span className="italic">I</span>15 </Button>16 </Tooltip>17 <Tooltip content="Underline" id="tooltip-icon-underline">18 <Button variant="outline" size="icon">19 <span className="underline">U</span>20 </Button>21 </Tooltip>22 </div>23 )24}#Placement
Top placement
Right placement
Bottom placement
Left placement
1import { Tooltip } from "@/components/ui/tooltip"2import { Button } from "@/components/ui/button"34export function TooltipPlacementDemo() {5 return (6 <div className="flex flex-wrap gap-4">7 <Tooltip content="Top placement" placement="top">8 <Button variant="outline">Top</Button>9 </Tooltip>10 <Tooltip content="Right placement" placement="right">11 <Button variant="outline">Right</Button>12 </Tooltip>13 <Tooltip content="Bottom placement" placement="bottom">14 <Button variant="outline">Bottom</Button>15 </Tooltip>16 <Tooltip content="Left placement" placement="left">17 <Button variant="outline">Left</Button>18 </Tooltip>19 </div>20 )21}#Delay
Hover me (700ms delay)
This tooltip has a 700ms delay
Hover me (no delay) This tooltip appears immediately
1import { Tooltip } from "@/components/ui/tooltip"23export function TooltipDelayDemo() {4 return (5 <div className="flex flex-wrap gap-8">6 <Tooltip content="This tooltip has a 700ms delay" delayDuration={700}>7 <span className="underline decoration-dotted cursor-help">8 Hover me (700ms delay)9 </span>10 </Tooltip>11 <Tooltip content="This tooltip appears immediately" delayDuration={0}>12 <span className="underline decoration-dotted cursor-help">13 Hover me (no delay)14 </span>15 </Tooltip>16 </div>17 )18}#API Reference
| Prop | Type | Default | Description |
|---|---|---|---|
| content | string | - | The text content displayed in the tooltip. |
| placement | 'top' | 'right' | 'bottom' | 'left' | 'top' | Position of the tooltip relative to the trigger element. |
| delayDuration | number | 0 | Delay in milliseconds before showing the tooltip on hover. |
| closeDelay | number | 0 | Delay in milliseconds before hiding the tooltip after mouse leave. |
| id | string | - | ID for aria-describedby accessibility linking. |