popover docs



A small overlay that opens on demand.

Popover is part of the collection of components, visual styles, and build tools that power the the Bolt Design System.

Install via NPM
npm install @bolt/components-popover
  {% include "@bolt-components-popover/popover.twig" with {
  trigger: "This is the popover trigger",
  content: "This is the popover content."
} only %}

Note: when assigning component props as HTML attributes on a web component, make sure to use kebab-case.

Prop Name Description Type Default Value Option(s)

A Drupal attributes object. Applies extra HTML attributes to the outer <bolt-popover> tag.


Renders the trigger of the popover.


Renders the content of the popover.


Sets the preferred placement of the popover. The actual placement of the popover will be automatically adjusted based on the space available on screen.

string bottom
  • auto, top-start, top, top-end, left-start, left, left-end, right-start, right, right-end, bottom-start, bottom, bottom-end

Controls the spacing around the popover content.

string small
  • none, xsmall, small, medium

Optionally allows you to specify a parent element's CSS selector to use as an outer boundary when calculating placement.


An array of different placement options that Popper.js should try if there isn't enough space for the ideal placement. Normally this defaults to all placement options however this lets you limit the options to pick from in certain situations.


Unique ID for popover, randomly generated if not provided.



Preferred placement
Auto placement
Content spacing Adjust the inset spacing of the content by using the spacing prop.

popover use case menu

Popover menu Create a popover menu by combining the Popover and Menu components.
Web Component Usage Bolt Popover is a web component, you can simply use <bolt-popover> in the markup to make it render.
This triggers a popover
Content This is the content of the popover with a call to action.
<bolt-popover> <bolt-button size="small"> This triggers a popover </bolt-button> <div slot="content"> <bolt-text headline font-size="small">Content</bolt-text> <bolt-text font-size="xsmall">This is the content of the popover with a <bolt-link url="https://pega.com">call to action</bolt-link>.</bolt-text> </div> </bolt-popover>
Prop Usage Configure the popover with the properties specified in the schema.
Popover Menu
Menu Item 1 Menu Item 2 Menu Item 3
<bolt-popover spacing="none" placement="top-start"> <bolt-button size="small"> Popover Menu </bolt-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>
Debug Panel