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

The headless surface is a pair: tngButtonToggleGroup owns focus and selection, while tngButtonToggle owns the individual button state hooks.

Group attachment

html
<div
  tngButtonToggleGroup
  type="single"
  [tngButtonToggleValue]="density()"
  (valueChange)="onDensityChange($event)"
>
  <button tngButtonToggle tngButtonToggleValue="compact">Compact</button>
  <button tngButtonToggle tngButtonToggleValue="comfortable">Comfortable</button>
</div>
Input / outputTypeDetails
type'single' | 'multiple'Switches between radio-style single selection and pressed-button multi selection.
tngButtonToggleValue, valuestring | number | nullControlled single selected value.
tngButtonToggleValues, valuesreadonly (string | number)[]Controlled multi-select values.
allowEmptybooleanAllows a single-select group to clear its selection.
orientation'horizontal' | 'vertical'Changes keyboard axis and reflected aria-orientation.
activation'auto' | 'manual'Controls whether arrow key focus movement also commits selection.
valueChange, valuesChangeAngular outputsEmit controlled-state updates for single and multiple groups.
toggleChange, focusChangeAngular outputsEmit richer metadata for analytics, focus tracking, and instrumentation.

tngButtonToggle

Each item is a real <button> with value, disabled state, and group-aware ARIA bindings.

Item attachment

html
<button
  tngButtonToggle
  tngButtonToggleValue="bold"
>
  Bold
</button>
Input / host stateDetails
tngButtonToggleValue, valueStable identity used by the group selection model.
pressedStandalone pressed state when the button is used outside a group.
disabledDisables the button directly or inherits disabled state from the group.
data-selected, data-statePrimary styling hooks for active and inactive visuals.
data-focusedRoving-focus marker for group-driven focus movement.
aria-pressed, aria-checkedAutomatically chosen based on standalone use, single-select groups, and multi-select groups.

Selection events

Prefer the group-level outputs when multiple items participate in the same decision. Those outputs already include the next value set and the trigger source.