solstice23 / material-color-utilities

Color libraries for Material You

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Material color utilities

Algorithms and utilities that power the Material Design 3 (M3) color system, including choosing theme colors from images and creating tones of colors; all in a new color space.

materialyou.mp4

Library availability

Language Availability Location
C++
Dart pub package
Java MDC-Android
Objective-C Coming soon
TypeScript npm package

Need another platform/language? Check the existing issues or open a new one.

Usage

Cheat sheet

library cheat sheet

Components

The library is composed of multiple components, each with its own folder and tests, each as small as possible.

This enables easy merging and updating of subsets into other libraries, such as Material Design Components, Android System UI, etc. Not all consumers will need every component — ex. MDC doesn’t need quantization/scoring/image extraction.

Components Purpose
blend Interpolate, harmonize, animate, and gradate colors in
: : HCT :
contrast Measure contrast, obtain contrastful colors
dislike Check and fix universally disliked colors
dynamiccolor Obtain colors that adjust based on UI state (dark theme,
: : style, preferences, contrast requirements, etc.) :
hct A new color space (hue, chrome, tone) based on CAM16 x
: : L*, that accounts for viewing conditions :
palettes Tonal palette — range of colors that varies only in tone
: :
Core palette — set of tonal palettes needed to create :
: : Material color schemes :
quantize Turn an image into N colors; composed of Celebi, which
: : runs Wu, then WSMeans :
scheme Create static and dynamic color schemes from a single
: : color or a core palette :
score Rank colors for suitability for theming
temperature Obtain analogous and complementary colors
utilities Color — convert between color spaces needed to implement
: : HCT/CAM16
Math — functions for ex. ensuring hue is :
: : between 0 and 360, clamping, etc.
String - convert :
: : between strings and integers :

Background

The Science of Color & Design - Material Design

Design tooling

The Material Theme Builder Figma plugin and web tool are recommended for design workflows. The Material Theme Builder delivers dynamic color to where design is done. Designers can take an existing design, and see what it looks like under different themes, with just a couple clicks.

About

Color libraries for Material You

License:Apache License 2.0


Languages

Language:TypeScript 100.0%