Skip to main content

Your opinion matters! Together with you, we want to continuously improve KoliBri. Share your ideas, wishes, or suggestions—quickly and easily.

Popover

This documentation is currently being revised and is in beta status. Content may still change.
This component is being retested for accessibility. The full test is still pending and can only be completed after a release.

Synonyms: Overlay, Popup, dynamic overlay

Description: The Popover component provides a lightweight, non-modal overlay solution that temporarily displays additional content next to a trigger element. It uses the native HTML Popover API for optimised performance.

The Popover component is used internally within KoliBri (e.g. in the ) and is not intended for direct use in application development. Use the instead.

Example

Simple popover with default configuration:

<button popovertarget="my-popover">Trigger</button>
<div id="my-popover" popover>
<p>This is the popover content.</p>
</div>

Accessibility

  • The Popover component uses the native HTML Popover API for improved support by assistive technologies.
  • The trigger element and the popover content should be semantically linked.
  • The popover content should have sufficient size and contrast for readability.
  • With nested or multiple popovers, focus management can become complex; in such cases, using or is recommended.

Usage

Best practices / Recommendations

  • Use this component primarily for internal KoliBri implementations.
  • Ensure that the popover content is not too large and can be adapted to different screen sizes.
  • Make sure the popover can be closed, e.g. by clicking outside or via an explicit close button.
  • Use meaningful labels and descriptions for the trigger element (_label, _ariaDescription).
  • Consider the position of the popover content (_popoverAlign) to avoid visibility issues.

Use cases

  • Internal use in the PopoverButton component
  • Flexible, lightweight overlay solutions for special requirements
  • Context-sensitive help information or action menus

Construction / Technical

Positioning

The popover position is controlled via _popoverAlign:

ValueDescription
topThe popover is placed above the trigger element.
bottomThe popover is placed below the trigger element (default).
leftThe popover is placed to the left of the trigger element.
rightThe popover is placed to the right of the trigger element.

Events

For the handling of events or callbacks, see .

EventTriggerValue
closeThe popover is closed [Not found in source – please verify]-

API

Overview

A button that toggles the visibility of a popover overlay containing arbitrary content. The popover uses the native HTML Popover API for lightweight, non-modal overlays.

Properties

PropertyAttributeDescriptionTypeDefault
_accessKey_access-keyDefines the key combination that can be used to trigger or focus the component's interactive element.string | undefinedundefined
_ariaDescription_aria-descriptionDefines the value for the aria-description attribute.string | undefinedundefined
_customClass_custom-classDefines the custom class attribute if _variant="custom" is set.string | undefinedundefined
_disabled_disabledMakes the element not focusable and ignore all events.boolean | undefinedfalse
_hideLabel_hide-labelHides the caption by default and displays the caption text with a tooltip when the interactive element is focused or the mouse is over it.boolean | undefinedfalse
_icons_iconsDefines the icon classnames (e.g. _icons="fa-solid fa-user").KoliBriHorizontalIcons & KoliBriVerticalIcons | string | undefinedundefined
_inline_inlineDefines whether the component is displayed as a standalone block or inline without enforcing a minimum size of 44px.boolean | undefinedfalse
_label (required)_labelDefines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to false to enable the expert slot.stringundefined
_name_nameDefines the technical name of an input field.string | undefinedundefined
_popoverAlign_popover-alignDefines where to show the Popover preferably: top, right, bottom or left."bottom" | "left" | "right" | "top" | undefined'bottom'
_shortKey_short-keyAdds a visual shortcut hint after the label and instructs the screen reader to read the shortcut aloud.string | undefinedundefined
_tabIndex_tab-indexDefines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)number | undefinedundefined
_tooltipAlign_tooltip-alignDefines where to show the Tooltip preferably: top, right, bottom or left."bottom" | "left" | "right" | "top" | undefined'top'
_type_typeDefines either the type of the component or of the components interactive element."button" | "reset" | "submit" | undefined'button'
_value_valueDefines the value of the element.boolean | null | number | object | string | undefinedundefined
_variant_variantDefines which variant should be used for presentation."custom" | "danger" | "ghost" | "normal" | "primary" | "secondary" | "tertiary" | undefined'normal'

Methods

click

click() => Promise<void>

Clicks the primary interactive element inside this component.

Returns

Type: Promise<void>

focus() => Promise<void>

Sets focus on the internal element.

Returns

Type: Promise<void>

hidePopover() => Promise<void>

Hides the popover programmatically by forwarding the call to the web component.

Returns

Type: Promise<void>

showPopover() => Promise<void>

Shows the popover programmatically by forwarding the call to the web component.

Returns

Type: Promise<void>

Slots

SlotDescription
The popover content (displayed when the button is clicked).
"expert"Custom label content for the button (when _label is false).