Tooltip
A popup that displays information related to an element when it receives keyboard focus or the mouse hovers over it.Usage
1import { Tooltip } from "@raystack/apsara";
Tooltip Props
The Tooltip component accepts various props to customize its behavior and appearance. You can use it either as a standalone component or nested within a TooltipProvider for enhanced functionality.
Prop
Type
Tooltip.Trigger Props
The Trigger component wraps the element that activates the tooltip.
Prop
Type
Tooltip.Content Props
The Content component displays the tooltip content and controls positioning.
Prop
Type
Tooltip.Provider Props
The Provider component serves as a context wrapper that provides global configuration and functionality to all tooltip instances within your application.
Prop
Type
Examples
Side
The Tooltip Content component can be positioned in different directions using the side prop:
1<Flex gap="medium" align="center">2 <Tooltip>3 <Tooltip.Trigger render={<Button />}>Top</Tooltip.Trigger>4 <Tooltip.Content side="top">Top tooltip</Tooltip.Content>5 </Tooltip>6 <Tooltip>7 <Tooltip.Trigger render={<Button />}>Right</Tooltip.Trigger>8 <Tooltip.Content side="right">Right tooltip</Tooltip.Content>9 </Tooltip>10 <Tooltip>11 <Tooltip.Trigger render={<Button />}>Bottom</Tooltip.Trigger>12 <Tooltip.Content side="bottom">Bottom tooltip</Tooltip.Content>13 </Tooltip>14 <Tooltip>15 <Tooltip.Trigger render={<Button />}>Left</Tooltip.Trigger>
Align
The Tooltip Content component can be aligned in different directions using the align prop:
1<Flex gap="large" align="center">2 <Tooltip>3 <Tooltip.Trigger render={<Button />}>Start</Tooltip.Trigger>4 <Tooltip.Content align="start">Start tooltip</Tooltip.Content>5 </Tooltip>6 <Tooltip>7 <Tooltip.Trigger render={<Button />}>Center</Tooltip.Trigger>8 <Tooltip.Content align="center">Center tooltip</Tooltip.Content>9 </Tooltip>10 <Tooltip>11 <Tooltip.Trigger render={<Button />}>End</Tooltip.Trigger>12 <Tooltip.Content align="end">End tooltip</Tooltip.Content>13 </Tooltip>14</Flex>
Custom Content
Tooltips can contain custom content using ReactNode:
1<Tooltip>2 <Tooltip.Trigger render={<Button />}>Hover me</Tooltip.Trigger>3 <Tooltip.Content>4 <div>5 <span style={{ fontWeight: "medium" }}>Custom Tooltip</span>6 </div>7 </Tooltip.Content>8</Tooltip>
With Provider
The TooltipProvider component can be used to provide a global configuration for all tooltips in your application.
1<Tooltip.Provider>2 <Flex gap="medium" align="center">3 <Tooltip>4 <Tooltip.Trigger render={<Button />}>Tooltip 1</Tooltip.Trigger>5 <Tooltip.Content>Top Left tooltip</Tooltip.Content>6 </Tooltip>7 <Tooltip>8 <Tooltip.Trigger render={<Button />}>Tooltip 2</Tooltip.Trigger>9 <Tooltip.Content>Top Right tooltip</Tooltip.Content>10 </Tooltip>11 </Flex>12</Tooltip.Provider>
Track Cursor
Use trackCursorAxis prop on the Root component to make the tooltip follow the cursor:
1<Tooltip trackCursorAxis="both">2 <Tooltip.Trigger render={<Button />}>Hover me</Tooltip.Trigger>3 <Tooltip.Content>Tooltip follows cursor</Tooltip.Content>4</Tooltip>
With Arrow
Show the arrow by setting showArrow={true} on the Content component:
1<Tooltip>2 <Tooltip.Trigger render={<Button />}>Hover me</Tooltip.Trigger>3 <Tooltip.Content showArrow>Tooltip with arrow</Tooltip.Content>4</Tooltip>