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

# <velin-tabs>

Source: `components/velin-tabs.js`

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

```html
<velin-tabs>
              <button type="button" slot="tab" aria-selected="true">Home</button>
              <button type="button" slot="tab">Profile</button>
              <button type="button" slot="tab">Settings</button>
              <div slot="panel"><p>Home tab content.</p></div>
              <div slot="panel"><p>Profile tab content.</p></div>
              <div slot="panel"><p>Settings tab content.</p></div>
            </velin-tabs>
```

_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:** `tablist`, `tab`, `tabpanel`
- **Keyboard:** Roving, auto-select arrows

## Attributes
_No `observedAttributes` declared._ Author-facing configuration may still use slots, properties, or child markup — see **Slots** / **Public API** below.

| Author surface | Notes |
| --- | --- |
| slot `panel` | Content projection (not an observed attribute) |
| slot `tab` | Content projection (not an observed attribute) |
## Events
- `velin-tab-change` (bubbles)
## CSS parts
- `panels`
- `tablist`
## Slots
- `panel`
- `tab`
## Public API
_No public methods detected._
## Related resources
- Generated API docs (canonical): [`velin-tabs.md`](./velin-tabs.md)
- Generated index: [README.md](./README.md)
- CLI API: `npx velinstyle wc api velin-tabs`
- Human docs EN (tutorial) (alias allowlist): `docs/components/navs-tabs.html`
- Human docs DE (tutorial, lang-map): `docs/components/navigation-tabs.html`
- Atelier showcase (DIRECT CE match, `08-team`): `atelier/library/showcases/08-team/index.html`
- Atelier library (showcases — **not** a 1:1 Component map): `atelier/library/index.html`
