Back to Tooljet

Tooltip — Rocket Design Spec

frontend/src/components/ui/Rocket/Tooltip/Tooltip.spec.md

3.20.154-lts2.0 KB
Original Source

Tooltip — Rocket Design Spec

<!-- figma: https://www.figma.com/design/XQdM9x8x9YHcj1lUK8abUG/Rocket-components?node-id=7661-2505 --> <!-- synced: 2026-03-20 -->

Props

PropTypeValuesDefault
sidestringtop | bottom | left | righttop
alignstringstart | center | endcenter
sideOffsetnumber4
showArrowbooleantrue

Sub-components

PartWrapsNeeds styling?
TooltipProviderRadix ProviderNo — re-export
TooltipRadix RootNo — re-export
TooltipTriggerRadix TriggerNo — re-export
TooltipContentRadix Content + PortalYes — main styled part
TooltipArrowRadix ArrowYes — fill color

Token Mapping

ElementStateFigma tokenToolJet class
content backgrounddefaultbackground/inversetw-bg-background-inverse
content textdefaulttext/on-solidtw-text-text-on-solid
arrow filldefaultbackground/inversetw-fill-background-inverse
content shadowdefaultElevations/400tw-shadow-elevation-400

Typography

  • Font: IBM Plex Sans Medium, 12px / 18px line-height
  • Classes: tw-text-xs tw-leading-[18px] tw-font-medium

Dimensions

  • Border radius: 8px → tw-rounded-lg
  • Padding: 12px → tw-p-3
  • Content gap: 4px → tw-gap-1
  • Arrow sideOffset: 4px (default)
  • Max width: ~293px → tw-max-w-xs

CVA Shape

Shape D — no variants, no sizes. Static cn() call on TooltipContent. Compound (Shape E structure) but only TooltipContent and TooltipArrow need styling.

Notes

  • Pointer placement (9 Figma variants) maps to Radix's side + align props — no custom code needed
  • Arrow is a Radix primitive — just needs fill color to match background
  • Animation classes from shadcn are kept (animate-in/out, fade, zoom, slide)
  • delayDuration on Provider defaults to 700ms in Radix — consider lowering to 200ms for snappier UX