view_components icon indicating copy to clipboard operation
view_components copied to clipboard

Automatic width calculation of `ActionMenu` inside `Dialog` is broken

Open HDinger opened this issue 1 year ago • 5 comments

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

HDinger avatar Jul 01 '24 07:07 HDinger

Ahh, nice catch. It seems like the top Dialog's CSS variable is overriding the Menu's variable? Pull request welcome if you spot a quick fix. ❤

jonrohan avatar Jul 08 '24 21:07 jonrohan

Hi! This issue has been marked as stale because it has been open with no activity for 180 days. You can comment on the issue or remove the stale label to keep it open. If you do nothing, this issue will be closed in 7 days.

github-actions[bot] avatar Jan 04 '25 22:01 github-actions[bot]

Please leave it open.

HDinger avatar Jan 06 '25 10:01 HDinger

Hi! This issue has been marked as stale because it has been open with no activity for 180 days. You can comment on the issue or remove the stale label to keep it open. If you do nothing, this issue will be closed in 7 days.

github-actions[bot] avatar Aug 06 '25 19:08 github-actions[bot]

Please leave it open.

HDinger avatar Aug 07 '25 06:08 HDinger