# Icon
## Examples
### Default
```html
```
### Sizes
```html
${Object.values(IconSize).map(
(size) => html` `
)}
```
### WithLabel
```html
```
### IconGallery
```html
```
## Usage
**Use the Icon Component to:**
- Represent actions (e.g., Edit, Delete, Download).
- Indicate statuses (e.g., Success, Error, Warning).
- Provide visual clarity to buttons, links, and menus.
- Enhance labels and navigation in toolbars, dashboards, and sidebars.
- Improve scalability and performance by using vector-based icons.
**Do not use the Icon Component to:**
- Display large, decorative illustrations (use Image or Illustration components instead).
- Replace all text labels with icons alone (icons should supplement text, not replace it).
- Use external images or rasterized icons (SVG icons should be preferred for scalability).
## Other Considerations
Use consistent iconography to avoid confusion (e.g., a trash can should always represent "Delete").
Icons should inherit text color when used inline for easy theming.
Support size variations (small, medium, large) for different use cases.
## Design Rationale
Scalability: SVG icons remain sharp at any resolution.
Consistency: A standardized component ensures a uniform visual language.
Accessibility: Structured implementation improves usability for assistive technologies.
Performance Optimization: SVGs load faster and consume fewer resources than images.