Getting StartedInstall and bootstrap headless foundations 4
LayoutHeadless structural primitives for expandable and container patterns 6
OverlayHeadless modal and floating layer behavior 3
FeedbackHeadless notification and status communication patterns 5
FormHeadless input and selection contracts 17
UtilityReusable action, identity, and clipboard behavior 6
NavigationHeadless trails, trees, menus, and command surfaces 7

API reference

tngPress is a host-normalization directive for button-like interaction. It does not own state or emit custom events; it just makes the host behave like a proper press target.

Directive selector

The primitive attaches only to button[tngPress] and a[tngPress]. That keeps the semantics tight and avoids pretending arbitrary elements are buttons.

Supported hosts

html
<button tngPress type="button">Press host</button>
<a tngPress>Anchor button host</a>

Inputs and attrs

InputTypeNotes
type'button' | 'submit' | 'reset'Applied only when the host is a native button element.
disabledbooleanBlocks click and keyboard activation and reflects disabled host attrs.
ariaPressed, ariaExpandedboolean | nullNullable coercion to ARIA boolean attributes.
ariaHasPopup'menu' | 'dialog' | 'listbox' | 'grid' | 'tree' | 'true' | 'false'Normalized allowed popup values only.
ariaControlsstring | nullTrimmed to null when empty or whitespace.

Host normalization

On anchors without href, the primitive adds role="button", normalizes Enter and Space activation, and manages tabindex based on disabled state. On native buttons, it forwards type and disabled.

Disclosure anchor

html
<a
  tngPress
  [ariaHasPopup]="'menu'"
  [ariaExpanded]="open()"
  [ariaControls]="'release-actions'"
  [disabled]="isDisabled()"
>
  Release actions
</a>

<div id="release-actions" [hidden]="!open()">...</div>