name: "Icons" description: "Scalable vector graphics that provide visual meaning and enhance user interface elements with consistent symbolic representation." category: "Display" slds_classes: root: "slds-icon" elements: - class: "slds-icon_container" description: "Container for icon with background" purpose: "Provides background and spacing for icons" modifiers: - class: "slds-icon_xx-small" description: "Extra extra small icon size" usage: "12px icons for very compact spaces" - class: "slds-icon_x-small" description: "Extra small icon size" usage: "16px icons for compact elements" - class: "slds-icon_small" description: "Small icon size" usage: "20px icons for small components" - class: "slds-icon_large" description: "Large icon size" usage: "32px icons for prominent display" - class: "slds-icon-text-default" description: "Default icon color" usage: "Standard text color for icons" - class: "slds-icon-text-light" description: "Light icon color" usage: "Subdued icon appearance" - class: "slds-icon-text-warning" description: "Warning icon color" usage: "Warning state indication" - class: "slds-icon-text-error" description: "Error icon color" usage: "Error state indication" - class: "slds-icon-text-success" description: "Success icon color" usage: "Success state indication" states: [] variants: - name: "Base" description: "Standard icon implementation" classes: - "slds-icon" usage_context: "Default icon display" differences: "SVG icon with standard styling" - name: "Container" description: "Icon with background container" classes: - "slds-icon_container" usage_context: "Icons needing background emphasis" differences: "Icon with colored background circle" lightning_component: name: "lightning-icon" url: "https://developer.salesforce.com/docs/component-library/bundle/lightning-icon" mapping_notes: "Direct mapping - Lightning component implements SLDS icon blueprint" accessibility: keyboard_support: - "No keyboard interaction (display-only)" - "Focus handled by parent interactive elements" screen_reader: - "Icon meaning conveyed through aria-label or title" - "Decorative icons hidden with aria-hidden='true'" - "Meaningful icons announced with appropriate labels" aria_attributes: - "aria-hidden='true' for decorative icons" - "aria-label for meaningful icons without text" - "title attribute for hover tooltips" usage_guidelines: when_to_use: - "To enhance understanding of UI elements" - "For visual consistency and recognition" - "To indicate status or state" - "As visual cues for actions or content types" when_not_to_use: - "As the only way to convey important information" - "When the icon meaning is unclear or ambiguous" - "For purely decorative purposes without semantic value" best_practices: - "Use icons from the SLDS icon library for consistency" - "Choose appropriate size for context" - "Provide text labels or alt text for meaningful icons" - "Use consistent icon styles throughout the interface" - "Test icon recognition with users" common_mistakes: - "Using unclear or ambiguous icons" - "Relying solely on icons without text backup" - "Inconsistent icon sizing" - "Missing accessibility attributes" code_examples: - title: "Basic Icon" code: | - title: "Icon with Container" code: | - title: "Large Warning Icon" code: | styling_hooks: - name: "--slds-c-icon-color-foreground-default" default_value: "#706e6b" description: "Default color for icons" category: "color" dependencies: css_files: - "icons.css" javascript: [] icons: - "utility-sprite.svg" - "standard-sprite.svg" - "action-sprite.svg" - "custom-sprite.svg" other_components: [] related_components: - name: "Button Icons" relationship: "similar" description: "Icons used within button components" - name: "Avatar" relationship: "similar" description: "Icons often used with avatar fallbacks" - name: "Illustrations" relationship: "similar" description: "Larger, more complex visual graphics" references: official_docs: "https://v1.lightningdesignsystem.com/components/icons/" metadata: version: "1.0.0" last_updated: "2025-11-12" review_status: "complete" notes: " Cleaned invalid classes and CSS variables on 2025-11-12 using slds-plus.css as source of truth."