Task: Tooltip Component
Type: Component
Milestone: M0.5 — Shared Component Library
Estimate: S
Component Type
Props Interface
interface TooltipProps {
content: string;
children: ReactNode; // the trigger element
position?: 'top' | 'bottom' | 'left' | 'right';
delay?: number; // ms before showing, default 400
className?: string;
}
Variants / States
| State |
Description |
| Hidden |
Default — tooltip not in DOM |
| Visible |
Appears after delay ms on hover/focus |
top / bottom / left / right |
Arrow and position adapts to placement |
Acceptance Criteria
Notes
- Used on AI confidence score bar (shows exact score on hover), action buttons (shows consequence description), and theme picker icons
- Keep tooltip content to plain strings only — no ReactNode content (use Popover for rich content, build that in a later milestone)
Task: Tooltip Component
Type: Component
Milestone: M0.5 — Shared Component Library
Estimate: S
Component Type
Props Interface
Variants / States
delayms on hover/focustop / bottom / left / rightAcceptance Criteria
createPortal— never clipped byoverflow: hiddenparentshoverandfocus— keyboard users get tooltips toodelayprevents tooltip flash on quick mouse passesNotes