<!-- Auto-generated by `velinstyle docs generate`. Do not edit. Source: components/velin-combobox.js -->

# <velin-combobox>

Source: `components/velin-combobox.js`

## Minimal working example
Copy-paste starter (load CSS + `velinstyle-components` / `bootFromDOM` as needed):

```html
<velin-combobox aria-label="Fruit picker" style="max-width:20rem">
              <input type="text" slot="trigger" class="velin-input" placeholder="Pick a fruit" aria-label="Fruit" />
              <button type="button" role="option">Apple</button>
              <button type="button" role="option">Banana</button>
              <button type="button" role="option">Cherry</button>
            </velin-combobox>
```

_Example derived from human component docs (`exampleSource: human-doc`; fail-closed extract — not a second SoT)._

## Accessibility
WCAG contract status: **pass** (framework target: AAA).

- **Roles:** `combobox`, `listbox`
- **Keyboard:** Roving, Escape, Enter
- **Required attributes:** `aria-label`

## Attributes
| Attribute | Notes |
| --- | --- |
| `open` | Observed — triggers `attributeChangedCallback` when changed |
| `aria-label` | Observed — triggers `attributeChangedCallback` when changed (required by a11y contract) |
## Events
- `velin-close` (bubbles)
- `velin-select` (bubbles)
## CSS parts
- `listbox`
## Slots
- `(default)`
- `trigger`
## Public API
| Kind | Name |
| --- | --- |
| Method | `close()` |
| Method | `open()` |
| Method | `toggle()` |
## Related resources
- Generated API docs (canonical): [`velin-combobox.md`](./velin-combobox.md)
- Generated index: [README.md](./README.md)
- CLI API: `npx velinstyle wc api velin-combobox`
- Human docs EN (tutorial): `docs/components/combobox.html`
- Human docs DE (tutorial, lang-map): `docs/components/combobox-de.html`
- Atelier library (showcases — **not** a 1:1 Component map): `atelier/library/index.html`
