• Stars
    star
    1,637
  • Rank 28,564 (Top 0.6 %)
  • Language
    Swift
  • License
    Apache License 2.0
  • Created about 3 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Color libraries for Material You

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
Swift โœ…
TypeScript โœ… npm package
GLSL Coming soon

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.

More Repositories

1

material-remixer

A set of cross-platform libraries and protocols to allow the sharing of design values and live refinement of apps during the development process.
1,249
star
2

flutter-packages

A collection of useful Material Design packages
Dart
827
star
3

material-remixer-android

Remixer for Android. Live adjustment of app variables.
Java
776
star
4

material-theme-builder

Visualize dynamic color and create a custom Material Theme.
409
star
5

material-tokens

Material Design DSP
CSS
234
star
6

material-components-flutter-adaptive

Now lives at https://github.com/material-foundation/flutter-packages/tree/main/packages
Dart
162
star
7

material-remixer-ios

Remixer for iOS: Live adjustment of app variables.
Objective-C
102
star
8

material-remixer-js

Remixer for JavaScript. Live adjustment of app variables.
TypeScript
97
star
9

pesto_flutter

Learn how to build the basil material study in Flutter with advanced theming techniques that support multiple device contexts. This file is a companion to the live workshop at Flutter Forward 2022
Dart
72
star
10

material-dynamic-color-flutter

Now lives at https://github.com/material-foundation/flutter-packages/tree/main/packages/dynamic_color
JavaScript
59
star
11

material-text-accessibility-ios

MDFTextAccessibility assists in selecting text colors that meet the W3C standards for accessibility.
Objective-C
58
star
12

material-internationalization-ios

MDFInternationalization assists in internationalizing your IOS app or components.
Objective-C
41
star
13

material-remixer-remote-web

A hosted remote controller for a Remixer target app.
TypeScript
26
star
14

material-sprited-animation-view-ios

UIView subclass that uses a spritesheet to animate between two image states
Objective-C
25
star
15

material-roboto-font-loader-ios

Objective-C
23
star
16

material-scrollview-delegate-multiplexer-ios

MDFScrollViewDelegateMultiplexer acts as a proxy object for UIScrollViewDelegate events and forwards all received events to an ordered list of registered observers.
Objective-C
21
star
17

material-font-disk-loader-ios

Objective-C
20
star
18

cocoapods-catalog-by-convention

Build a Catalog application using conventions and CocoaPods
Objective-C
19
star
19

material-automation

A Swift backend connected to our Github App for automation
Swift
15
star
20

github-squash-and-merge-pr-descriptions

A Chrome extension that populates GitHub squash-and-merge commit messages with the PR description.
JavaScript
13
star
21

material-symbols-and-variable-fonts

Learning Material Symbols and Variable Fonts
TypeScript
11
star
22

bazel-apple-framework-relative-headers

Bazel support for framework header imports
Python
9
star
23

arc-tslint

tslint linter for phabricator's arc command line tool
PHP
8
star
24

clang-format-ci

Run clang-format from your CI to automatically suggest style changes in PRs as in-line comments.
Shell
8
star
25

github-comment

A command line tool for posting pull request comments to GitHub
Swift
7
star
26

material-arc-tools

arcanist linters, unit tests, and hooks.
6
star
27

arc-hook-github-issues

An arc-hook for updating GitHub issues after running arc diff.
PHP
5
star
28

bazel_ios_warnings

Warnings we use for bazel iOS targets.
Python
5
star
29

SettingsKit

Easily generate a settings screen using a modular MVVM architecture.
Objective-C
5
star
30

clang-format

Pre-build clang-format binaries
Shell
4
star
31

bazel-workspace-apple

The Material Foundation's common Bazel workspaces dependencies for Apple targets
Python
4
star
32

bazel-test-host-apple

A generic Bazel test host for Apple targets.
Python
4
star
33

kokoro-ios-runner

A build and test runner for kokoro iOS.
Shell
4
star
34

arc-hook-conphig

Hookable configuration for phabricator's arc command line tool
PHP
4
star
35

arc-tsclint

PHP
3
star
36

material-testing-ios

This repository extends XCTest framework with testing helper additions.
Python
3
star
37

swatchie

1
star
38

graphite-oss-daemon

node.js graphite daemon for open source analytics.
JavaScript
1
star
39

compute-oss-dashboard

Google Compute Engine cluster configuration scripts for our open source analytics dashboard
Shell
1
star