name: "Illustration" description: "Visual illustrations used for empty states, error states, or informational contexts. Provides scalable SVG graphics with consistent styling and themeable colors for strokes and fills." category: "Display" slds_classes: root: "slds-illustration" elements: - class: "slds-illustration__svg" description: "SVG container for the illustration graphic" purpose: "Holds the SVG illustration image" - class: "slds-illustration__header" description: "Header text above the illustration" purpose: "Provides title or main message" - class: "slds-illustration__stroke-primary" description: "Primary stroke color for SVG elements" purpose: "Applied to SVG paths for consistent theming" - class: "slds-illustration__stroke-secondary" description: "Secondary stroke color for SVG elements" purpose: "Applied to SVG paths for accent colors" - class: "slds-illustration__fill-primary" description: "Primary fill color for SVG elements" purpose: "Applied to SVG shapes for consistent theming" - class: "slds-illustration__fill-secondary" description: "Secondary fill color for SVG elements" purpose: "Applied to SVG shapes for accent colors" modifiers: - class: "slds-illustration_small" description: "Small size variant (300x200px max)" purpose: "Compact illustration for smaller spaces" - class: "slds-illustration_large" description: "Large size variant (600x400px max)" purpose: "Full-size illustration for prominent empty states" states: [] variants: - name: "Base" description: "Standard illustration with default sizing" classes: ["slds-illustration"] usage_context: "Default illustration implementation" differences: "Responsive illustration with natural SVG sizing" - name: "Small" description: "Compact illustration for smaller contexts" classes: ["slds-illustration", "slds-illustration_small"] usage_context: "Use in panels, cards, or compact layouts" differences: "Maximum 300x200px with reduced spacing" - name: "Large" description: "Full-size illustration for prominent display" classes: ["slds-illustration", "slds-illustration_large"] usage_context: "Use for main content area empty states" differences: "Maximum 600x400px with increased spacing" lightning_component: name: "" url: "https://developer.salesforce.com/docs/component-library/overview/components" mapping_notes: "No direct Lightning Base Component - implement with custom SVG and styling" accessibility: keyboard_support: - "Illustrations are typically non-interactive" screen_reader: - "Provide descriptive alt text or aria-label" - "Use aria-hidden='true' for decorative illustrations" - "Ensure accompanying text is accessible" aria_attributes: - "role='img' on SVG or wrapper" - "aria-label with description for meaningful illustrations" - "aria-hidden='true' for purely decorative images" usage_guidelines: when_to_use: - "For empty states (no data, no results, no items)" - "For error or success confirmation screens" - "To communicate system status visually" - "For onboarding or informational screens" when_not_to_use: - "As primary content (use as supporting visual)" - "For critical information without text backup" - "In place of icons for actions" - "When space is extremely limited" best_practices: - "Always pair illustration with descriptive text" - "Use appropriate size variant for context" - "Provide clear messaging about user action or state" - "Ensure illustrations support but don't replace text" - "Use consistent illustration style across application" - "Consider color contrast and visibility" common_mistakes: - "Missing descriptive text or heading" - "Illustrations too large for context" - "Poor color contrast making illustration hard to see" - "Relying solely on illustration without text" - "Using wrong size variant for space available" code_examples: - title: "Basic Illustration with Empty State" code: |
Start by creating your first item.
Get started by adding your first widget.
When you have records, they'll appear here.
We couldn't complete your request. Please try again.