Pages
Introduction Colors & Tokens Icons
UI
Button Link Badge Notification Badge Alert Card Spinner Avatar Divider Empty State
Interactive
Modal Side Modal Dropdown Tooltip Accordion Tabs Flash Toast
Forms
Form Select Toggle Checkbox & Radio Text Fields Date & Time Fields
Layout
Navbar Sidebar Table Pagination Breadcrumbs Selector List
Utilities
Local Time
app_theme v1.38.0

Dropdown

A compact menu of related actions, opened from a text trigger. Dropdowns close when the user clicks elsewhere.

Pass a trigger label and a block for a single item. Use the with_trigger and with_item slots for custom trigger content or multiple items.

Set style: :bordered for a button-like trigger, align: :left, :center, or :right to position the menu, and open: true only when the menu should be expanded on first render.

Single item

Options
Edit
= app_theme_dropdown("Options") do
  = app_theme_link "Edit", href: "#"

Trigger styles

Plain trigger
View details
Bordered trigger
View details
.demo-row
  = app_theme_dropdown("Plain trigger") do
    = app_theme_link "View details", href: "#"
  = app_theme_dropdown("Bordered trigger", style: :bordered) do
    = app_theme_link "View details", href: "#"

Action menu

Manage record
View details
Edit
Delete
= app_theme_dropdown(style: :bordered, align: :right) do |dropdown|
  - dropdown.with_trigger do
    %span Manage record
  - dropdown.with_item do
    = app_theme_link "View details", href: "#"
  - dropdown.with_item do
    = app_theme_link "Edit", href: "#"
  - dropdown.with_item do
    = app_theme_link "Delete", href: "#", variant: :danger

Alignment

Align left
Menu item
Align center
Menu item
Align right
Menu item
.demo-row
  - %i[left center right].each do |align|
    = app_theme_dropdown(align: align) do |dropdown|
      - dropdown.with_trigger do
        %span= "Align #{align}"
      - dropdown.with_item do
        = app_theme_link "Menu item", href: "#"

Open on first render

Already open
Menu item
= app_theme_dropdown("Already open", open: true, style: :bordered) do
  = app_theme_link "Menu item", href: "#"