CAITheme
public enum CAITheme : CustomStringConvertible
Available themes to consume by your application
CAI provides 2 themes:
- Fiori. Follows SAP Fiori Design Language. Mostly used in Enterprise context
- Casual. Mostly used in Community context
Both provide support light & dark mode.
You can also provide you own custom theme.
For Casual and Fiori, you only need to provide a Color palette. We have a default color palette for both of them but you can provide your own Color palette.
If you want to use a custom theme, you need to provide a Theme struct as well as a Color palette for it and it’s your responsibility to support light & dark mode. @see Theme.Key to know what keys you can configure.
-
Undocumented
Declaration
Swift
case casual(ColorPalette)
-
Fiori theme follows SAP Fiori Design Language
Declaration
Swift
case fiori(ColorPalette)
-
Undocumented
Declaration
Swift
case custom(Theme, ColorPalette)
-
Get ColorPalette (read-only)
Declaration
Swift
public var palette: ColorPalette { get }
-
Get underlying Theme object (read-only)
Declaration
Swift
public var theme: Theme { get }
-
Binds this method in your SwiftUI Views to get the color for the current theme
Declaration
Swift
public func color(for key: Theme.Color.Key) -> Color
Parameters
key
Theme.Key
Return Value
Color
-
Binds this method in your SwiftUI Views to get the value for the current theme
Declaration
Swift
public func value(for key: Theme.Key) -> Any?
Parameters
key
Theme.Key
Return Value
Any. Nil if key is not found
-
Binds this method in your SwiftUI Views to get the value for the current theme
Declaration
Swift
public func value<T>(for key: Theme.Key, type: T.Type, defaultValue: T) -> T
Parameters
key
Theme.Key
Type
Expected Type T that this value should be
defaultValue
Default value to return if key does not exist OR is of wrong type
Return Value
Value of type T
-
Binds this method in your SwiftUI Views to get the value for the current theme
Declaration
Swift
public func value<T>(for key: Theme.Key, type: T.Type) -> T?
Parameters
key
Theme.Key
Type
Expected Type T that this value should be
Return Value
Value of type T?