# Sparkline Design System > Angular component library (standalone components). Every component is themed through semantic CSS custom properties. These docs are written for AI coding agents building product screens from the library. Before writing UI: load `src/styles.scss` once, wrap the app in an element with `data-theme="light"`, and use the Sparkline component for any control that has one. Listen to Sparkline outputs (`(buttonClick)`, `(valueChange)`, `(checkedChange)`), and bind `sp-input` with `ngModel` or reactive forms. ## Guides - [Building an app with Sparkline](agents/building-with-sparkline.md): setup, rules, and what to do when a component is missing. Read first. - [Tokens](agents/tokens.md): semantic color, spacing, radius, shadow and type tokens for app styles. ## Components - [Avatar](components/avatar.md): `` is a small circular representation of a person: initials, a photo or a generic account icon. Can show a status dot or a notification count. - [Badge](components/badge.md): `` is a small status marker: a numeric count or a colored dot. - [Button](components/button.md): `` triggers an action. Three emphasis levels: `filled` (primary), `outlined` (secondary), `text` (tertiary or inline). - [ButtonGroup](components/button-group.md): `` is a segmented control: a row of connected buttons where exactly one is active. - [Card](components/card.md): `` is a container surface for grouping related content. It only handles the surface (background, border or shadow, radius, padding); you project the content inside. - [Checkbox](components/checkbox.md): `` is a labeled checkbox for on/off choices and consent. Supports an indeterminate (mixed) state. - [Chip](components/chip.md): `` is a compact pill for a tag, filter or selection. `clearable` chips have a remove icon. - [Icon](components/icon.md): `` renders a 24x24-grid SVG icon from the Sparkline registry. `` renders every icon, for documentation. - [Input](components/input.md): `` is a single-line text field with label, helper or error text, and optional icons. It is an Angular form control, so it works with `ngModel` and reactive forms. - [Radio](components/radio.md): `` is a single labeled radio button. There is no group component: you manage which radio in a set is checked. - [Select](components/select.md): `` is a dropdown for choosing one option, or several with `multiple`. Custom trigger and panel, not a native `