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

label[tngLabel] is intentionally small: it leaves native label behavior intact and only adds state hooks for your styling layer.

Directive attachment

html
<label tngLabel for="release-owner">Release owner</label>
InputTypeDefaultDetails
disabledbooleanfalseAdds data-disabled for reduced-emphasis label styling.
requiredbooleanfalseAdds data-required so your CSS can append or color a required indicator.

Output attributes

AttributeWhen it appearsPurpose
data-slot="label"AlwaysBase selector for typography, spacing, and layout styling.
data-requiredWhen required is trueRequired marker styling without owning a wrapper component.
data-disabledWhen disabled is trueMuted label styling that mirrors a disabled control state.

Usage notes

  • Use for/id for text fields, selects, and textareas when the label and control are siblings.
  • Wrap the control inside label[tngLabel] when you want a compact checkbox or radio row.
  • required is visual only; keep native required or aria-required on the control.
  • disabled on the label does not disable the input; apply it to the control as well.

Wrapped checkbox row

html
<label tngLabel>
  <input type="checkbox" />
  Notify the release channel
</label>