Popover

Displays rich content in a portal, triggered by a button.

Installation

ng g @spartan-ng/cli:ui popover

Usage

import { HlmPopoverImports } from '@spartan-ng/helm/popover';
<hlm-popover>
  <button hlmPopoverTrigger>Open Popover</button>
  <hlm-popover-content *hlmPopoverPortal="let ctx"></hlm-popover-content>
</hlm-popover>

Examples

Basic

Align

RTL

To enable RTL support in spartan-ng, see the RTL configuration guide.

Brain API

BrnPopoverContent

Selector: [brnPopoverContent]

Inputs

PropTypeDefaultDescription
class string | null | undefined undefined -
context T | undefined undefined -

BrnPopoverTrigger

Selector: button[brnPopoverTrigger],button[brnPopoverTriggerFor]

Inputs

PropTypeDefaultDescription
brnPopoverTriggerFor BrnPopover | undefined undefined -
id string `brn-overlay-trigger-${++triggerIdSequence}` -
type 'button' | 'submit' | 'reset' 'button' -
brnOverlayTriggerFor BrnOverlay | undefined undefined -

BrnPopover

Selector: [brnPopover],brn-popover

ExportAs: brnPopover

Inputs

PropTypeDefaultDescription
align BrnPopoverAlign this._config.align -
sideOffset number this._config.sideOffset -
offsetX number this._config.offsetX -
id string `brn-overlay-${++overlayIdSequence}` -
state BrnOverlayState | null null -
role BrnOverlayOptions['role'] this._defaultOptions.role -
hasBackdrop boolean this._defaultOptions.hasBackdrop -
positionStrategy BrnOverlayOptions['positionStrategy'] this._defaultOptions.positionStrategy -
scrollStrategy BrnOverlayOptions['scrollStrategy'] | 'close' | 'reposition' | null this._defaultOptions.scrollStrategy -
closeOnOutsidePointerEvents boolean this._defaultOptions.closeOnOutsidePointerEvents -
attachTo BrnOverlayOptions['attachTo'] this._defaultOptions.attachTo -
attachPositions BrnOverlayOptions['attachPositions'] this._defaultOptions.attachPositions -
disableClose boolean this._defaultOptions.disableClose -
autoFocus boolean this._defaultOptions.autoFocus -

Outputs

PropTypeDefaultDescription
closed TResult --
stateChanged BrnOverlayState --

Helm API

HlmPopoverContent

Selector: [hlmPopoverContent],hlm-popover-content

HlmPopoverDescription

Selector: [hlmPopoverDescription]

HlmPopoverHeader

Selector: [hlmPopoverHeader],hlm-popover-header

HlmPopoverPortal

Selector: [hlmPopoverPortal]

Inputs

PropTypeDefaultDescription
context T | undefined undefined -
class string | null | undefined undefined -

HlmPopoverTitle

Selector: [hlmPopoverTitle]

HlmPopoverTrigger

Selector: button[hlmPopoverTrigger],button[hlmPopoverTriggerFor]

Inputs

PropTypeDefaultDescription
id string `brn-overlay-trigger-${++triggerIdSequence}` -
hlmPopoverTriggerFor BrnPopover | undefined undefined -
type 'button' | 'submit' | 'reset' 'button' -

HlmPopover

Selector: [hlmPopover],hlm-popover

Inputs

PropTypeDefaultDescription
align BrnPopoverAlign this._config.align -
attachTo BrnOverlayOptions['attachTo'] this._defaultOptions.attachTo -
autoFocus boolean this._defaultOptions.autoFocus -
closeOnOutsidePointerEvents boolean this._defaultOptions.closeOnOutsidePointerEvents -
offsetX number this._config.offsetX -
sideOffset number this._config.sideOffset -
state BrnOverlayState | null null -

Outputs

PropTypeDefaultDescription
stateChanged BrnOverlayState --
closed TResult --
Progress Pagination