Skip to main content
FioriThemeManager is the theming foundation for the SAP Fiori for iOS SwiftUI SDK. It supplies three core resources to every Fiori component:
  • Color palette — a versioned, dynamic palette of semantic and decorative colors that adapts automatically to light and dark mode, elevated interface levels, and high-contrast accessibility settings.
  • SAP 72 typeface — the patent SAP 72 font family, exposed through Swift-friendly Font extensions with full Dynamic Type support.
  • Fiori icon set — hundreds of Fiori-branded icons accessible through the FioriIcon enum.

Platform support

PlatformMinimum version
iOS16.0
visionOS1.0
watchOS7.0

Import

import FioriThemeManager

ThemeManager.shared

ThemeManager is a singleton that acts as the single source of truth for all color resolution. Every call to Color.preferredColor(_:) routes through it. You configure the manager once, early in the application lifecycle, and it affects all Fiori components from that point forward.
// AppDelegate.swift
func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
    // Register SAP 72 fonts
    Font.registerFioriFonts()

    // Pin the palette version used by the app
    ThemeManager.shared.setPaletteVersion(.v8)

    // Override individual colors as needed
    ThemeManager.shared.setHexColor("1b931d", for: .positiveLabel, variant: .dark)

    return true
}
Configure ThemeManager.shared before any UI loads. Most Fiori components do not observe the manager dynamically, so changes made after the first render may not take effect.

Explore the module

Fiori colors

Dynamic color palette, Color.preferredColor, and semantic color styles.

SAP 72 fonts

Register and use the SAP 72 typeface with Dynamic Type.

Fiori icons

Full Fiori icon set via the FioriIcon enum.

Theme customization

Override colors, pin palette versions, and load .nss stylesheets.

Build docs developers (and LLMs) love