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

Supported contract

The styled wrapper is designed to be themed from its host. Override semantic tokens on <tng-multi-autocomplete>; drop to headless when you need direct control of chips, option rows, or overlay markup.

Selector or tokenApplied onPurpose
tng-multi-autocompleteWrapper hostWidth, margins, host-level semantic tokens, and surrounding shell ownership.
--tng-semantic-background-canvasWrapper hostBase trigger background for the owned input shell.
--tng-semantic-background-surfaceWrapper hostChip fill and overlay surface background.
--tng-semantic-border-subtleWrapper hostOverlay border and softer internal boundaries.
--tng-semantic-border-strongWrapper hostResting shell border and stronger chip outlines.
--tng-semantic-foreground-primaryWrapper hostTrigger text, chip text, and default option label color.
--tng-semantic-foreground-secondaryWrapper hostSupporting copy around the control and any custom template metadata.
--tng-semantic-foreground-mutedWrapper hostPlaceholder text and empty-state copy.
--tng-semantic-accent-brandWrapper hostSelected option accent and brand-colored interaction states.
--tng-semantic-focus-ringWrapper hostFocus ring around the wrapper-owned trigger shell.

Host tokens

These host-level variables are the stable styling surface for the wrapper. The same token set feeds the trigger, chips, and overlay rows.

multi-autocomplete.tokens.css

css
tng-multi-autocomplete.docs-component-multi-autocomplete-styling-release-owner-shell {
  --tng-semantic-background-canvas: #ffffff;
  --tng-semantic-background-surface: #f8fafc;
  --tng-semantic-border-subtle: #d8e2ef;
  --tng-semantic-border-strong: #94a3b8;
  --tng-semantic-foreground-primary: #0f172a;
  --tng-semantic-foreground-secondary: #475569;
  --tng-semantic-foreground-muted: #64748b;
  --tng-semantic-accent-brand: #2563eb;
  --tng-semantic-focus-ring: #2563eb;

  --tng-multi-autocomplete-radius: 1rem;
  --tng-multi-autocomplete-padding: 0.5rem;
  --tng-multi-autocomplete-trigger-py: 0.45rem;
  --tng-multi-autocomplete-trigger-px: 0.5rem;
  --tng-multi-autocomplete-chip-py: 0.375rem;
  --tng-multi-autocomplete-chip-px: 0.75rem;
  --tng-multi-autocomplete-option-py: 0.625rem;
  --tng-multi-autocomplete-option-px: 0.875rem;
  --tng-multi-autocomplete-bg: #ffffff;
  --tng-multi-autocomplete-surface: #f8fafc;
  --tng-multi-autocomplete-border: #d8e2ef;
  --tng-multi-autocomplete-border-strong: #94a3b8;
  --tng-multi-autocomplete-fg: #0f172a;
  --tng-multi-autocomplete-muted: #64748b;
  --tng-multi-autocomplete-brand: #2563eb;
  --tng-multi-autocomplete-focus-ring: #2563eb;
}

/* Structural slot selectors remain private to the wrapper. */
/* Move to headless or ownable when you need direct chip / option DOM ownership. */

Release owner shell

The wrapper keeps the same API while plain CSS and Tailwind shells override host-level tokens.

Release owner shell (Plain-CSS)

Release owners

Host-level semantic tokens restyle the wrapper without reaching into private child selectors.

Mina LeeSanjay Patel

Selected: Mina Lee, Sanjay Patel