Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
material-color-tool
Advanced tools
Generate a spec-compliant Material Design palette from a source color
Procedurally generate a spec-compliant Material Design color palette based on an original source color. While there is not an official spec, Google has published a tool (linked below) which serves as a model for the conversions here.
const { makePalette } = require('material-color-tool')
makePalette('#E82127') // returns an array of hex codes representing your palette
The conversion here is not simply adjusting lightness or other color attributes to generate a close approximation. While this produces pretty good results when the shades are close to the original color, as you get toward either end of the light or dark range this can produce an outcome where the shades no longer look like the original source.
As an example, below is a comparison of procedurally generating a palette for the Material "Blue" color (#2196F3) using the Material.io methodology opposed to a simple lighten/darken that you'll find in most community implementations:
Once again, I need to acknowledge that credit for this method goes entirely to the original authors of the Material.io tool.
When a source color is provided, it is converted to a CIELAB and HCL color space. First the color is compared to the existing Material design palettes to find the closest comparable palette using the CIEDE2000 algorithm. These palettes are the closest thing we have to a true "spec" and have been generated by hand.
If any of these palettes are close enough optically to the original source color, the palette is used instead. Otherwise, the closest match is pulled and the entire palette color adjusted to the source color by changing the HCL values.
All authorship credit to original Google Material color palette generator: https://material.io/inline-tools/color/
FAQs
Generate a spec-compliant Material Design palette from a source color
The npm package material-color-tool receives a total of 74 weekly downloads. As such, material-color-tool popularity was classified as not popular.
We found that material-color-tool demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.