Popover Menu Create a popover menu by combining the Popover and Menu components.
Important Notes: It is recommended to set the spacing to none because the Menu component already has spacing built in.
Demo

Choose one of these

  • Twig
    {% set trigger %}
      {% include '@bolt-elements-button/button.twig' with {
        content: 'This triggers a popover menu',
        attributes: {
          type: 'button'
        }
      } only %}
    {% endset %}
    {% set content %}
      {% set list_items %}
        {% set menu_item_one %}
          {% include '@bolt-elements-text-link/text-link.twig' with {
            content: 'Menu Item One',
            attributes: {
              type: 'button'
            }
          } only %}
        {% endset %}
        {% set menu_item_two %}
          {% include '@bolt-elements-text-link/text-link.twig' with {
            content: 'Menu Item Two',
            attributes: {
              type: 'button'
            }
          } only %}
        {% endset %}
        {% set menu_item_three %}
          {% include '@bolt-elements-text-link/text-link.twig' with {
            content: 'Menu Item Three',
            attributes: {
              type: 'button'
            }
          } only %}
        {% endset %}
        {% include '@bolt-elements-menu/menu-item.twig' with {
          content: menu_item_one,
        } only %}
        {% include '@bolt-elements-menu/menu-item.twig' with {
          content: menu_item_two,
        } only %}
        {% include '@bolt-elements-menu/menu-item.twig' with {
          content: menu_item_three,
        } only %}
      {% endset %}
      {% include '@bolt-elements-menu/menu.twig' with {
        title: 'Choose one of these',
        content: list_items
      } only %}
    {% endset %}
    {% include '@bolt-components-popover/popover.twig' with {
      trigger: trigger,
      content: content,
      spacing: 'none',
    } only %}
    HTML
    <bolt-popover>
      <button type="button" class="e-bolt-button">
        This triggers a popover
      </button>
      <div slot="content">
        <bolt-menu>
          <bolt-menu-item>
            Menu Item 1
          </bolt-menu-item>
          <bolt-menu-item>
            Menu Item 2
          </bolt-menu-item>
          <bolt-menu-item>
            Menu Item 3
          </bolt-menu-item>
        </bolt-menu>
      </div>
    </bolt-popover>