Group

Group component for grouping related elements together.

Usage

<%= ui.group do %>
  <%= ui.btn "Button First" %>
  <%= ui.btn "Button Second" %>
  <%= ui.btn "Button Third" %>
<% end %>

<%= ui.group sticky: false do %>
  <%= ui.btn "With Gap", variant: :outline %>
  <%= ui.btn "With Gap", variant: :outline %>
<% end %>
Props
PropTypeDefaultDescription
stickyBooleantrueWhen true, elements are joined without gaps. When false, elements have gaps between them.

Also accepts any HTML attributes via **options (e.g., id:, data:, aria:, class:). class: is also supported for custom styling.

Examples

Sticky (default)

<%= ui.group do %>
  <%= ui.btn "Button First" %>
  <%= ui.btn "Button Second" %>
  <%= ui.btn "Button Third" %>
<% end %>

With Gap

<%= ui.group sticky: false do %>
  <%= ui.btn "Button With Gap", variant: :outline %>
  <%= ui.btn "Button With Gap", variant: :outline %>
  <%= ui.btn "Button With Gap", variant: :outline %>
<% end %>

With Dropdown

<%= ui.group do %>
  <%= ui.btn "Button First", variant: :outline %>
  <%= ui.dropdown do %>
    <%= ui.dropdown_trigger ui.icon("chevron-down"), as: :btn, variant: :outline, size: :icon_md %>
    <%= ui.dropdown_menu do %>
      <%= ui.dropdown_title "Title" %>
      <%= ui.dropdown_link "Settings", url: "#" %>
      <%= ui.dropdown_link "Sign Out", url: "#" %>
    <% end %>
  <% end %>
<% end %>

With Input

<%= ui.group do %>
  <input type="text" class="form__field">
  <%= ui.btn "Search", variant: :outline %>
<% end %>