# Components The component classes are CSS-only families in `@layer components`. Each is a bare noun (`.card`, `.callout`, `.pill`, `.tab`, `.terminal`), its parts carry the family prefix (`.card-head`, `.pill-dot`, `.tab-list`), and its variants are `is-` modifiers (`is-primary`, `is-active`, `is-error`). See the naming rule (`elements man style`). ## CSS-only scope Everything here is **styling applied to markup you write**. There is no JavaScript in this package. No behavior is attached to any class. A `.tab` doesn't switch panels; a copy button doesn't copy. The classes give you the finished look and the state hooks (`is-active`, `is-copied`, `is-loading`); you supply the behavior that toggles them. Interactive widgets that are fundamentally about JavaScript (dialogs, dropdowns, toasts, menus, command palettes, comboboxes, calendars, data tables, sheets, and the like) are **not part of `@elements/style`**. They belong to a separate `@elements/ui` package that is not shipped in v1. Don't look for a `.dialog` or `.dropdown` here; they aren't in this package. ## Bare elements come first Before the component classes, remember that bare `