iOS Theming Overview
The Agentforce iOS SDK provides a comprehensive theming system that enables complete visual customization of the conversational AI interface. The theming system is built around a flexible, protocol-based architecture that supports dynamic theming, system integration, and custom brand implementations.
The theming system is built on a protocol-based architecture that provides maximum flexibility and customization:
- AgentforceThemeManager - Primary theme management interface combining theming capabilities with state observation
- AgentforceDefaultThemeManager - Default implementation with standard Salesforce theming
- AgentforceThemeMode - Theme mode configuration for light, dark, and system modes
- AgentforceColors - Comprehensive color system with semantic color tokens
The color system is built around semantic color tokens that provide consistent theming across all components:
surface1
/surface2
: Primary view background colorssurfaceContainer1
/surfaceContainer2
/surfaceContainer3
: Component container backgroundsdisabledContainer1
/disabledContainer2
: Disabled component backgrounds
onSurface1
/onSurface2
/onSurface3
: Text colors for different emphasis levelsonDisabled1
/onDisabled2
: Text colors for disabled states
accent1
/accent2
/accent3
/accent4
/accent5
: Interactive element colorsaccentContainer1
: Branded component container backgroundsonAccent1
: Text colors for accent containers
error1
/errorBase50
/errorContainer1
/onError1
: Error state colorssuccessContainer1
/onSuccess1
: Success state colorsfeedbackWarning1
/feedbackWarningContainer1
: Warning state colorsinfo1
/infoContainer1
: Information state colors
border1
/border2
: Decorative and functional border colorsborderDisabled1
/borderError1
/borderSuccess1
: State-specific border colorsborderInverse2
: Dark background border colors
brandBase50
: Primary brand color for consistent branding
The SDK supports multiple theme modes for different use cases:
- Optimized for: Light backgrounds and bright environments
- Color Contrast: High contrast for readability
- Brand Integration: Consistent with light-themed applications
- Optimized for: Dark backgrounds and low-light environments
- Eye Comfort: Reduced eye strain in dark environments
- Modern Aesthetics: Contemporary dark theme design
- Automatic Adaptation: Follows iOS system appearance preferences
- User Preference: Respects user's system-wide theme choice
- Dynamic Switching: Real-time theme changes based on system settings
Configure the default theme manager with your preferred theme mode for immediate theming support.
Implement custom theme managers that provide brand-specific colors and theming capabilities.
Create theme controllers that enable real-time theme switching between light, dark, and system modes.
- Observable State: Real-time theme updates across all components
- Automatic Propagation: Theme changes automatically update all UI elements
- Performance Optimized: Efficient theme change handling without performance impact
- iOS Appearance: Full integration with iOS appearance system
- Accessibility: Support for accessibility preferences and high contrast modes
- Dynamic Type: Integration with iOS Dynamic Type for text scaling
- Brand Colors: Easy integration of custom brand colors
- Logo Integration: Support for custom logos and branding elements
- Consistent Theming: Unified theming across all SDK components
- Brand Consistency: Maintain consistent branding across all conversational AI interfaces
- User Experience: Provide familiar and comfortable visual experiences
- Accessibility: Support for accessibility requirements and preferences
- Flexibility: Easy customization for different use cases and requirements
- Performance: Optimized theming system with minimal performance impact
- Use Semantic Colors: Leverage semantic color tokens for consistent theming
- Test All Modes: Verify theming across light, dark, and system modes
- Accessibility: Ensure proper contrast ratios and accessibility compliance
- Brand Integration: Maintain brand consistency while respecting user preferences
- Performance: Use efficient theme switching to avoid UI lag
- UI Components: See iOS UI Components for component theming
- Configuration: See AgentforceConfiguration for theme setup
- Integration: See iOS Development for architecture patterns