A floating label to explain additional context in the UI. They're triggered by interaction events like hover, focus, tap, or click.
withArrow, default true) — keep the arrow visible to connect the Tooltip to its trigger, especially when several nearby elements each have their own Tooltip.withArrow={false}) only in dense layouts where a cleaner look is needed and the trigger association is already evident.isUnderlined) — apply when the trigger is inline text, to make it visually distinct from surrounding body copy.placement, default "bottom") — accepts "top", "right", "bottom", "left" and their alignment variants (e.g. "top-start"). Choose a placement that avoids covering content the user needs to read.isDisabled) — the Tooltip never opens when the trigger is interacted with.animationTransitionDuration, default 125 ms) — fade plus a directional slide matching the Tooltip's placement.floatingPluginOptions.hover.delay, default 250 ms) — prevents accidental activation during normal mouse movement. Adjust as needed.isOpen with onOpenChange) — use together to manage visibility externally. Use defaultIsOpen for an initially open uncontrolled Tooltip.TooltipGroup / PlumaTooltipGroup) — wrap adjacent Tooltips so they share open/close timing. Once one is open, hovering another trigger in the group opens it immediately without the hover delay.content prop (string). Children define the trigger, not the Tooltip body. Nothing renders when content is empty or the Tooltip is disabled.isCustom) — no default trigger wrapper is rendered. Children become a render callback receiving floatingContext, reference, floating, and arrow; wire reference.setReference and reference.getReferenceProps() onto your own element. Required when the trigger is an interactive component such as Button or Link.isInline and isUnderlined only exist in default (non-isCustom) mode. isInline (default true) renders the trigger as inline-flex; isInline={false} renders it as flex. isUnderlined has no effect while isDisabled is true.button by default and as a span when isDisabled is true. Override with the polymorphic as prop.unsafe_tooltipClassName and unsafe_tooltipStyle apply to the floating overlay element, not the trigger. Use as a last resort.middlewareOptions customizes Floating UI middleware (arrow, offset, flip, shift, hide); additionalMiddleware appends middleware after the defaults. strategy sets the floating element's CSS position (default "absolute").floatingPluginOptions configures Floating UI's hover, focus, dismiss, and role behaviors.TooltipGroup accepts delay and timeoutMs.<PlumaTooltip @content="Label text">Trigger</PlumaTooltip>. Custom mode yields the Floating UI context: <PlumaTooltip @isCustom={{true}} as |floatingUi|>. The group is <PlumaTooltipGroup @delay={{...}} @timeoutMs={{...}}>.animationTransitionDuration and floatingPluginOptions through PlumaProvider's componentConfig.PlumaTooltip.