NEURALNG

PUBLIC CONTRACT

Popover API

Component inputs

InputTypeDefaultPurpose
openModelSignal<boolean>false Controlled visibility state.
positionNeuralPopoverPosition'bottom-start' Fallback logical placement.
offsetnumber8 Gap from the active trigger in pixels.
viewportPaddingnumber8 Minimum distance from viewport edges.
focusOnOpen'none' | 'first''none' Optional focus transfer policy.
dismissiblebooleantrue Closes on outside pointer interaction.
closeOnEscapebooleantrue Closes the topmost panel with Escape.
restoreFocusbooleantrue Returns focus for explicit and keyboard closes.
matchTriggerWidthbooleanfalse Matches the active trigger inline size.
showArrowbooleanfalse Renders the positioned structural arrow.
role'dialog' | 'region' | nullnull Opt-in semantic role.
popoverIdstringgenerated Stable ID linked to the trigger.
ariaLabelstring | nullnull Direct accessible name.
ariaLabelledbystring | nullnull Visible accessible-name reference.
ariaDescribedbystring | nullnull Accessible description reference.
unstyledbooleanfalse Removes NeuralNg visual classes.
popoverClassstring'' Additive root classes.
classesNeuralPopoverClasses{} Typed root, content and arrow slots.

Trigger inputs

neuralPopoverTriggerForNeuralPopoverrequired Popover instance controlled by this trigger.
popoverPositionNeuralPopoverPositioncomponent value Per-trigger placement override.
popoverOffsetnumbercomponent value Per-trigger gap override.
popoverViewportPaddingnumbercomponent value Per-trigger viewport padding.
popoverFocusOnOpen'none' | 'first'component value Per-trigger focus policy.
popoverDisabledbooleanfalse Disables disclosure behavior.

Outputs

openChangeboolean

Generated by the open model.

openedNeuralPopoverOpenEvent

Active trigger and requested position.

closedNeuralPopoverCloseEvent

Exact reason, trigger and original event.

Imperative methods

showFor(trigger, options?)→ void

Opens for a specific HTMLElement.

toggleFor(trigger, options?, event?)→ void

Toggles for a specific trigger.

hide(reason?, restoreFocus?, event?)→ void

Closes with deterministic metadata.

isTriggerOpen(trigger)→ boolean

Checks whether a trigger owns the open panel.

Directives

NeuralPopoverTrigger

Disclosure and ARIA synchronization.

NeuralPopoverClose

Explicit in-panel close action.

NeuralPopoverInitialFocus

Preferred initial focus target.

Typed class slots

root

Top-layer positioned panel.

content

Projected content wrapper.

arrow

Optional positioned arrow.

Public types

NeuralPopoverPosition

'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'right'

NeuralPopoverCloseReason

'trigger' | 'outside' | 'escape' | 'close-directive' | 'api' | 'native'

NeuralPopoverClasses

{ root?, content?, arrow? }

NeuralPopoverShowOptions

{ position?, offset?, viewportPadding?, focusOnOpen? }

Legacy aliases

PopoverComponent, PopoverTriggerDirective, PopoverCloseDirective and PopoverInitialFocusDirective remain compatible. New code should use the concise Neural-prefixed exports.