Package-level declarations
Types
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class UserVisibleProfile(val id: String, val name: @Composable () -> String, val icon: @Composable () -> Painter)
id is used as the persistence key for this profile's overrides.
Functions
Link copied to clipboard
fun AnimatedPersistentKepkoTheme(persistence: PersistenceManager = LocalKepkoPersistenceManager.current, isSystemInDarkTheme: Boolean = isSystemInDarkTheme(), profileId: String? = null, content: @Composable () -> Unit)
Link copied to clipboard
fun PersistentKepkoTheme(dimensions: Dimensions = KepkoTheme.dimensions, isSystemInDarkTheme: Boolean = isSystemInDarkTheme(), profileId: String? = null, content: @Composable () -> Unit)
fun PersistentKepkoTheme(persistenceManager: PersistenceManager, dimensions: Dimensions = KepkoTheme.dimensions, isSystemInDarkTheme: Boolean = isSystemInDarkTheme(), profileId: String? = null, content: @Composable () -> Unit)
A KepkoTheme wrapper that automatically persists and restores theme preferences.
Link copied to clipboard
fun PersistentPreferenceThemeButton(onClick: () -> Unit, modifier: Modifier = Modifier, persistence: PersistenceManager = LocalKepkoPersistenceManager.current, targetProfile: UserVisibleProfile? = null, text: String = Strings.preferenceThemeScreenTitle, description: String = persistence.themeButtonDescription(targetProfile))
A ready-made navigation button, with the active theme preferences shown in the description.
Link copied to clipboard
fun PersistentPreferenceThemeContent(persistence: PersistenceManager = LocalKepkoPersistenceManager.current, isSystemInDarkTheme: Boolean, activeProfile: UserVisibleProfile? = null, targetProfile: UserVisibleProfile? = null, modifier: Modifier = Modifier)
Link copied to clipboard
fun PersistentPreferenceThemeScreen(onBackClick: () -> Unit, modifier: Modifier = Modifier, persistence: PersistenceManager = LocalKepkoPersistenceManager.current, isSystemInDarkTheme: Boolean = isSystemInDarkTheme(), activeProfile: UserVisibleProfile? = null, targetProfile: UserVisibleProfile? = null)
A theme preferences screen which allows easy integration when used with PersistentKepkoTheme.
Link copied to clipboard
fun PreviewPersistentKepkoTheme(isSystemInDarkTheme: Boolean = false, configure: PreviewPersistenceManager.() -> Unit = {}, content: @Composable () -> Unit)
A PersistentKepkoTheme implementation for preview purposes.
Link copied to clipboard