All Downloads are FREE. Search and download functionalities are using the official Maven repository.

haerzig.core.themes.Theme.kt Maven / Gradle / Ivy

package haerzig.core.themes

import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.material3.darkColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import haerzig.core.themes.blue_theme_dark_background
import haerzig.core.themes.blue_theme_dark_error
import haerzig.core.themes.blue_theme_dark_errorContainer
import haerzig.core.themes.blue_theme_dark_inverseOnSurface
import haerzig.core.themes.blue_theme_dark_inversePrimary
import haerzig.core.themes.blue_theme_dark_inverseSurface
import haerzig.core.themes.blue_theme_dark_onBackground
import haerzig.core.themes.blue_theme_dark_onError
import haerzig.core.themes.blue_theme_dark_onErrorContainer
import haerzig.core.themes.blue_theme_dark_onPrimary
import haerzig.core.themes.blue_theme_dark_onPrimaryContainer
import haerzig.core.themes.blue_theme_dark_onSecondary
import haerzig.core.themes.blue_theme_dark_onSecondaryContainer
import haerzig.core.themes.blue_theme_dark_onSurface
import haerzig.core.themes.blue_theme_dark_onSurfaceVariant
import haerzig.core.themes.blue_theme_dark_onTertiary
import haerzig.core.themes.blue_theme_dark_onTertiaryContainer
import haerzig.core.themes.blue_theme_dark_outline
import haerzig.core.themes.blue_theme_dark_outlineVariant
import haerzig.core.themes.blue_theme_dark_primary
import haerzig.core.themes.blue_theme_dark_primaryContainer
import haerzig.core.themes.blue_theme_dark_scrim
import haerzig.core.themes.blue_theme_dark_secondary
import haerzig.core.themes.blue_theme_dark_secondaryContainer
import haerzig.core.themes.blue_theme_dark_surface
import haerzig.core.themes.blue_theme_dark_surfaceTint
import haerzig.core.themes.blue_theme_dark_surfaceVariant
import haerzig.core.themes.blue_theme_dark_tertiary
import haerzig.core.themes.blue_theme_dark_tertiaryContainer
import haerzig.core.themes.blue_theme_light_background
import haerzig.core.themes.blue_theme_light_error
import haerzig.core.themes.blue_theme_light_errorContainer
import haerzig.core.themes.blue_theme_light_inverseOnSurface
import haerzig.core.themes.blue_theme_light_inversePrimary
import haerzig.core.themes.blue_theme_light_inverseSurface
import haerzig.core.themes.blue_theme_light_onBackground
import haerzig.core.themes.blue_theme_light_onError
import haerzig.core.themes.blue_theme_light_onErrorContainer
import haerzig.core.themes.blue_theme_light_onPrimary
import haerzig.core.themes.blue_theme_light_onPrimaryContainer
import haerzig.core.themes.blue_theme_light_onSecondary
import haerzig.core.themes.blue_theme_light_onSecondaryContainer
import haerzig.core.themes.blue_theme_light_onSurface
import haerzig.core.themes.blue_theme_light_onSurfaceVariant
import haerzig.core.themes.blue_theme_light_onTertiary
import haerzig.core.themes.blue_theme_light_onTertiaryContainer
import haerzig.core.themes.blue_theme_light_outline
import haerzig.core.themes.blue_theme_light_outlineVariant
import haerzig.core.themes.blue_theme_light_primary
import haerzig.core.themes.blue_theme_light_primaryContainer
import haerzig.core.themes.blue_theme_light_scrim
import haerzig.core.themes.blue_theme_light_secondary
import haerzig.core.themes.blue_theme_light_secondaryContainer
import haerzig.core.themes.blue_theme_light_surface
import haerzig.core.themes.blue_theme_light_surfaceTint
import haerzig.core.themes.blue_theme_light_surfaceVariant
import haerzig.core.themes.blue_theme_light_tertiary
import haerzig.core.themes.blue_theme_light_tertiaryContainer
import haerzig.core.themes.default_theme_dark_background
import haerzig.core.themes.default_theme_dark_error
import haerzig.core.themes.default_theme_dark_errorContainer
import haerzig.core.themes.default_theme_dark_inverseOnSurface
import haerzig.core.themes.default_theme_dark_inversePrimary
import haerzig.core.themes.default_theme_dark_inverseSurface
import haerzig.core.themes.default_theme_dark_onBackground
import haerzig.core.themes.default_theme_dark_onError
import haerzig.core.themes.default_theme_dark_onErrorContainer
import haerzig.core.themes.default_theme_dark_onPrimary
import haerzig.core.themes.default_theme_dark_onPrimaryContainer
import haerzig.core.themes.default_theme_dark_onSecondary
import haerzig.core.themes.default_theme_dark_onSecondaryContainer
import haerzig.core.themes.default_theme_dark_onSurface
import haerzig.core.themes.default_theme_dark_onSurfaceVariant
import haerzig.core.themes.default_theme_dark_onTertiary
import haerzig.core.themes.default_theme_dark_onTertiaryContainer
import haerzig.core.themes.default_theme_dark_outline
import haerzig.core.themes.default_theme_dark_outlineVariant
import haerzig.core.themes.default_theme_dark_primary
import haerzig.core.themes.default_theme_dark_primaryContainer
import haerzig.core.themes.default_theme_dark_scrim
import haerzig.core.themes.default_theme_dark_secondary
import haerzig.core.themes.default_theme_dark_secondaryContainer
import haerzig.core.themes.default_theme_dark_surface
import haerzig.core.themes.default_theme_dark_surfaceTint
import haerzig.core.themes.default_theme_dark_surfaceVariant
import haerzig.core.themes.default_theme_dark_tertiary
import haerzig.core.themes.default_theme_dark_tertiaryContainer
import haerzig.core.themes.default_theme_light_background
import haerzig.core.themes.default_theme_light_error
import haerzig.core.themes.default_theme_light_errorContainer
import haerzig.core.themes.default_theme_light_inverseOnSurface
import haerzig.core.themes.default_theme_light_inversePrimary
import haerzig.core.themes.default_theme_light_inverseSurface
import haerzig.core.themes.default_theme_light_onBackground
import haerzig.core.themes.default_theme_light_onError
import haerzig.core.themes.default_theme_light_onErrorContainer
import haerzig.core.themes.default_theme_light_onPrimary
import haerzig.core.themes.default_theme_light_onPrimaryContainer
import haerzig.core.themes.default_theme_light_onSecondary
import haerzig.core.themes.default_theme_light_onSecondaryContainer
import haerzig.core.themes.default_theme_light_onSurface
import haerzig.core.themes.default_theme_light_onSurfaceVariant
import haerzig.core.themes.default_theme_light_onTertiary
import haerzig.core.themes.default_theme_light_onTertiaryContainer
import haerzig.core.themes.default_theme_light_outline
import haerzig.core.themes.default_theme_light_outlineVariant
import haerzig.core.themes.default_theme_light_primary
import haerzig.core.themes.default_theme_light_primaryContainer
import haerzig.core.themes.default_theme_light_scrim
import haerzig.core.themes.default_theme_light_secondary
import haerzig.core.themes.default_theme_light_secondaryContainer
import haerzig.core.themes.default_theme_light_surface
import haerzig.core.themes.default_theme_light_surfaceTint
import haerzig.core.themes.default_theme_light_surfaceVariant
import haerzig.core.themes.default_theme_light_tertiary
import haerzig.core.themes.default_theme_light_tertiaryContainer
import haerzig.core.themes.green_theme_dark_background
import haerzig.core.themes.green_theme_dark_error
import haerzig.core.themes.green_theme_dark_errorContainer
import haerzig.core.themes.green_theme_dark_inverseOnSurface
import haerzig.core.themes.green_theme_dark_inversePrimary
import haerzig.core.themes.green_theme_dark_inverseSurface
import haerzig.core.themes.green_theme_dark_onBackground
import haerzig.core.themes.green_theme_dark_onError
import haerzig.core.themes.green_theme_dark_onErrorContainer
import haerzig.core.themes.green_theme_dark_onPrimary
import haerzig.core.themes.green_theme_dark_onPrimaryContainer
import haerzig.core.themes.green_theme_dark_onSecondary
import haerzig.core.themes.green_theme_dark_onSecondaryContainer
import haerzig.core.themes.green_theme_dark_onSurface
import haerzig.core.themes.green_theme_dark_onSurfaceVariant
import haerzig.core.themes.green_theme_dark_onTertiary
import haerzig.core.themes.green_theme_dark_onTertiaryContainer
import haerzig.core.themes.green_theme_dark_outline
import haerzig.core.themes.green_theme_dark_outlineVariant
import haerzig.core.themes.green_theme_dark_primary
import haerzig.core.themes.green_theme_dark_primaryContainer
import haerzig.core.themes.green_theme_dark_scrim
import haerzig.core.themes.green_theme_dark_secondary
import haerzig.core.themes.green_theme_dark_secondaryContainer
import haerzig.core.themes.green_theme_dark_surface
import haerzig.core.themes.green_theme_dark_surfaceTint
import haerzig.core.themes.green_theme_dark_surfaceVariant
import haerzig.core.themes.green_theme_dark_tertiary
import haerzig.core.themes.green_theme_dark_tertiaryContainer
import haerzig.core.themes.green_theme_light_background
import haerzig.core.themes.green_theme_light_error
import haerzig.core.themes.green_theme_light_errorContainer
import haerzig.core.themes.green_theme_light_inverseOnSurface
import haerzig.core.themes.green_theme_light_inversePrimary
import haerzig.core.themes.green_theme_light_inverseSurface
import haerzig.core.themes.green_theme_light_onBackground
import haerzig.core.themes.green_theme_light_onError
import haerzig.core.themes.green_theme_light_onErrorContainer
import haerzig.core.themes.green_theme_light_onPrimary
import haerzig.core.themes.green_theme_light_onPrimaryContainer
import haerzig.core.themes.green_theme_light_onSecondary
import haerzig.core.themes.green_theme_light_onSecondaryContainer
import haerzig.core.themes.green_theme_light_onSurface
import haerzig.core.themes.green_theme_light_onSurfaceVariant
import haerzig.core.themes.green_theme_light_onTertiary
import haerzig.core.themes.green_theme_light_onTertiaryContainer
import haerzig.core.themes.green_theme_light_outline
import haerzig.core.themes.green_theme_light_outlineVariant
import haerzig.core.themes.green_theme_light_primary
import haerzig.core.themes.green_theme_light_primaryContainer
import haerzig.core.themes.green_theme_light_scrim
import haerzig.core.themes.green_theme_light_secondary
import haerzig.core.themes.green_theme_light_secondaryContainer
import haerzig.core.themes.green_theme_light_surface
import haerzig.core.themes.green_theme_light_surfaceTint
import haerzig.core.themes.green_theme_light_surfaceVariant
import haerzig.core.themes.green_theme_light_tertiary
import haerzig.core.themes.green_theme_light_tertiaryContainer
import haerzig.core.themes.orange_theme_dark_background
import haerzig.core.themes.orange_theme_dark_error
import haerzig.core.themes.orange_theme_dark_errorContainer
import haerzig.core.themes.orange_theme_dark_inverseOnSurface
import haerzig.core.themes.orange_theme_dark_inversePrimary
import haerzig.core.themes.orange_theme_dark_inverseSurface
import haerzig.core.themes.orange_theme_dark_onBackground
import haerzig.core.themes.orange_theme_dark_onError
import haerzig.core.themes.orange_theme_dark_onErrorContainer
import haerzig.core.themes.orange_theme_dark_onPrimary
import haerzig.core.themes.orange_theme_dark_onPrimaryContainer
import haerzig.core.themes.orange_theme_dark_onSecondary
import haerzig.core.themes.orange_theme_dark_onSecondaryContainer
import haerzig.core.themes.orange_theme_dark_onSurface
import haerzig.core.themes.orange_theme_dark_onSurfaceVariant
import haerzig.core.themes.orange_theme_dark_onTertiary
import haerzig.core.themes.orange_theme_dark_onTertiaryContainer
import haerzig.core.themes.orange_theme_dark_outline
import haerzig.core.themes.orange_theme_dark_outlineVariant
import haerzig.core.themes.orange_theme_dark_primary
import haerzig.core.themes.orange_theme_dark_primaryContainer
import haerzig.core.themes.orange_theme_dark_scrim
import haerzig.core.themes.orange_theme_dark_secondary
import haerzig.core.themes.orange_theme_dark_secondaryContainer
import haerzig.core.themes.orange_theme_dark_surface
import haerzig.core.themes.orange_theme_dark_surfaceTint
import haerzig.core.themes.orange_theme_dark_surfaceVariant
import haerzig.core.themes.orange_theme_dark_tertiary
import haerzig.core.themes.orange_theme_dark_tertiaryContainer
import haerzig.core.themes.orange_theme_light_background
import haerzig.core.themes.orange_theme_light_error
import haerzig.core.themes.orange_theme_light_errorContainer
import haerzig.core.themes.orange_theme_light_inverseOnSurface
import haerzig.core.themes.orange_theme_light_inversePrimary
import haerzig.core.themes.orange_theme_light_inverseSurface
import haerzig.core.themes.orange_theme_light_onBackground
import haerzig.core.themes.orange_theme_light_onError
import haerzig.core.themes.orange_theme_light_onErrorContainer
import haerzig.core.themes.orange_theme_light_onPrimary
import haerzig.core.themes.orange_theme_light_onPrimaryContainer
import haerzig.core.themes.orange_theme_light_onSecondary
import haerzig.core.themes.orange_theme_light_onSecondaryContainer
import haerzig.core.themes.orange_theme_light_onSurface
import haerzig.core.themes.orange_theme_light_onSurfaceVariant
import haerzig.core.themes.orange_theme_light_onTertiary
import haerzig.core.themes.orange_theme_light_onTertiaryContainer
import haerzig.core.themes.orange_theme_light_outline
import haerzig.core.themes.orange_theme_light_outlineVariant
import haerzig.core.themes.orange_theme_light_primary
import haerzig.core.themes.orange_theme_light_primaryContainer
import haerzig.core.themes.orange_theme_light_scrim
import haerzig.core.themes.orange_theme_light_secondary
import haerzig.core.themes.orange_theme_light_secondaryContainer
import haerzig.core.themes.orange_theme_light_surface
import haerzig.core.themes.orange_theme_light_surfaceTint
import haerzig.core.themes.orange_theme_light_surfaceVariant
import haerzig.core.themes.orange_theme_light_tertiary
import haerzig.core.themes.orange_theme_light_tertiaryContainer
import haerzig.core.themes.red_theme_dark_background
import haerzig.core.themes.red_theme_dark_error
import haerzig.core.themes.red_theme_dark_errorContainer
import haerzig.core.themes.red_theme_dark_inverseOnSurface
import haerzig.core.themes.red_theme_dark_inversePrimary
import haerzig.core.themes.red_theme_dark_inverseSurface
import haerzig.core.themes.red_theme_dark_onBackground
import haerzig.core.themes.red_theme_dark_onError
import haerzig.core.themes.red_theme_dark_onErrorContainer
import haerzig.core.themes.red_theme_dark_onPrimary
import haerzig.core.themes.red_theme_dark_onPrimaryContainer
import haerzig.core.themes.red_theme_dark_onSecondary
import haerzig.core.themes.red_theme_dark_onSecondaryContainer
import haerzig.core.themes.red_theme_dark_onSurface
import haerzig.core.themes.red_theme_dark_onSurfaceVariant
import haerzig.core.themes.red_theme_dark_onTertiary
import haerzig.core.themes.red_theme_dark_onTertiaryContainer
import haerzig.core.themes.red_theme_dark_outline
import haerzig.core.themes.red_theme_dark_outlineVariant
import haerzig.core.themes.red_theme_dark_primary
import haerzig.core.themes.red_theme_dark_primaryContainer
import haerzig.core.themes.red_theme_dark_scrim
import haerzig.core.themes.red_theme_dark_secondary
import haerzig.core.themes.red_theme_dark_secondaryContainer
import haerzig.core.themes.red_theme_dark_surface
import haerzig.core.themes.red_theme_dark_surfaceTint
import haerzig.core.themes.red_theme_dark_surfaceVariant
import haerzig.core.themes.red_theme_dark_tertiary
import haerzig.core.themes.red_theme_dark_tertiaryContainer
import haerzig.core.themes.red_theme_light_background
import haerzig.core.themes.red_theme_light_error
import haerzig.core.themes.red_theme_light_errorContainer
import haerzig.core.themes.red_theme_light_inverseOnSurface
import haerzig.core.themes.red_theme_light_inversePrimary
import haerzig.core.themes.red_theme_light_inverseSurface
import haerzig.core.themes.red_theme_light_onBackground
import haerzig.core.themes.red_theme_light_onError
import haerzig.core.themes.red_theme_light_onErrorContainer
import haerzig.core.themes.red_theme_light_onPrimary
import haerzig.core.themes.red_theme_light_onPrimaryContainer
import haerzig.core.themes.red_theme_light_onSecondary
import haerzig.core.themes.red_theme_light_onSecondaryContainer
import haerzig.core.themes.red_theme_light_onSurface
import haerzig.core.themes.red_theme_light_onSurfaceVariant
import haerzig.core.themes.red_theme_light_onTertiary
import haerzig.core.themes.red_theme_light_onTertiaryContainer
import haerzig.core.themes.red_theme_light_outline
import haerzig.core.themes.red_theme_light_outlineVariant
import haerzig.core.themes.red_theme_light_primary
import haerzig.core.themes.red_theme_light_primaryContainer
import haerzig.core.themes.red_theme_light_scrim
import haerzig.core.themes.red_theme_light_secondary
import haerzig.core.themes.red_theme_light_secondaryContainer
import haerzig.core.themes.red_theme_light_surface
import haerzig.core.themes.red_theme_light_surfaceTint
import haerzig.core.themes.red_theme_light_surfaceVariant
import haerzig.core.themes.red_theme_light_tertiary
import haerzig.core.themes.red_theme_light_tertiaryContainer
import haerzig.core.themes.violet_theme_dark_background
import haerzig.core.themes.violet_theme_dark_error
import haerzig.core.themes.violet_theme_dark_errorContainer
import haerzig.core.themes.violet_theme_dark_inverseOnSurface
import haerzig.core.themes.violet_theme_dark_inversePrimary
import haerzig.core.themes.violet_theme_dark_inverseSurface
import haerzig.core.themes.violet_theme_dark_onBackground
import haerzig.core.themes.violet_theme_dark_onError
import haerzig.core.themes.violet_theme_dark_onErrorContainer
import haerzig.core.themes.violet_theme_dark_onPrimary
import haerzig.core.themes.violet_theme_dark_onPrimaryContainer
import haerzig.core.themes.violet_theme_dark_onSecondary
import haerzig.core.themes.violet_theme_dark_onSecondaryContainer
import haerzig.core.themes.violet_theme_dark_onSurface
import haerzig.core.themes.violet_theme_dark_onSurfaceVariant
import haerzig.core.themes.violet_theme_dark_onTertiary
import haerzig.core.themes.violet_theme_dark_onTertiaryContainer
import haerzig.core.themes.violet_theme_dark_outline
import haerzig.core.themes.violet_theme_dark_outlineVariant
import haerzig.core.themes.violet_theme_dark_primary
import haerzig.core.themes.violet_theme_dark_primaryContainer
import haerzig.core.themes.violet_theme_dark_scrim
import haerzig.core.themes.violet_theme_dark_secondary
import haerzig.core.themes.violet_theme_dark_secondaryContainer
import haerzig.core.themes.violet_theme_dark_surface
import haerzig.core.themes.violet_theme_dark_surfaceTint
import haerzig.core.themes.violet_theme_dark_surfaceVariant
import haerzig.core.themes.violet_theme_dark_tertiary
import haerzig.core.themes.violet_theme_dark_tertiaryContainer
import haerzig.core.themes.violet_theme_light_background
import haerzig.core.themes.violet_theme_light_error
import haerzig.core.themes.violet_theme_light_errorContainer
import haerzig.core.themes.violet_theme_light_inverseOnSurface
import haerzig.core.themes.violet_theme_light_inversePrimary
import haerzig.core.themes.violet_theme_light_inverseSurface
import haerzig.core.themes.violet_theme_light_onBackground
import haerzig.core.themes.violet_theme_light_onError
import haerzig.core.themes.violet_theme_light_onErrorContainer
import haerzig.core.themes.violet_theme_light_onPrimary
import haerzig.core.themes.violet_theme_light_onPrimaryContainer
import haerzig.core.themes.violet_theme_light_onSecondary
import haerzig.core.themes.violet_theme_light_onSecondaryContainer
import haerzig.core.themes.violet_theme_light_onSurface
import haerzig.core.themes.violet_theme_light_onSurfaceVariant
import haerzig.core.themes.violet_theme_light_onTertiary
import haerzig.core.themes.violet_theme_light_onTertiaryContainer
import haerzig.core.themes.violet_theme_light_outline
import haerzig.core.themes.violet_theme_light_outlineVariant
import haerzig.core.themes.violet_theme_light_primary
import haerzig.core.themes.violet_theme_light_primaryContainer
import haerzig.core.themes.violet_theme_light_scrim
import haerzig.core.themes.violet_theme_light_secondary
import haerzig.core.themes.violet_theme_light_secondaryContainer
import haerzig.core.themes.violet_theme_light_surface
import haerzig.core.themes.violet_theme_light_surfaceTint
import haerzig.core.themes.violet_theme_light_surfaceVariant
import haerzig.core.themes.violet_theme_light_tertiary
import haerzig.core.themes.violet_theme_light_tertiaryContainer


private val DefaultLightColors = lightColorScheme(
    primary = default_theme_light_primary,
    onPrimary = default_theme_light_onPrimary,
    primaryContainer = default_theme_light_primaryContainer,
    onPrimaryContainer = default_theme_light_onPrimaryContainer,
    secondary = default_theme_light_secondary,
    onSecondary = default_theme_light_onSecondary,
    secondaryContainer = default_theme_light_secondaryContainer,
    onSecondaryContainer = default_theme_light_onSecondaryContainer,
    tertiary = default_theme_light_tertiary,
    onTertiary = default_theme_light_onTertiary,
    tertiaryContainer = default_theme_light_tertiaryContainer,
    onTertiaryContainer = default_theme_light_onTertiaryContainer,
    error = default_theme_light_error,
    errorContainer = default_theme_light_errorContainer,
    onError = default_theme_light_onError,
    onErrorContainer = default_theme_light_onErrorContainer,
    background = default_theme_light_background,
    onBackground = default_theme_light_onBackground,
    surface = default_theme_light_surface,
    onSurface = default_theme_light_onSurface,
    surfaceVariant = default_theme_light_surfaceVariant,
    onSurfaceVariant = default_theme_light_onSurfaceVariant,
    outline = default_theme_light_outline,
    inverseOnSurface = default_theme_light_inverseOnSurface,
    inverseSurface = default_theme_light_inverseSurface,
    inversePrimary = default_theme_light_inversePrimary,
    surfaceTint = default_theme_light_surfaceTint,
    outlineVariant = default_theme_light_outlineVariant,
    scrim = default_theme_light_scrim,
)

private val DefaultDarkColors = darkColorScheme(
    primary = default_theme_dark_primary,
    onPrimary = default_theme_dark_onPrimary,
    primaryContainer = default_theme_dark_primaryContainer,
    onPrimaryContainer = default_theme_dark_onPrimaryContainer,
    secondary = default_theme_dark_secondary,
    onSecondary = default_theme_dark_onSecondary,
    secondaryContainer = default_theme_dark_secondaryContainer,
    onSecondaryContainer = default_theme_dark_onSecondaryContainer,
    tertiary = default_theme_dark_tertiary,
    onTertiary = default_theme_dark_onTertiary,
    tertiaryContainer = default_theme_dark_tertiaryContainer,
    onTertiaryContainer = default_theme_dark_onTertiaryContainer,
    error = default_theme_dark_error,
    errorContainer = default_theme_dark_errorContainer,
    onError = default_theme_dark_onError,
    onErrorContainer = default_theme_dark_onErrorContainer,
    background = default_theme_dark_background,
    onBackground = default_theme_dark_onBackground,
    surface = default_theme_dark_surface,
    onSurface = default_theme_dark_onSurface,
    surfaceVariant = default_theme_dark_surfaceVariant,
    onSurfaceVariant = default_theme_dark_onSurfaceVariant,
    outline = default_theme_dark_outline,
    inverseOnSurface = default_theme_dark_inverseOnSurface,
    inverseSurface = default_theme_dark_inverseSurface,
    inversePrimary = default_theme_dark_inversePrimary,
    surfaceTint = default_theme_dark_surfaceTint,
    outlineVariant = default_theme_dark_outlineVariant,
    scrim = default_theme_dark_scrim,
)

private val GreenLightColors = lightColorScheme(
    primary = green_theme_light_primary,
    onPrimary = green_theme_light_onPrimary,
    primaryContainer = green_theme_light_primaryContainer,
    onPrimaryContainer = green_theme_light_onPrimaryContainer,
    secondary = green_theme_light_secondary,
    onSecondary = green_theme_light_onSecondary,
    secondaryContainer = green_theme_light_secondaryContainer,
    onSecondaryContainer = green_theme_light_onSecondaryContainer,
    tertiary = green_theme_light_tertiary,
    onTertiary = green_theme_light_onTertiary,
    tertiaryContainer = green_theme_light_tertiaryContainer,
    onTertiaryContainer = green_theme_light_onTertiaryContainer,
    error = green_theme_light_error,
    errorContainer = green_theme_light_errorContainer,
    onError = green_theme_light_onError,
    onErrorContainer = green_theme_light_onErrorContainer,
    background = green_theme_light_background,
    onBackground = green_theme_light_onBackground,
    surface = green_theme_light_surface,
    onSurface = green_theme_light_onSurface,
    surfaceVariant = green_theme_light_surfaceVariant,
    onSurfaceVariant = green_theme_light_onSurfaceVariant,
    outline = green_theme_light_outline,
    inverseOnSurface = green_theme_light_inverseOnSurface,
    inverseSurface = green_theme_light_inverseSurface,
    inversePrimary = green_theme_light_inversePrimary,
    surfaceTint = green_theme_light_surfaceTint,
    outlineVariant = green_theme_light_outlineVariant,
    scrim = green_theme_light_scrim,
)

private val GreenDarkColors = darkColorScheme(
    primary = green_theme_dark_primary,
    onPrimary = green_theme_dark_onPrimary,
    primaryContainer = green_theme_dark_primaryContainer,
    onPrimaryContainer = green_theme_dark_onPrimaryContainer,
    secondary = green_theme_dark_secondary,
    onSecondary = green_theme_dark_onSecondary,
    secondaryContainer = green_theme_dark_secondaryContainer,
    onSecondaryContainer = green_theme_dark_onSecondaryContainer,
    tertiary = green_theme_dark_tertiary,
    onTertiary = green_theme_dark_onTertiary,
    tertiaryContainer = green_theme_dark_tertiaryContainer,
    onTertiaryContainer = green_theme_dark_onTertiaryContainer,
    error = green_theme_dark_error,
    errorContainer = green_theme_dark_errorContainer,
    onError = green_theme_dark_onError,
    onErrorContainer = green_theme_dark_onErrorContainer,
    background = green_theme_dark_background,
    onBackground = green_theme_dark_onBackground,
    surface = green_theme_dark_surface,
    onSurface = green_theme_dark_onSurface,
    surfaceVariant = green_theme_dark_surfaceVariant,
    onSurfaceVariant = green_theme_dark_onSurfaceVariant,
    outline = green_theme_dark_outline,
    inverseOnSurface = green_theme_dark_inverseOnSurface,
    inverseSurface = green_theme_dark_inverseSurface,
    inversePrimary = green_theme_dark_inversePrimary,
    surfaceTint = green_theme_dark_surfaceTint,
    outlineVariant = green_theme_dark_outlineVariant,
    scrim = green_theme_dark_scrim,
)

private val BlueLightColors = lightColorScheme(
    primary = blue_theme_light_primary,
    onPrimary = blue_theme_light_onPrimary,
    primaryContainer = blue_theme_light_primaryContainer,
    onPrimaryContainer = blue_theme_light_onPrimaryContainer,
    secondary = blue_theme_light_secondary,
    onSecondary = blue_theme_light_onSecondary,
    secondaryContainer = blue_theme_light_secondaryContainer,
    onSecondaryContainer = blue_theme_light_onSecondaryContainer,
    tertiary = blue_theme_light_tertiary,
    onTertiary = blue_theme_light_onTertiary,
    tertiaryContainer = blue_theme_light_tertiaryContainer,
    onTertiaryContainer = blue_theme_light_onTertiaryContainer,
    error = blue_theme_light_error,
    errorContainer = blue_theme_light_errorContainer,
    onError = blue_theme_light_onError,
    onErrorContainer = blue_theme_light_onErrorContainer,
    background = blue_theme_light_background,
    onBackground = blue_theme_light_onBackground,
    surface = blue_theme_light_surface,
    onSurface = blue_theme_light_onSurface,
    surfaceVariant = blue_theme_light_surfaceVariant,
    onSurfaceVariant = blue_theme_light_onSurfaceVariant,
    outline = blue_theme_light_outline,
    inverseOnSurface = blue_theme_light_inverseOnSurface,
    inverseSurface = blue_theme_light_inverseSurface,
    inversePrimary = blue_theme_light_inversePrimary,
    surfaceTint = blue_theme_light_surfaceTint,
    outlineVariant = blue_theme_light_outlineVariant,
    scrim = blue_theme_light_scrim,
)

private val BlueDarkColors = darkColorScheme(
    primary = blue_theme_dark_primary,
    onPrimary = blue_theme_dark_onPrimary,
    primaryContainer = blue_theme_dark_primaryContainer,
    onPrimaryContainer = blue_theme_dark_onPrimaryContainer,
    secondary = blue_theme_dark_secondary,
    onSecondary = blue_theme_dark_onSecondary,
    secondaryContainer = blue_theme_dark_secondaryContainer,
    onSecondaryContainer = blue_theme_dark_onSecondaryContainer,
    tertiary = blue_theme_dark_tertiary,
    onTertiary = blue_theme_dark_onTertiary,
    tertiaryContainer = blue_theme_dark_tertiaryContainer,
    onTertiaryContainer = blue_theme_dark_onTertiaryContainer,
    error = blue_theme_dark_error,
    errorContainer = blue_theme_dark_errorContainer,
    onError = blue_theme_dark_onError,
    onErrorContainer = blue_theme_dark_onErrorContainer,
    background = blue_theme_dark_background,
    onBackground = blue_theme_dark_onBackground,
    surface = blue_theme_dark_surface,
    onSurface = blue_theme_dark_onSurface,
    surfaceVariant = blue_theme_dark_surfaceVariant,
    onSurfaceVariant = blue_theme_dark_onSurfaceVariant,
    outline = blue_theme_dark_outline,
    inverseOnSurface = blue_theme_dark_inverseOnSurface,
    inverseSurface = blue_theme_dark_inverseSurface,
    inversePrimary = blue_theme_dark_inversePrimary,
    surfaceTint = blue_theme_dark_surfaceTint,
    outlineVariant = blue_theme_dark_outlineVariant,
    scrim = blue_theme_dark_scrim,
)

private val RedLightColors = lightColorScheme(
    primary = red_theme_light_primary,
    onPrimary = red_theme_light_onPrimary,
    primaryContainer = red_theme_light_primaryContainer,
    onPrimaryContainer = red_theme_light_onPrimaryContainer,
    secondary = red_theme_light_secondary,
    onSecondary = red_theme_light_onSecondary,
    secondaryContainer = red_theme_light_secondaryContainer,
    onSecondaryContainer = red_theme_light_onSecondaryContainer,
    tertiary = red_theme_light_tertiary,
    onTertiary = red_theme_light_onTertiary,
    tertiaryContainer = red_theme_light_tertiaryContainer,
    onTertiaryContainer = red_theme_light_onTertiaryContainer,
    error = red_theme_light_error,
    errorContainer = red_theme_light_errorContainer,
    onError = red_theme_light_onError,
    onErrorContainer = red_theme_light_onErrorContainer,
    background = red_theme_light_background,
    onBackground = red_theme_light_onBackground,
    surface = red_theme_light_surface,
    onSurface = red_theme_light_onSurface,
    surfaceVariant = red_theme_light_surfaceVariant,
    onSurfaceVariant = red_theme_light_onSurfaceVariant,
    outline = red_theme_light_outline,
    inverseOnSurface = red_theme_light_inverseOnSurface,
    inverseSurface = red_theme_light_inverseSurface,
    inversePrimary = red_theme_light_inversePrimary,
    surfaceTint = red_theme_light_surfaceTint,
    outlineVariant = red_theme_light_outlineVariant,
    scrim = red_theme_light_scrim,
)

private val RedDarkColors = darkColorScheme(
    primary = red_theme_dark_primary,
    onPrimary = red_theme_dark_onPrimary,
    primaryContainer = red_theme_dark_primaryContainer,
    onPrimaryContainer = red_theme_dark_onPrimaryContainer,
    secondary = red_theme_dark_secondary,
    onSecondary = red_theme_dark_onSecondary,
    secondaryContainer = red_theme_dark_secondaryContainer,
    onSecondaryContainer = red_theme_dark_onSecondaryContainer,
    tertiary = red_theme_dark_tertiary,
    onTertiary = red_theme_dark_onTertiary,
    tertiaryContainer = red_theme_dark_tertiaryContainer,
    onTertiaryContainer = red_theme_dark_onTertiaryContainer,
    error = red_theme_dark_error,
    errorContainer = red_theme_dark_errorContainer,
    onError = red_theme_dark_onError,
    onErrorContainer = red_theme_dark_onErrorContainer,
    background = red_theme_dark_background,
    onBackground = red_theme_dark_onBackground,
    surface = red_theme_dark_surface,
    onSurface = red_theme_dark_onSurface,
    surfaceVariant = red_theme_dark_surfaceVariant,
    onSurfaceVariant = red_theme_dark_onSurfaceVariant,
    outline = red_theme_dark_outline,
    inverseOnSurface = red_theme_dark_inverseOnSurface,
    inverseSurface = red_theme_dark_inverseSurface,
    inversePrimary = red_theme_dark_inversePrimary,
    surfaceTint = red_theme_dark_surfaceTint,
    outlineVariant = red_theme_dark_outlineVariant,
    scrim = red_theme_dark_scrim,
)

private val OrangeLightColors = lightColorScheme(
    primary = orange_theme_light_primary,
    onPrimary = orange_theme_light_onPrimary,
    primaryContainer = orange_theme_light_primaryContainer,
    onPrimaryContainer = orange_theme_light_onPrimaryContainer,
    secondary = orange_theme_light_secondary,
    onSecondary = orange_theme_light_onSecondary,
    secondaryContainer = orange_theme_light_secondaryContainer,
    onSecondaryContainer = orange_theme_light_onSecondaryContainer,
    tertiary = orange_theme_light_tertiary,
    onTertiary = orange_theme_light_onTertiary,
    tertiaryContainer = orange_theme_light_tertiaryContainer,
    onTertiaryContainer = orange_theme_light_onTertiaryContainer,
    error = orange_theme_light_error,
    errorContainer = orange_theme_light_errorContainer,
    onError = orange_theme_light_onError,
    onErrorContainer = orange_theme_light_onErrorContainer,
    background = orange_theme_light_background,
    onBackground = orange_theme_light_onBackground,
    surface = orange_theme_light_surface,
    onSurface = orange_theme_light_onSurface,
    surfaceVariant = orange_theme_light_surfaceVariant,
    onSurfaceVariant = orange_theme_light_onSurfaceVariant,
    outline = orange_theme_light_outline,
    inverseOnSurface = orange_theme_light_inverseOnSurface,
    inverseSurface = orange_theme_light_inverseSurface,
    inversePrimary = orange_theme_light_inversePrimary,
    surfaceTint = orange_theme_light_surfaceTint,
    outlineVariant = orange_theme_light_outlineVariant,
    scrim = orange_theme_light_scrim,
)

private val OrangeDarkColors = darkColorScheme(
    primary = orange_theme_dark_primary,
    onPrimary = orange_theme_dark_onPrimary,
    primaryContainer = orange_theme_dark_primaryContainer,
    onPrimaryContainer = orange_theme_dark_onPrimaryContainer,
    secondary = orange_theme_dark_secondary,
    onSecondary = orange_theme_dark_onSecondary,
    secondaryContainer = orange_theme_dark_secondaryContainer,
    onSecondaryContainer = orange_theme_dark_onSecondaryContainer,
    tertiary = orange_theme_dark_tertiary,
    onTertiary = orange_theme_dark_onTertiary,
    tertiaryContainer = orange_theme_dark_tertiaryContainer,
    onTertiaryContainer = orange_theme_dark_onTertiaryContainer,
    error = orange_theme_dark_error,
    errorContainer = orange_theme_dark_errorContainer,
    onError = orange_theme_dark_onError,
    onErrorContainer = orange_theme_dark_onErrorContainer,
    background = orange_theme_dark_background,
    onBackground = orange_theme_dark_onBackground,
    surface = orange_theme_dark_surface,
    onSurface = orange_theme_dark_onSurface,
    surfaceVariant = orange_theme_dark_surfaceVariant,
    onSurfaceVariant = orange_theme_dark_onSurfaceVariant,
    outline = orange_theme_dark_outline,
    inverseOnSurface = orange_theme_dark_inverseOnSurface,
    inverseSurface = orange_theme_dark_inverseSurface,
    inversePrimary = orange_theme_dark_inversePrimary,
    surfaceTint = orange_theme_dark_surfaceTint,
    outlineVariant = orange_theme_dark_outlineVariant,
    scrim = orange_theme_dark_scrim,
)

private val VioletLightColors = lightColorScheme(
    primary = violet_theme_light_primary,
    onPrimary = violet_theme_light_onPrimary,
    primaryContainer = violet_theme_light_primaryContainer,
    onPrimaryContainer = violet_theme_light_onPrimaryContainer,
    secondary = violet_theme_light_secondary,
    onSecondary = violet_theme_light_onSecondary,
    secondaryContainer = violet_theme_light_secondaryContainer,
    onSecondaryContainer = violet_theme_light_onSecondaryContainer,
    tertiary = violet_theme_light_tertiary,
    onTertiary = violet_theme_light_onTertiary,
    tertiaryContainer = violet_theme_light_tertiaryContainer,
    onTertiaryContainer = violet_theme_light_onTertiaryContainer,
    error = violet_theme_light_error,
    errorContainer = violet_theme_light_errorContainer,
    onError = violet_theme_light_onError,
    onErrorContainer = violet_theme_light_onErrorContainer,
    background = violet_theme_light_background,
    onBackground = violet_theme_light_onBackground,
    surface = violet_theme_light_surface,
    onSurface = violet_theme_light_onSurface,
    surfaceVariant = violet_theme_light_surfaceVariant,
    onSurfaceVariant = violet_theme_light_onSurfaceVariant,
    outline = violet_theme_light_outline,
    inverseOnSurface = violet_theme_light_inverseOnSurface,
    inverseSurface = violet_theme_light_inverseSurface,
    inversePrimary = violet_theme_light_inversePrimary,
    surfaceTint = violet_theme_light_surfaceTint,
    outlineVariant = violet_theme_light_outlineVariant,
    scrim = violet_theme_light_scrim,
)

private val VioletDarkColors = darkColorScheme(
    primary = violet_theme_dark_primary,
    onPrimary = violet_theme_dark_onPrimary,
    primaryContainer = violet_theme_dark_primaryContainer,
    onPrimaryContainer = violet_theme_dark_onPrimaryContainer,
    secondary = violet_theme_dark_secondary,
    onSecondary = violet_theme_dark_onSecondary,
    secondaryContainer = violet_theme_dark_secondaryContainer,
    onSecondaryContainer = violet_theme_dark_onSecondaryContainer,
    tertiary = violet_theme_dark_tertiary,
    onTertiary = violet_theme_dark_onTertiary,
    tertiaryContainer = violet_theme_dark_tertiaryContainer,
    onTertiaryContainer = violet_theme_dark_onTertiaryContainer,
    error = violet_theme_dark_error,
    errorContainer = violet_theme_dark_errorContainer,
    onError = violet_theme_dark_onError,
    onErrorContainer = violet_theme_dark_onErrorContainer,
    background = violet_theme_dark_background,
    onBackground = violet_theme_dark_onBackground,
    surface = violet_theme_dark_surface,
    onSurface = violet_theme_dark_onSurface,
    surfaceVariant = violet_theme_dark_surfaceVariant,
    onSurfaceVariant = violet_theme_dark_onSurfaceVariant,
    outline = violet_theme_dark_outline,
    inverseOnSurface = violet_theme_dark_inverseOnSurface,
    inverseSurface = violet_theme_dark_inverseSurface,
    inversePrimary = violet_theme_dark_inversePrimary,
    surfaceTint = violet_theme_dark_surfaceTint,
    outlineVariant = violet_theme_dark_outlineVariant,
    scrim = violet_theme_dark_scrim,
)

@Composable
fun AppTheme(useDarkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit) {
    val colorTheme by currentColorTheme
    val systemUiController = rememberSystemUiController()

    val colors = if (useDarkTheme) {
        when (colorTheme) {
            Themes.DEFAULT -> DefaultDarkColors
            Themes.BLUE -> BlueDarkColors
            Themes.GREEN -> GreenDarkColors
            Themes.ORANGE -> OrangeDarkColors
            Themes.RED -> RedDarkColors
            Themes.VIOLET -> VioletDarkColors
        }
    } else {
        when (colorTheme) {
            Themes.DEFAULT -> DefaultLightColors
            Themes.BLUE -> BlueLightColors
            Themes.GREEN -> GreenLightColors
            Themes.ORANGE -> OrangeLightColors
            Themes.RED -> RedLightColors
            Themes.VIOLET -> VioletLightColors
        }
    }

    systemUiController.setStatusBarColor(
        color = colors.secondaryContainer
    )
    systemUiController.setSystemBarsColor(
        color = colors.secondaryContainer
    )

    MaterialTheme(
        colorScheme = colors,
        content = content
    )

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy