Legacy (shadcn-uikit)Components
Tooltip
A small overlay that appears on hover to provide additional context.
Usage
import {
Tooltip,
TooltipTrigger,
TooltipContent,
TooltipProvider,
} from '@acronis-platform/shadcn-uikit';Basic
A simple tooltip on hover.
View sourceHide source
import { Button } from '@acronis-platform/shadcn-uikit/react';
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
TooltipArrow,
} from '@acronis-platform/shadcn-uikit/react';
export function TooltipBasic() {
return (
<TooltipProvider>
<Tooltip>
<TooltipTrigger>
<Button variant="outline">Hover me</Button>
</TooltipTrigger>
<TooltipContent>
<p>Tooltip</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</TooltipProvider>
);
}
With Icon
Tooltip triggered by an icon button.
View sourceHide source
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
TooltipArrow,
} from '@acronis-platform/shadcn-uikit/react';
import { InfoIcon } from '@acronis-platform/shadcn-uikit';
export function TooltipWithIcon() {
return (
<TooltipProvider>
<Tooltip>
<TooltipTrigger
render={
<button className="inline-flex items-center justify-center rounded-full w-6 h-6 bg-gray-200 hover:bg-gray-300 transition-colors" />
}
>
<InfoIcon className="w-4 h-4 text-gray-600" />
</TooltipTrigger>
<TooltipContent>
<p>Tooltip</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</TooltipProvider>
);
}
Positions
Tooltips placed on different sides of the trigger.
View sourceHide source
import { Button } from '@acronis-platform/shadcn-uikit/react';
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
TooltipArrow,
} from '@acronis-platform/shadcn-uikit/react';
export function TooltipPositions() {
return (
<div className="flex flex-col gap-8 items-center">
<TooltipProvider>
<Tooltip>
<TooltipTrigger render={<Button variant="outline" />}>
Top
</TooltipTrigger>
<TooltipContent side="top">
<p>Tooltip on top</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</TooltipProvider>
<div className="flex gap-8">
<TooltipProvider>
<Tooltip>
<TooltipTrigger render={<Button variant="outline" />}>
Left
</TooltipTrigger>
<TooltipContent side="left">
<p>Tooltip on left</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger render={<Button variant="outline" />}>
Right
</TooltipTrigger>
<TooltipContent side="right">
<p>Tooltip on right</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</TooltipProvider>
</div>
<TooltipProvider>
<Tooltip>
<TooltipTrigger render={<Button variant="outline" />}>
Bottom
</TooltipTrigger>
<TooltipContent side="bottom">
<p>Tooltip on bottom</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</TooltipProvider>
</div>
);
}
Long Text
Tooltip with longer descriptive text.
View sourceHide source
import { Button } from '@acronis-platform/shadcn-uikit/react';
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
TooltipArrow,
} from '@acronis-platform/shadcn-uikit/react';
export function TooltipLongText() {
return (
<TooltipProvider>
<Tooltip>
<TooltipTrigger render={<Button variant="outline" />}>
Hover for details
</TooltipTrigger>
<TooltipContent className="max-w-xs">
<p>
This is a longer tooltip text that provides more detailed
information about the element.
</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</TooltipProvider>
);
}
Custom Delay
Tooltip with a custom open/close delay.
View sourceHide source
import { Button } from '@acronis-platform/shadcn-uikit/react';
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
TooltipArrow,
} from '@acronis-platform/shadcn-uikit/react';
export function TooltipCustomDelay() {
return (
<TooltipProvider delay={800}>
<Tooltip>
<TooltipTrigger>
<Button variant="outline">Slow to appear</Button>
</TooltipTrigger>
<TooltipContent>
<p>This tooltip has a longer delay</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</TooltipProvider>
);
}
Multiple
Several tooltips on different elements.
View sourceHide source
import { Button } from '@acronis-platform/shadcn-uikit/react';
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
TooltipArrow,
} from '@acronis-platform/shadcn-uikit/react';
export function TooltipMultiple() {
return (
<TooltipProvider>
<div className="flex gap-4">
<Tooltip>
<TooltipTrigger render={<Button variant="default" />}>
Save
</TooltipTrigger>
<TooltipContent>
<p>Save your changes</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger render={<Button variant="secondary" />}>
Cancel
</TooltipTrigger>
<TooltipContent>
<p>Discard changes</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger render={<Button variant="destructive" />}>
Delete
</TooltipTrigger>
<TooltipContent>
<p>Delete permanently</p>
<TooltipArrow />
</TooltipContent>
</Tooltip>
</div>
</TooltipProvider>
);
}
API Reference
TooltipContent
Prop
Type
sideOffset?numberside?unionalign?unionclassName?stringstyle?unionslot?stringtitle?stringkey?unionsuppressContentEditableWarning?unionsuppressHydrationWarning?unionaccessKey?stringautoCapitalize?unionautoFocus?unioncontentEditable?unioncontextMenu?stringdir?stringdraggable?unionenterKeyHint?unionid?stringlang?stringnonce?stringspellCheck?uniontabIndex?numbertranslate?unionradioGroup?stringrole?unionabout?stringcontent?stringdatatype?stringinlist?anyprefix?stringproperty?stringrel?stringresource?stringrev?stringtypeof?stringvocab?stringautoCorrect?stringautoSave?stringitemProp?stringitemScope?unionitemType?stringitemID?stringitemRef?stringresults?numbersecurity?stringunselectable?unionpopover?unionpopoverTargetAction?unionpopoverTarget?stringinert?unioninputMode?unionis?stringexportparts?stringpart?stringaria-activedescendant?stringaria-atomic?unionaria-autocomplete?unionaria-braillelabel?stringaria-brailleroledescription?stringaria-busy?unionaria-checked?unionaria-colcount?numberaria-colindex?numberaria-colindextext?stringaria-colspan?numberaria-controls?stringaria-current?unionaria-describedby?stringaria-description?stringaria-details?stringaria-disabled?unionaria-dropeffect?unionaria-errormessage?stringaria-expanded?unionaria-flowto?stringaria-grabbed?unionaria-haspopup?unionaria-invalid?unionaria-keyshortcuts?stringaria-label?stringaria-labelledby?stringaria-level?numberaria-live?unionaria-modal?unionaria-multiline?unionaria-multiselectable?unionaria-orientation?unionaria-owns?stringaria-placeholder?stringaria-posinset?numberaria-pressed?unionaria-readonly?unionaria-relevant?unionaria-required?unionaria-roledescription?stringaria-rowcount?numberaria-rowindex?numberaria-rowindextext?stringaria-rowspan?numberaria-selected?unionaria-setsize?numberaria-sort?unionaria-valuemax?numberaria-valuemin?numberaria-valuenow?numberaria-valuetext?stringchildren?ReactNodedangerouslySetInnerHTML?objectonCopy?functiononCopyCapture?functiononCut?functiononCutCapture?functiononPaste?functiononPasteCapture?functiononCompositionEnd?functiononCompositionEndCapture?functiononCompositionStart?functiononCompositionStartCapture?functiononCompositionUpdate?functiononCompositionUpdateCapture?functiononFocus?functiononFocusCapture?functiononBlur?functiononBlurCapture?functiononChange?functiononChangeCapture?functiononBeforeInput?functiononBeforeInputCapture?functiononInput?functiononInputCapture?functiononReset?functiononResetCapture?functiononSubmit?functiononSubmitCapture?functiononInvalid?functiononInvalidCapture?functiononLoad?functiononLoadCapture?functiononError?functiononErrorCapture?functiononKeyDown?functiononKeyDownCapture?functiononKeyPress?functiononKeyPressCapture?functiononKeyUp?functiononKeyUpCapture?functiononAbort?functiononAbortCapture?functiononCanPlay?functiononCanPlayCapture?functiononCanPlayThrough?functiononCanPlayThroughCapture?functiononDurationChange?functiononDurationChangeCapture?functiononEmptied?functiononEmptiedCapture?functiononEncrypted?functiononEncryptedCapture?functiononEnded?functiononEndedCapture?functiononLoadedData?functiononLoadedDataCapture?functiononLoadedMetadata?functiononLoadedMetadataCapture?functiononLoadStart?functiononLoadStartCapture?functiononPause?functiononPauseCapture?functiononPlay?functiononPlayCapture?functiononPlaying?functiononPlayingCapture?functiononProgress?functiononProgressCapture?functiononRateChange?functiononRateChangeCapture?functiononSeeked?functiononSeekedCapture?functiononSeeking?functiononSeekingCapture?functiononStalled?functiononStalledCapture?functiononSuspend?functiononSuspendCapture?functiononTimeUpdate?functiononTimeUpdateCapture?functiononVolumeChange?functiononVolumeChangeCapture?functiononWaiting?functiononWaitingCapture?functiononAuxClick?functiononAuxClickCapture?functiononClick?functiononClickCapture?functiononContextMenu?functiononContextMenuCapture?functiononDoubleClick?functiononDoubleClickCapture?functiononDrag?functiononDragCapture?functiononDragEnd?functiononDragEndCapture?functiononDragEnter?functiononDragEnterCapture?functiononDragExit?functiononDragExitCapture?functiononDragLeave?functiononDragLeaveCapture?functiononDragOver?functiononDragOverCapture?functiononDragStart?functiononDragStartCapture?functiononDrop?functiononDropCapture?functiononMouseDown?functiononMouseDownCapture?functiononMouseEnter?functiononMouseLeave?functiononMouseMove?functiononMouseMoveCapture?functiononMouseOut?functiononMouseOutCapture?functiononMouseOver?functiononMouseOverCapture?functiononMouseUp?functiononMouseUpCapture?functiononSelect?functiononSelectCapture?functiononTouchCancel?functiononTouchCancelCapture?functiononTouchEnd?functiononTouchEndCapture?functiononTouchMove?functiononTouchMoveCapture?functiononTouchStart?functiononTouchStartCapture?functiononPointerDown?functiononPointerDownCapture?functiononPointerMove?functiononPointerMoveCapture?functiononPointerUp?functiononPointerUpCapture?functiononPointerCancel?functiononPointerCancelCapture?functiononPointerEnter?functiononPointerLeave?functiononPointerOver?functiononPointerOverCapture?functiononPointerOut?functiononPointerOutCapture?functiononGotPointerCapture?functiononGotPointerCaptureCapture?functiononLostPointerCapture?functiononLostPointerCaptureCapture?functiononScroll?functiononScrollCapture?functiononScrollEnd?functiononScrollEndCapture?functiononWheel?functiononWheelCapture?functiononAnimationStart?functiononAnimationStartCapture?functiononAnimationEnd?functiononAnimationEndCapture?functiononAnimationIteration?functiononAnimationIterationCapture?functiononToggle?functiononBeforeToggle?functiononTransitionCancel?functiononTransitionCancelCapture?functiononTransitionEnd?functiononTransitionEndCapture?functiononTransitionRun?functiononTransitionRunCapture?functiononTransitionStart?functiononTransitionStartCapture?functionrender?unionTooltipProvider, Tooltip, and TooltipTrigger are direct re-exports of Base UI primitives.