Skip to content

Automatic width calculation of ActionMenu inside Dialog is broken #2926

@HDinger

Description

@HDinger

Steps to reproduce

  • Create a Primer::Alpha::Dialog
  • Inside the dialog create a Primer::Alpha::ActionMenu
  • Open the dialog and open the menu inside it
    <%= render(Primer::Alpha::Dialog.new(title: "Test")) do |d|
      d.with_show_button { button_text }
      d.with_body do
        render(Primer::Alpha::ActionMenu.new(anchor_align: :end,
                                             select_variant: :single,
                                             )) do |menu|
          menu.with_show_button() do |button|
            button.with_trailing_action_icon(icon: "triangle-down")
            "Open me"
          end
          menu.with_item(label: "Item 1")
          menu.with_item(label: "Item 2")
          menu.with_item(label: "Item 3")

        end

      end
    end %>

Actual behavior

  • The dropdown of the menu is way too large
  • This happens because the dialog sets --overlay-width: _{{xy}}_ px;. And the ActionMenu uses the same variable for its own width calulation
Bildschirmfoto 2024-07-01 um 08 59 29
  • This gets evn more bad, the larger the dialog itself is:
Bildschirmfoto 2024-07-01 um 09 03 14

Expected behavior

  • The automtic width calucation should also be working inside a dialog
Bildschirmfoto 2024-07-01 um 09 02 33

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions