Panels and menusInteractive playground
Tooltip
A brief explanation for a control.
Preparing the playground…
Text and Markdown example
Tooltip · Example
1<TooltipProvider><Tooltip><TooltipTrigger asChild><Button variant="outline" aria-label="Add project">+</Button></TooltipTrigger><TooltipContent>Create a new project</TooltipContent></Tooltip></TooltipProvider>How to use it
Wrap tooltips in TooltipProvider. Avoid interactive controls inside tooltips; use Popover instead.
Import
React / Next.js
1import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent } from "@kivora/nextjs";Interactive examples run inside a component with "use client". The playground's Copy button includes the imports needed for the current example.
API reference 0.2.0
Types from the installed published version, including component properties and common HTML attributes. “Optional” does not imply a default value; omitting a property lets the component decide.
| Property | Type | Description |
|---|---|---|
children | ReactNode | Content or child elements of the component. |
defaultOpen | boolean | Whether it starts open in uncontrolled mode. |
delayDuration | number | The duration from when the pointer enters the trigger until the tooltip gets opened. This will override the prop with the same name passed to Provider. |
disableHoverableContent | boolean | When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger. |
onOpenChange | ((open: boolean) => void) | Receives the new open state. |
open | boolean | Controlled open state. |
Subcomponents and composition
Review each component's properties and published declaration. Native and accessibility attributes are inherited from the element specified by its type.
Tooltip6 properties
Tooltip · TypeScript
1Tooltip: React.FC<TooltipPrimitive.TooltipProps>TooltipProvider4 properties
| Property | Type | Description |
|---|---|---|
childrenRequired | ReactNode | Content or child elements of the component. |
delayDuration | number | The duration from when the pointer enters the trigger until the tooltip gets opened. |
disableHoverableContent | boolean | When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger. |
skipDelayDuration | number | How much time a user has to enter another trigger without incurring a delay again. |
TooltipProvider · TypeScript
1TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>TooltipTrigger18 properties
| Property | Type | Description |
|---|---|---|
aria-label | string | Accessible name of the control. |
asChild | boolean | Apply props and behavior to a single compatible child element. |
children | ReactNode | Content or child elements of the component. |
className | string | Additional CSS classes to customize the element. |
defaultChecked | boolean | Initial selection of the control. |
defaultValue | string | number | readonly string[] | Initial value when the component manages its own state. |
disabled | boolean | Disable interaction with the control. |
id | string | Element identifier; associates labels and descriptions. |
name | string | Name used to identify the control in forms. |
onChange | ChangeEventHandler<HTMLButtonElement, Element> | Change event. Check the type: some controls return an object, others a DOM event. |
onClick | MouseEventHandler<HTMLButtonElement> | Action performed when the element is activated. |
onSubmit | SubmitEventHandler<HTMLButtonElement> | Form submission event. |
role | AriaRole | Semantic role of the element. Keep the default role unless a change is justified. |
style | CSSProperties | React inline styles. |
tabIndex | number | Keyboard focus order and availability. |
title | string | Title or supplementary information. |
type | "button" | "submit" | "reset" | Operation type or mode; values depend on the component. |
value | string | number | readonly string[] | Controlled value. Update it from the change callback. |
TooltipTrigger · TypeScript
1TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>TooltipContent31 properties
| Property | Type | Description |
|---|---|---|
align | "center" | "start" | "end" | Content alignment. |
alignOffset | number | Offset from the chosen alignment. |
aria-label | string | Accessible name of the control. |
arrowPadding | number | Configures arrowPadding. The type describes the supported values and structure. |
asChild | boolean | Apply props and behavior to a single compatible child element. |
avoidCollisions | boolean | Configures avoidCollisions. The type describes the supported values and structure. |
children | ReactNode | Content or child elements of the component. |
className | string | Additional CSS classes to customize the element. |
collisionBoundary | Boundary | Boundary[] | Configures collisionBoundary. The type describes the supported values and structure. |
collisionPadding | number | Partial<Record<"left" | "right" | "top" | "bottom", number>> | Configures collisionPadding. The type describes the supported values and structure. |
defaultChecked | boolean | Initial selection of the control. |
defaultValue | string | number | readonly string[] | Initial value when the component manages its own state. |
forceMount | true | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
hideWhenDetached | boolean | Configures hideWhenDetached. The type describes the supported values and structure. |
id | string | Element identifier; associates labels and descriptions. |
onChange | ChangeEventHandler<HTMLDivElement, Element> | Change event. Check the type: some controls return an object, others a DOM event. |
onClick | MouseEventHandler<HTMLDivElement> | Action performed when the element is activated. |
onEscapeKeyDown | ((event: KeyboardEvent) => void) | Event handler called when the escape key is down. Can be prevented. |
onPointerDownOutside | ((event: PointerDownOutsideEvent) => void) | Event handler called when the a `pointerdown` event happens outside of the `Tooltip`. Can be prevented. |
onSubmit | SubmitEventHandler<HTMLDivElement> | Form submission event. |
role | AriaRole | Semantic role of the element. Keep the default role unless a change is justified. |
showArrow | boolean | Configures showArrow. The type describes the supported values and structure. |
side | "left" | "right" | "top" | "bottom" | Side from which the panel appears. |
sideOffset | number | Distance between the trigger and content. |
size | "sm" | "lg" | "md" | Visual size of the component. |
sticky | "partial" | "always" | Configures sticky. The type describes the supported values and structure. |
style | CSSProperties | React inline styles. |
tabIndex | number | Keyboard focus order and availability. |
title | string | Title or supplementary information. |
updatePositionStrategy | "always" | "optimized" | Configures updatePositionStrategy. The type describes the supported values and structure. |
variant | "default" | "destructive" | "secondary" | Visual variant. Use a value supported by this component. |
TooltipContent · TypeScript
1TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>API generated from @kivora/nextjs 0.2.0View package