A tooltip is a brief, informative message that appears when a user interacts with an element. Tooltips are usually initiated in one of two ways: through a mouse-hover gesture or through a keyboard-hover gesture.
The Tooltip
component follows the
WAI-ARIA Tooltip Pattern.
If the children
of Tooltip is a string
, we wrap with in a span
with
tabIndex
set to 0
, to ensure it meets the accessibility requirements.
Note 🚨: If the Tooltip is wrapped in a functional component. Ensure you
forwardRef
to this component.
If the children of the tooltip is a focusable element, the tooltip will show when you focus or hover on the element, and will hide when you blur or move cursor out of the element.
Using the placement
prop you can adjust where your tooltip will be displayed.
Name | Type | Description | Default |
---|---|---|---|
children | ReactNode | The react component to use as the trigger for the tooltip | - |
aria-label | string | The accessible, human friendly label to use for screen readers. If passed, tooltip will show the content `label` but expose only `aria-label` to assistive technologies | - |
arrowPadding | number | The distance of the arrow to its next border (numeric) E.g. arrowPadding = borderRadius * 2 | - |
arrowShadowColor | string | - | |
arrowSize | number | - | |
closeDelay | number | Delay (in ms) before hiding the tooltip | 0ms |
closeOnClick | boolean | If `true`, the tooltip will hide on click | - |
closeOnMouseDown | boolean | If `true`, the tooltip will hide while the mouse is down | - |
colorScheme | string | - | |
css | Interpolation<{}> | The emotion's css style object | - |
defaultIsOpen | boolean | If `true`, the tooltip will be initially shown | - |
gutter | number | - | |
hasArrow | boolean | If `true`, the tooltip will show an arrow tip | - |
isDisabled | boolean | - | |
isOpen | boolean | If `true`, the tooltip will be shown (in controlled mode) | - |
label | ReactNode | The label of the tooltip | - |
modifiers | Modifier<string, any>[] | - | |
offset | [number, number] | - | |
onClose | (() => void) | Callback to run when the tooltip hides | - |
onOpen | (() => void) | Callback to run when the tooltip shows | - |
openDelay | number | Delay (in ms) before showing the tooltip | 0ms |
orientation | "horizontal" | "vertical" | - | |
placement | "top" | "right" | "bottom" | "left" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end" | The Popper.js placement of the tooltip | - |
shouldWrapChildren | boolean | If `true`, the tooltip will wrap its children in a `<span/>` with `tabIndex=0` | - |
size | string | - | |
styleConfig | Record<string, any> | - | |
variant | string | - |