Skip to content

Composites

A composite is best understood as a UI pattern.

It’s not a single primitive, it’s an assembly of elements + state + behavior or visual variation that together form a recognizable pattern:

  • HTML elements (e.g. <button>, <ul>, <select>, <dialog>)
  • State (open/closed, focus, selection, etc.)
  • Behavior (toggle, keyboard navigation, dismissal, ARIA roles like menu, listbox, combobox)
  • Visual variation (e.g. a card is not a real element, so comes down to a combination of elements and styles)