Getting StartedInstallation and setup guides 5
LayoutWorkflow and structural layout components 7
OverlayModal and floating layer surfaces 3
FeedbackStatus, empty, progress, and loading placeholder patterns 5
FormInput and selection components 17
UtilityGeneral-purpose interface utilities 7
NavigationMenu surfaces and hierarchical actions 7

Button overview

<tng-button> wraps the headless tngPress primitive with a minimum visual shell, semantic tones, and size variants.

Imports

Use the wrapper when you want the button shell and state attributes without owning the CSS baseline yourself.

Wrapper imports

ts
import { TngButtonComponent } from '@tailng-ui/components';
import { TngIcon } from '@tailng-ui/icons';

Minimal wrapper usage

html
<tng-button
  tone="primary"
  appearance="solid"
  type="button"
  (click)="submit()"
>
  Save changes
</tng-button>

Style variants

The wrapper keeps its own minimum shell while you customize layout, icon content, and surrounding composition.

Wrapper button (Plain CSS)

clicked: 0

Accessibility baseline

  • The wrapper always renders a native button internally.
  • Pressed, expanded, popup, and controls relationships are forwarded through the primitive’s ARIA inputs.
  • Visual state is exposed through data-appearance, data-tone, data-size, and data-disabled.