Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/material-foundation/material-color-utilities
Color libraries for Material You
https://github.com/material-foundation/material-color-utilities
cpp-library dart-library dart-package java-library material-design typescript-library
Last synced: 4 days ago
JSON representation
Color libraries for Material You
- Host: GitHub
- URL: https://github.com/material-foundation/material-color-utilities
- Owner: material-foundation
- License: apache-2.0
- Created: 2021-10-12T18:10:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-25T13:41:53.000Z (5 days ago)
- Last Synced: 2024-06-25T16:08:35.411Z (5 days ago)
- Topics: cpp-library, dart-library, dart-package, java-library, material-design, typescript-library
- Language: Dart
- Homepage:
- Size: 2.91 MB
- Stars: 1,560
- Watchers: 31
- Forks: 132
- Open Issues: 76
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Lists
- awesome-design.ai - Color libraries for Material You
- awesome-stars - material-color-utilities - foundation | 1560 | (Dart)
README
# 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.## Library availability
Language | Availability | Location
----------- | ------------- | --------
C++ | ✅ |
Dart | ✅ | [![pub package](https://img.shields.io/pub/v/material_color_utilities.svg)](https://pub.dev/packages/material_color_utilities)
Java | ✅ | [MDC-Android](https://github.com/material-components/material-components-android/blob/master/docs/theming/Color.md)
Swift | ✅ |
TypeScript | ✅ | [![npm package](https://badgen.net/npm/v/@material/material-color-utilities)](https://npmjs.com/package/@material/material-color-utilities)
GLSL | *Coming soon* |Need another platform/language? Check the
[existing issues](https://github.com/material-foundation/material-color-utilities/labels/library%3A%20new)
or open a new one.## Usage
### 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](https://material.io/blog/science-of-color-design)
## Design tooling
The
[Material Theme Builder](https://www.figma.com/community/plugin/1034969338659738588/Material-Theme-Builder)
Figma plugin and
[web tool](https://material-foundation.github.io/material-theme-builder/) 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.