# 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.