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

Styling contract

Style tngInputGroup through its host selector, mirrored state attributes, and the stable slot attributes rendered by the primitive.

CSS contract table

HookApplied toUse it for
[data-slot="input-group"]Group hostBorder, background, radius, padding, and focus ring.
[data-slot="input-group-leading"]Generated leading regionOptional structural spacing around prefix content.
[data-slot="input-group-control"]Generated control regionStructural layout around the projected control when needed.
[data-slot="input-group-trailing"]Generated trailing regionOptional structural spacing around suffix or action content.
[data-slot="input"]Projected controlReset browser chrome and tune native control typography.
[data-slot="input-leading"], [data-slot="input-trailing"]Projected contentStyle prefix, suffix, and trailing action content directly.

State selectors

The group host mirrors focus, invalid, disabled, readonly, and slot-presence state so the shell can respond without custom event wiring.

State selector starter

css
.docs-workspace-shell[data-slot='input-group'] {
  border: 1px solid #cbd5e1;
  border-radius: 0.85rem;
  padding-inline: 0.9rem;
}

.docs-workspace-shell[data-slot='input-group'][data-focused] {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
}

.docs-workspace-shell[data-slot='input-group'][data-disabled] {
  opacity: 0.64;
}

Example shells

Workspace slug shell

A simple grouped field with a fixed suffix is usually enough to show the public styling surface clearly.

Workspace slug shell (Plain-CSS)