Tooltip

Tooltip - Phlex implementation

Examples

Default

A popup that displays information related to an element when hovered.

<%= render "ui/tooltip" do %>
  <%= render "ui/tooltip/trigger" do %>Hover<% end %>
  <%= render "ui/tooltip/content" do %>Add to library<% end %>
<% end %>

With Icon

Tooltip trigger with an icon.

<%= render "ui/tooltip" do %>
  <%= render "ui/tooltip/trigger" do %>
    <svg class="size-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"/></svg>
  <% end %>
  <%= render "ui/tooltip/content" do %>Add to library<% end %>
<% end %>

Side Positions

Tooltips can appear on different sides of the trigger.

<div class="flex gap-4">
  <%= render "ui/tooltip" do %>
    <%= render "ui/tooltip/trigger" do %>Top<% end %>
    <%= render "ui/tooltip/content", side: :top do %>Tooltip on top<% end %>
  <% end %>

  <%= render "ui/tooltip" do %>
    <%= render "ui/tooltip/trigger" do %>Right<% end %>
    <%= render "ui/tooltip/content", side: :right do %>Tooltip on right<% end %>
  <% end %>

  <%= render "ui/tooltip" do %>
    <%= render "ui/tooltip/trigger" do %>Bottom<% end %>
    <%= render "ui/tooltip/content", side: :bottom do %>Tooltip on bottom<% end %>
  <% end %>

  <%= render "ui/tooltip" do %>
    <%= render "ui/tooltip/trigger" do %>Left<% end %>
    <%= render "ui/tooltip/content", side: :left do %>Tooltip on left<% end %>
  <% end %>
</div>

Features

  • Keyboard navigation
  • Form integration

API Reference

Tooltip

Root container for tooltip. Manages tooltip state via Stimulus controller.

Content

The popup content that displays tooltip information.

Parameters

NameTypeDefaultDescription
sideStringtopWhich side to display on
alignStringcenterAlignment within container
side_offsetInteger4The side offset

Trigger

The interactive element that shows/hides the tooltip on hover/focus.

Parameters

NameTypeDefaultDescription
as_childBooleanfalseWhen true, yields attributes to block instead of rendering wrapper

Accessibility

Implements the WAI-ARIA Tooltip pattern with proper roles, states, and keyboard navigation.

Keyboard Shortcuts

KeyDescription
EscapeCloses the component

JavaScript

Stimulus Controller

ui--tooltip

Values

NameTypeDescription
sideOffsetNumberThe sideOffset

Actions

showhide