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

# <velin-icon>

Source: `components/velin-icon.js`

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

```html
<!-- Set <meta name="velin-icon-sprite" content="vendor/velinstyle/velin-icons.svg"> once -->
<velin-icon name="check" size="20" label="Done"></velin-icon>
```

_Example from curated docgen starter map._

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

- **Roles:** `img`, `presentation`
- **Required attributes:** `label`
- **Notes:** Decorative when no label; SVG aria-hidden. Do not set aria-hidden on host in JS.

## Attributes
| Attribute | Notes |
| --- | --- |
| `name` | Observed — triggers `attributeChangedCallback` when changed |
| `size` | Observed — triggers `attributeChangedCallback` when changed |
| `label` | Observed — triggers `attributeChangedCallback` when changed (required by a11y contract) |
| `provider` | Observed — triggers `attributeChangedCallback` when changed |
| `variant` | Observed — triggers `attributeChangedCallback` when changed |
| `sprite` | Observed — triggers `attributeChangedCallback` when changed |
## Events
_None._
## CSS parts
_None._
## Slots
_None._
## Public API
_No public methods detected._
## Related resources
- Generated API docs (canonical): [`velin-icon.md`](./velin-icon.md)
- Generated index: [README.md](./README.md)
- CLI API: `npx velinstyle wc api velin-icon`
- Atelier library (showcases — **not** a 1:1 Component map): `atelier/library/index.html`
