Pantrix UI

Theme builder

A DesignPreset you take away as Kotlin

Primary colour

Hex

Text on it, white

4.8:1

As a link on white

4.8:1

Corners

Pantrix: 6 · 8 · 12 · 16 · 20 dp

Typeface

Density · the theme's, not the preset's

commonMain
object PantrixPreset : DesignPreset {
    override val name = "Pantrix"
    override fun colors(dark: Boolean) = if (dark) PantrixPresetDark else PantrixPresetLight

    @Composable override fun typography() = rememberPantrixTypography()

    @Composable override fun shapes() = PantrixShapes(
        xs = RoundedCornerShape(6.dp), sm = RoundedCornerShape(8.dp),
        md = RoundedCornerShape(12.dp), lg = RoundedCornerShape(16.dp),
        xl = RoundedCornerShape(20.dp)
    )
}

private val PantrixPresetLight = PantrixColors(
    primary = PantrixColor(
        color = Color(0xFF2264FF), onColor = Color(0xFFFFFFFF),
        container = Color(0xFFE9F0FF), onContainer = Color(0xFF153A91)
    ),
    success = PantrixColor(
        color = Color(0xFF1A8556), onColor = Color(0xFFFFFFFF),
        container = Color(0xFFE7F6EF), onContainer = Color(0xFF146B45)
    ),
    info = PantrixColor(
        color = Color(0xFF2264FF), onColor = Color(0xFFFFFFFF),
        container = Color(0xFFECF3FE), onContainer = Color(0xFF1A52D6)
    ),
    warning = PantrixColor(
        color = Color(0xFFB95D15), onColor = Color(0xFFFFFFFF),
        container = Color(0xFFFFF2E6), onContainer = Color(0xFF8A4310)
    ),
    danger = PantrixColor(
        color = Color(0xFFC42A55), onColor = Color(0xFFFFFFFF),
        container = Color(0xFFFCE7EC), onContainer = Color(0xFF8E1C3C)
    ),
    neutral = PantrixColor(
        color = Color(0xFF4B4F5C), onColor = Color(0xFFFFFFFF),
        container = Color(0xFFEEF0F4), onContainer = Color(0xFF05070A)
    ),
    background = Color(0xFFFFFFFF),
    surface = Color(0xFFFFFFFF),
    onSurface = Color(0xFF4B4F5C),
    disabledContainer = Color(0xFFEEF0F4),
    disabledContent = Color(0xFFA0A5B3),
    textPrimary = Color(0xFF05070A),
    textSecondary = Color(0xFF4B4F5C),
    textDisabled = Color(0xFFA0A5B3),
    textInverse = Color(0xFFFFFFFF),
    border = Color(0xFFE7E9ED),
    borderHover = Color(0xFFD5D9E0),
    borderStrong = Color(0xFFA0A5B3),
    divider = Color(0xFFECEEF3),
    focusRing = Color(0xFF2264FF),
    scrim = Color(0x7A101322),
    chart = listOf(Color(0xFF2264FF), Color(0xFF1F9F66), Color(0xFFE5761F), Color(0xFF6D4AFF), Color(0xFFC42A55), Color(0xFF0E8FA3))
)

private val PantrixPresetDark = PantrixColors(
    primary = PantrixColor(
        color = Color(0xFF598BFF), onColor = Color(0xFF05070A),
        container = Color(0xFF182A56), onContainer = Color(0xFFBDD1FF)
    ),
    success = PantrixColor(
        color = Color(0xFF34C17E), onColor = Color(0xFF05070A),
        container = Color(0xFF12301F), onContainer = Color(0xFFA6E5C6)
    ),
    info = PantrixColor(
        color = Color(0xFF5386FF), onColor = Color(0xFF05070A),
        container = Color(0xFF16244A), onContainer = Color(0xFF8BADFF)
    ),
    warning = PantrixColor(
        color = Color(0xFFFA8A37), onColor = Color(0xFF05070A),
        container = Color(0xFF2E1D0E), onContainer = Color(0xFFFFB77D)
    ),
    danger = PantrixColor(
        color = Color(0xFFF04770), onColor = Color(0xFF05070A),
        container = Color(0xFF3A1420), onContainer = Color(0xFFFF7D9C)
    ),
    neutral = PantrixColor(
        color = Color(0xFFC3C8D4), onColor = Color(0xFF05070A),
        container = Color(0xFF212839), onContainer = Color(0xFFF4F6FA)
    ),
    background = Color(0xFF0B0E15),
    surface = Color(0xFF151A26),
    onSurface = Color(0xFFC3C8D4),
    disabledContainer = Color(0xFF212839),
    disabledContent = Color(0xFF4B5368),
    textPrimary = Color(0xFFF4F6FA),
    textSecondary = Color(0xFFC3C8D4),
    textDisabled = Color(0xFF4B5368),
    textInverse = Color(0xFF05070A),
    border = Color(0xFF262D3D),
    borderHover = Color(0xFF333B4E),
    borderStrong = Color(0xFF4B5368),
    divider = Color(0xFF1F2533),
    focusRing = Color(0xFF85AAFF),
    scrim = Color(0x9E000000),
    chart = listOf(Color(0xFF5386FF), Color(0xFF34C17E), Color(0xFFFA8A37), Color(0xFF9B83FF), Color(0xFFF04770), Color(0xFF3CC4D6))
)

Then: PantrixTheme(preset = PantrixPreset, density = PantrixDensity.Comfortable)