Ajoutez ce fichier à votre projet pour utiliser la palette de couleurs Open Color dans Jetpack Compose.
Exemple :
Text("Hello World", color = OpenColors.getColorScale(OpenColorsPalette.Red)[5]
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)
}
}
}