Skip to main contentSkip to search
Clay
  • Get Started
    • How to Use Clay
    • Composition Philosophy
    • How to Read This Documentation
    • Migrating From v2.x
    • Using Clay in JSPs
  • Components
    • Alert
    • Application Bar
    • Aspect Ratio
    • Autocomplete
    • Badge
    • Breadcrumb
    • Button Group
    • Buttons
    • Card
    • Chart
    • Color Picker
    • Data Provider
    • Date Picker
    • DropDown
    • Empty State
    • Form
      • Checkbox
      • Dual List Box
      • Input
      • Radio Group
      • Select
      • Select Box
      • Toggle Switch
    • Forms Hierarchy
    • Heading
    • Icon
    • Label
    • Layout
    • Link
    • List
    • Loading Indicator
    • Localized Input
    • Management Toolbar
    • Modal
    • Multi Select
    • Multi Step Nav
    • Nav
    • Navigation Bar
    • OverlayMask
    • Pagination
    • Pagination Bar
    • Panel
    • Picker
    • Popover
    • Progress Bar
    • Provider
    • Sidebar
    • Slider
    • Sticker
    • Table
    • Tabs
    • Text
    • Timelines
    • Time Picker
    • Toolbar
    • Tooltip
    • TreeView
    • Upper Toolbar
    • VerticalBar
    • Vertical Navigation
  • Contributing
  • CSS Framework
    • Paver
    • SCSS
    • Color
    • Grid
    • Content
      • Typography
      • C Kbd
    • Utilities
      • Accessibility
      • Autofit
      • Border
      • C Focus Inset
      • C Inner
      • Color Utilities
      • C Spacing Utilities
      • Display
      • Flex
      • Float
      • Inline Item
      • Overflow
      • Position
      • Shadow
      • Text
      • Vertical Align
      • Visibility
      • Width and Height
    • Playground
  • Examples
K
  • Docs
  • Sass API
  • Blog
  • Storybook
  • Codesandbox
  • Github
  • Use this menu to toggle between Atlas and Base Themes.

Tooltip

yarn add @clayui/tooltip

Tooltips are brief pieces of information that appear on hover state over an element to clarify its meaning or use for the user.

  • Examples
  • Markup
  • API

Stable3.85.0View in LexiconCHANGELOGstorybook demos

  • TooltipProvider
    • contentRenderer
    • Disabled elements with title

Simplest way of using Tooltip is by leveraging it's show prop and specifying alignPosition to determine it's position relative to the element it's aligned to.

If you have multiple Tooltips on the page, TooltipProvider allows you to only have to instantiate the component once and simply provide html attributes to the elements that need tooltips.

Copied!
Code Sample (expand to see it)

TooltipProvider

By using the <TooltipProvider> it allows you to add the desired tooltip content on each element as a data attribute.

Here's a list of html attributes that you can provide to children elements of the TooltipProvider:

  • title is for the tooltip content.
  • data-tooltip-align is for alignment direction.
  • data-tooltip-delay is for the delay(ms) before showing the tooltip.
  • data-tooltip-floating defines if the tooltip should be floating positioned where the mouse is over the element.
Copied!
Code Sample (expand to see it)

contentRenderer

contentRenderer prop gives you the ability to format the content passed to the Tooltip via the title attribute to meet your requirements.

Copied!
Code Sample (expand to see it)

Disabled elements with title

Elements or components that use the browser's native disabled property, have the problem of the provider not being able to track element events, natively elements with disabled do not trigger events, such as click, mouseup, mousedown, keydown... if the element has a title the tooltip will not work correctly, for this scenario we recommend using a different strategy to continue that the element emits events but still has the disabled state. For example, the Button component:

// instead of
<button className="btn btn-primary" disabled="" title="Open Menu">Click</button>
<Button disabled title="Top">Top</Button>

// use
<button className="btn btn-primary disabled" aria-disabled="true" title="Open Menu">Click</button>
<Button aria-disabled="true" className="disabled" title="Top">Top</Button>

Add the disabled CSS class that adds the visual state of disabled and the aria-disabled property to keep the element accessible, this same behavior can be repeated for other elements where you want the title even when the component is disabled.

How can this be improved? Create an issue!