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

Styling contract

Tag exposes stable slot and state hooks so teams can theme headless and wrapper usage without relying on brittle DOM selectors.

Slot and state hooks

AttributeValuesUsage
data-slottag | tag-icon | tag-closeStable slot selectors for root/icon/close parts.
data-disabledpresent / absentApplied when tag removal should be disabled.
data-removablepresent / absentApplied on root when removable mode is enabled.
data-focusedpresent / absentApplied on close trigger while focused.

Wrapper data hooks

AttributeValuesUsage
data-toneneutral | info | success | warning | dangerSemantic color system.
data-appearancesoft | solid | outlineVariant style mode.
data-shapepill | roundedCorner style mode.
data-sizesm | mdTag sizing preset.

Example contract overrides

tag.contract.css

css
.tag-chip[data-slot="tag"] {
  border-radius: 9999px;
  display: inline-flex;
  gap: 0.35rem;
}

.tng-tag[data-tone="success"][data-appearance="soft"] {
  background: color-mix(in srgb, var(--tng-semantic-accent-success) 18%, transparent);
  color: var(--tng-semantic-accent-success);
}

.tng-tag[data-appearance="outline"] {
  background: var(--tng-semantic-background-base);
  border: 1px solid var(--tng-semantic-border-strong);
}

.tng-tag [data-slot="tag-close"] {
  border-radius: 9999px;
  inline-size: 1rem;
  block-size: 1rem;
}

.tng-tag[data-disabled] {
  opacity: 0.62;
}