nteract elements

Tooltip

A brief text label that appears on hover to provide additional context

A lightweight text popup that appears when hovering over an element. Built on Radix UI Tooltip for accessible, keyboard-friendly interactions.

Installation

npx shadcn@latest add https://nteract-elements.vercel.app/r/tooltip.json

Usage

import {
  Tooltip,
  TooltipTrigger,
  TooltipContent,
} from "@/registry/primitives/tooltip"

export function Example() {
  return (
    <Tooltip>
      <TooltipTrigger>Hover</TooltipTrigger>
      <TooltipContent>
        <p>Tooltip text</p>
      </TooltipContent>
    </Tooltip>
  )
}

Examples

Basic Tooltip

<Tooltip>
  <TooltipTrigger asChild>
    <Button variant="outline">Hover</Button>
  </TooltipTrigger>
  <TooltipContent>
    <p>Add to library</p>
  </TooltipContent>
</Tooltip>

On Icon Button

<Tooltip>
  <TooltipTrigger asChild>
    <Button variant="ghost" size="sm">?</Button>
  </TooltipTrigger>
  <TooltipContent>
    <p>Click for help</p>
  </TooltipContent>
</Tooltip>

Multiple Tooltips with Provider

When using multiple tooltips, wrap them in a single TooltipProvider to share delay settings:

import { TooltipProvider } from "@/registry/primitives/tooltip"

export function Example() {
  return (
    <TooltipProvider delayDuration={300}>
      <Tooltip>
        <TooltipTrigger>First</TooltipTrigger>
        <TooltipContent>First tooltip</TooltipContent>
      </Tooltip>
      <Tooltip>
        <TooltipTrigger>Second</TooltipTrigger>
        <TooltipContent>Second tooltip</TooltipContent>
      </Tooltip>
    </TooltipProvider>
  )
}

Notebook Examples

<Tooltip>
  <TooltipTrigger asChild>
    <Button variant="outline" size="sm">Run</Button>
  </TooltipTrigger>
  <TooltipContent>
    <p>Execute cell (Shift+Enter)</p>
  </TooltipContent>
</Tooltip>

Props

Tooltip

PropTypeDefaultDescription
openbooleanControlled open state
defaultOpenbooleanfalseDefault open state
onOpenChange(open: boolean) => voidCallback when open state changes
delayDurationnumber0Delay before showing (ms)

TooltipTrigger

PropTypeDefaultDescription
asChildbooleanfalseRender as child element using Radix Slot
...propsButtonHTMLAttributesAll standard button attributes

TooltipContent

PropTypeDefaultDescription
sideOffsetnumber0Distance from trigger in pixels
classNamestringAdditional CSS classes
...propsTooltipPrimitive.ContentPropsAll Radix Tooltip Content props

TooltipProvider

PropTypeDefaultDescription
delayDurationnumber0Default delay for all tooltips (ms)
skipDelayDurationnumber300Skip delay when moving between tooltips (ms)
disableHoverableContentbooleanfalsePrevent tooltip from staying open when hovering content

On this page