# Components

### Foundations

- `button`
- `input`
- `textarea`
- `checkbox`
- `switch`
- `badge`
- `card`
- `alert`
- `avatar`
- `progress`
- `separator`
- `skeleton`
- `spinner`

### Product primitives

- `filter-chip`
- `status-pill`
- `empty-state`
- `color-dot`
- `tag-chip`
- `legend-item`
- `list-row`
- `list-item`
- `color-swatch`
- `status-badge`
- `department-dot`

### Application components

- `video-player`
- `banner`
- `custom-banner`
- `code-viewer`
- `resizable`
- `composer`
- `ai-composer`
- `search-input`
- `menu`
- `dropdown`
- `sidebar`
- `mobile-nav`
- `modal`
- `popover`
- `chart`
- `table`
- `cursor`

### Motion plugins

- `css-motion`
- `gsap-motion`
- `motion-reveal`

### Blocks

- `blocks-sign-in`
- `blocks-sign-in-css`
- `blocks-sign-in-gsap`
- `blocks-session`
- `blocks-color-filter`
- `blocks-hero-simple`
- `blocks-hero-centered`
- `blocks-cta-section`
- `blocks-feature-grid`
- `blocks-gallery-mosaic`
- `blocks-photo-story`
- `blocks-testimonial-section`
- `blocks-testimonial-grid`
- `blocks-logo-cloud`
- `blocks-local-logo-wall`
- `blocks-faq-section`

Blocks install their declared DUI primitives automatically. Motion-enhanced variants are separate registry entries, so products can start with the normal block and opt into CSS or GSAP only when needed.

The source of truth is [`registry.json`](https://github.com/qentrah/DUI/blob/master/registry.json). Built registry payloads are generated in [`public/r`](https://github.com/qentrah/DUI/blob/master/public/r).