#Palette Open Color

Ajoutez ce fichier à votre projet pour utiliser la palette de couleurs Open Color dans Jetpack Compose.

Exemple :

kotlin
Text("Hello World", color = OpenColors.getColorScale(OpenColorsPalette.Red)[5]
kotlin
package com.example.ui.theme

import androidx.compose.ui.graphics.Color

enum class OpenColorsPalette{
    Gray,
    Red,
    Pink,
    Grape,
    Violet,
    Indigo,
    Blue,
    Cyan,
    Teal,
    Green,
    Lime,
    Yellow,
    Orange
}
/**
 * Open Color palette for Jetpack Compose
 * Based on Open Color v1.9.1
 * https://yeun.github.io/open-color/
 */
object OpenColors {
    // Gray
    val gray0 = Color(0xFFF8F9FA)
    val gray1 = Color(0xFFF1F3F5)
    val gray2 = Color(0xFFE9ECEF)
    val gray3 = Color(0xFFDEE2E6)
    val gray4 = Color(0xFFCED4DA)
    val gray5 = Color(0xFFADB5BD)
    val gray6 = Color(0xFF868E96)
    val gray7 = Color(0xFF495057)
    val gray8 = Color(0xFF343A40)
    val gray9 = Color(0xFF212529)

    // Red
    val red0 = Color(0xFFFFF5F5)
    val red1 = Color(0xFFFFE3E3)
    val red2 = Color(0xFFFFD1D1)
    val red3 = Color(0xFFFFC9C9)
    val red4 = Color(0xFFFFB8B8)
    val red5 = Color(0xFFFF8787)
    val red6 = Color(0xFFFF6B6B)
    val red7 = Color(0xFFFA5252)
    val red8 = Color(0xFFF03E3E)
    val red9 = Color(0xFFE03131)

    // Pink
    val pink0 = Color(0xFFFFF0F6)
    val pink1 = Color(0xFFFFDEEB)
    val pink2 = Color(0xFFFCC2D7)
    val pink3 = Color(0xFFFAA2C1)
    val pink4 = Color(0xFFF783AC)
    val pink5 = Color(0xFFF06595)
    val pink6 = Color(0xFFE64980)
    val pink7 = Color(0xFFD6336C)
    val pink8 = Color(0xFFC2255C)
    val pink9 = Color(0xFFA61E4D)

    // Grape
    val grape0 = Color(0xFFF8F0FC)
    val grape1 = Color(0xFFF3D9FA)
    val grape2 = Color(0xFFEEBEFA)
    val grape3 = Color(0xFFE599F7)
    val grape4 = Color(0xFFE577F7)
    val grape5 = Color(0xFFD155E6)
    val grape6 = Color(0xFFCC33E6)
    val grape7 = Color(0xFFBE4BDB)
    val grape8 = Color(0xFFAE3EC9)
    val grape9 = Color(0xFF9C36B5)

    // Violet
    val violet0 = Color(0xFFF3F0FF)
    val violet1 = Color(0xFFE5DBFF)
    val violet2 = Color(0xFFD0BFFF)
    val violet3 = Color(0xFFB197FC)
    val violet4 = Color(0xFF9775FA)
    val violet5 = Color(0xFF845EF7)
    val violet6 = Color(0xFF7950F2)
    val violet7 = Color(0xFF7048E8)
    val violet8 = Color(0xFF6741D9)
    val violet9 = Color(0xFF5F3DC4)

    // Indigo
    val indigo0 = Color(0xFFEDF2FF)
    val indigo1 = Color(0xFFDBE4FF)
    val indigo2 = Color(0xFFBAC8FF)
    val indigo3 = Color(0xFF91A7FF)
    val indigo4 = Color(0xFF748FFC)
    val indigo5 = Color(0xFF5C7CFA)
    val indigo6 = Color(0xFF4C6EF5)
    val indigo7 = Color(0xFF4263EB)
    val indigo8 = Color(0xFF3B5BDB)
    val indigo9 = Color(0xFF364FC7)

    // Blue
    val blue0 = Color(0xFFE7F5FF)
    val blue1 = Color(0xFFD0EBFF)
    val blue2 = Color(0xFFA5D8FF)
    val blue3 = Color(0xFF74C0FC)
    val blue4 = Color(0xFF4DABF7)
    val blue5 = Color(0xFF339AF0)
    val blue6 = Color(0xFF228BE6)
    val blue7 = Color(0xFF1C7ED6)
    val blue8 = Color(0xFF1971C2)
    val blue9 = Color(0xFF1864AB)

    // Cyan
    val cyan0 = Color(0xFFE3FAFC)
    val cyan1 = Color(0xFFC5F6FA)
    val cyan2 = Color(0xFF99E9F2)
    val cyan3 = Color(0xFF66D9E8)
    val cyan4 = Color(0xFF3BC9DB)
    val cyan5 = Color(0xFF22B8CF)
    val cyan6 = Color(0xFF15AABF)
    val cyan7 = Color(0xFF1098AD)
    val cyan8 = Color(0xFF0C8599)
    val cyan9 = Color(0xFF0B7285)

    // Teal
    val teal0 = Color(0xFFE6FCF5)
    val teal1 = Color(0xFFC3FAE8)
    val teal2 = Color(0xFF96F2D7)
    val teal3 = Color(0xFF63E6BE)
    val teal4 = Color(0xFF38D9A9)
    val teal5 = Color(0xFF20C997)
    val teal6 = Color(0xFF12B886)
    val teal7 = Color(0xFF0CA678)
    val teal8 = Color(0xFF099268)
    val teal9 = Color(0xFF087F5B)

    // Green
    val green0 = Color(0xFFEBFBEE)
    val green1 = Color(0xFFD3F9D8)
    val green2 = Color(0xFFB2F2BB)
    val green3 = Color(0xFF8CE99A)
    val green4 = Color(0xFF69DB7C)
    val green5 = Color(0xFF51CF66)
    val green6 = Color(0xFF40C057)
    val green7 = Color(0xFF37B24D)
    val green8 = Color(0xFF2F9E44)
    val green9 = Color(0xFF2B8A3E)

    // Lime
    val lime0 = Color(0xFFF4FCE3)
    val lime1 = Color(0xFFE9FAC8)
    val lime2 = Color(0xFFD8F5A2)
    val lime3 = Color(0xFFC0EB75)
    val lime4 = Color(0xFFA9E34B)
    val lime5 = Color(0xFF94D82D)
    val lime6 = Color(0xFF82C91E)
    val lime7 = Color(0xFF74B816)
    val lime8 = Color(0xFF66A80F)
    val lime9 = Color(0xFF5C940D)

    // Yellow
    val yellow0 = Color(0xFFFFF9DB)
    val yellow1 = Color(0xFFFFF3BF)
    val yellow2 = Color(0xFFFFEC99)
    val yellow3 = Color(0xFFFFE066)
    val yellow4 = Color(0xFFFFD43B)
    val yellow5 = Color(0xFFFCC419)
    val yellow6 = Color(0xFFFAB005)
    val yellow7 = Color(0xFFF59F00)
    val yellow8 = Color(0xFFF08C00)
    val yellow9 = Color(0xFFE67700)

    // Orange
    val orange0 = Color(0xFFFFF4E6)
    val orange1 = Color(0xFFFFE8CC)
    val orange2 = Color(0xFFFFD8A8)
    val orange3 = Color(0xFFFFC078)
    val orange4 = Color(0xFFFFA94D)
    val orange5 = Color(0xFFFF922B)
    val orange6 = Color(0xFFF76707)
    val orange7 = Color(0xFFE8590C)
    val orange8 = Color(0xFFD9480F)
    val orange9 = Color(0xFFBF400D)

    /**
     * Returns a list of all color scales from lightest (0) to darkest (9)
     */
    fun getColorScale(palette: OpenColorsPalette): List<Color> {
        return when (palette) {
            OpenColorsPalette.Gray -> listOf(gray0, gray1, gray2, gray3, gray4, gray5, gray6, gray7, gray8, gray9)
            OpenColorsPalette.Red -> listOf(red0, red1, red2, red3, red4, red5, red6, red7, red8, red9)
            OpenColorsPalette.Pink -> listOf(pink0, pink1, pink2, pink3, pink4, pink5, pink6, pink7, pink8, pink9)
            OpenColorsPalette.Grape -> listOf(grape0, grape1, grape2, grape3, grape4, grape5, grape6, grape7, grape8, grape9)
            OpenColorsPalette.Violet -> listOf(violet0, violet1, violet2, violet3, violet4, violet5, violet6, violet7, violet8, violet9)
            OpenColorsPalette.Indigo -> listOf(indigo0, indigo1, indigo2, indigo3, indigo4, indigo5, indigo6, indigo7, indigo8, indigo9)
            OpenColorsPalette.Blue -> listOf(blue0, blue1, blue2, blue3, blue4, blue5, blue6, blue7, blue8, blue9)
            OpenColorsPalette.Cyan -> listOf(cyan0, cyan1, cyan2, cyan3, cyan4, cyan5, cyan6, cyan7, cyan8, cyan9)
            OpenColorsPalette.Teal -> listOf(teal0, teal1, teal2, teal3, teal4, teal5, teal6, teal7, teal8, teal9)
            OpenColorsPalette.Green -> listOf(green0, green1, green2, green3, green4, green5, green6, green7, green8, green9)
            OpenColorsPalette.Lime -> listOf(lime0, lime1, lime2, lime3, lime4, lime5, lime6, lime7, lime8, lime9)
            OpenColorsPalette.Yellow -> listOf(yellow0, yellow1, yellow2, yellow3, yellow4, yellow5, yellow6, yellow7, yellow8, yellow9)
            OpenColorsPalette.Orange -> listOf(orange0, orange1, orange2, orange3, orange4, orange5, orange, orange7, orange8, orange9)
        }
    }
}