Skip to main content

Popover

An accessible popup anchored to a button.

Features

Installation

typo3 ui:add popover

Read more about installing Components and Primitives.

Examples

With Close Button

Show a close button inside the popover.

Custom Positioning

Control where the popover appears relative to the trigger.

Modal Mode

Make the popover modal to trap focus and block interaction with the rest of the page.

Localization

Default close trigger labels are shipped via XLF and follow the current Site Language. For per-template overrides, pass translated strings through the translations prop. Set closeTriggerLabel to {false} or an empty string to omit the aria-label.

<ui:popover.root
    translations="{
        closeTriggerLabel: f:translate(key: 'LLL:EXT:site_package/Resources/Private/Language/locallang.xlf:popover.close')
    }"
>
    ...
</ui:popover.root>

API Reference

The following tables cover the available props of the Fluid Primitives. For a full list of available client side props and methods, see the Zag.js Machine API.

popover.root

Provides popover state and context for the composed parts. Renders no wrapper element.

NameDescriptionRequiredDefault
modalboolean
Whether the popover should be modal.
No
false
portalledboolean
Whether the popover is portalled and proxies tabbing behavior regardless of DOM position.
No
true
autoFocusboolean
Whether to automatically set focus on the first focusable content within the popover when opened.
No
true
restoreFocusboolean
Whether to restore focus to the element that had focus before the popover was opened.
No
true
closeOnInteractOutsideboolean
Whether to close the popover when the user clicks outside of the popover.
No
true
closeOnEscapeboolean
Whether to close the popover when the escape key is pressed.
No
true
positioningarray
The user provided options used to position the popover content.
No
-
defaultOpenboolean
The initial open state of the popover when rendered. Use when you don't need to control the open state of the popover.
No
-
translationsarray
Localized popover labels. Set entries to `` to omit the corresponding `aria-label`. Use `f:translate` for per-template localization overrides when needed.
No
-

popover.trigger

Opens and closes the popover. Renders a <button> element.

popover.positioner

Positions the popover content relative to the trigger. Renders a <div> element.

popover.content

Contains the popover panel content. Renders a <div> element.

popover.arrow

Displays a decorative arrow for the popover. Renders a <div> element.

popover.indicator

Displays a decorative state indicator. Renders a <div> element.

popover.title

Provides the accessible title for the popover. Renders a <div> element.

popover.description

Provides supporting descriptive text for the popover. Renders a <div> element.

popover.closeTrigger

Closes the popover when activated. Renders a <button> element.

Anatomy

<primitives:popover.root>
    <primitives:popover.trigger />
    <primitives:popover.positioner>
        <primitives:popover.content>
            <primitives:popover.arrow />
            <primitives:popover.closeTrigger />
            <primitives:popover.title />
            <primitives:popover.description />
        </primitives:popover.content>
    </primitives:popover.positioner>
</primitives:popover.root>