# DAUB UI — Compact Reference
> Full docs: https://daub.dev/llms.txt
> CSS: https://daub.dev/daub.css | JS: https://daub.dev/daub.js
> Classless: https://daub.dev/daub-classless.css
> Prefix: `db-` (classes), `--db-` (CSS vars)
## Quick Start
```html
```
## Top 15 Components
### Button — `.db-btn`
`db-btn--primary`, `db-btn--secondary`, `db-btn--ghost`, `db-btn--sm`, `db-btn--lg`, `db-btn--icon`, `db-btn--loading`
```html
```
### Card — `.db-card`
Modifiers: `db-card--media`, `db-card--clip`, `db-card--interactive`
```html
```
### Input — `.db-input`
Sizes: `db-input--sm`, `db-input--lg`. Error: `db-input--error`.
```html
```
### Field — `.db-field`
```html
Helper text
```
### Tabs — `.db-tabs`
```html
Content 1
Content 2
```
CSS-only: add `db-tabs--static` with radio inputs. No JS needed. Responsive built-in at ≤640px for navbar.
### Modal — `.db-modal-overlay`
```html
```
JS: `DAUB.openModal('my-modal')`, `DAUB.closeModal('my-modal')`
Dynamic: `DAUB.openModal('my-modal', { title: '...', body: '...', footer: '...' })`
### Badge — `.db-badge`
Semantic: `db-badge--new`, `db-badge--updated` / `--success`, `db-badge--warning`, `db-badge--error` / `--danger`
Colors: `db-badge--green`, `db-badge--blue` / `--info`, `db-badge--purple`, `db-badge--amber`, `db-badge--red`, `db-badge--gray`
```html
New
```
### Chip — `.db-chip`
Colors via `--db-chip-h`, `--db-chip-s`, `--db-chip-l`. Presets: `db-chip--green`, `db-chip--blue`, etc.
Toggle: wrap in `[data-db-chip-toggle]`. Single-select: add `data-db-chip-mode="single"`.
```html
Tag
```
### Grid — `.db-grid`
`db-grid--2` to `db-grid--6`. Responsive: collapses at 640px (mobile) and 1024px (tablet).
```html
```
Empty state: `.db-empty` inside `.db-grid` auto-spans all columns.
### Container — `.db-container`
`db-container--wide` (1200px), `db-container--narrow` (640px). Default: 960px.
For grids with 3+ columns, use `db-container--wide`.
### Alert — `.db-alert`
`db-alert--success`, `db-alert--warning`, `db-alert--error`
```html
Done! Saved.
```
### Toast — JS only
```js
DAUB.toast('Saved!', { type: 'success', duration: 3000 });
```
### Dropdown — `.db-dropdown`
```html
```
### Accordion — `.db-accordion`
```html
```
### Switch — `.db-switch`
```html
Dark mode
```
## Themes
20 families × light/dark = 40 variants. Set: ``.
JS: `DAUB.setFamily('dracula')`, `DAUB.setScheme('dark')`, `DAUB.cycleTheme()`
## JS Init
Call `DAUB.init()` on page load (auto). After dynamic HTML: `DAUB.init(parent)`.
Pure CSS components (button, card, badge, input, grid) need no JS.
## Breakpoints
Mobile: `<640px` | Tablet: `640–1023px` | Desktop: `≥1024px`