Skip to content
This repository has been archived by the owner on Apr 3, 2023. It is now read-only.

Latest commit

 

History

History
96 lines (71 loc) · 3.03 KB

README.md

File metadata and controls

96 lines (71 loc) · 3.03 KB

Material takes cues from contemporary architecture, road signs, pavement marking tape, and athletic courts. Color should be unexpected and vibrant. (https://material.google.com/style/color.html)

Material color hashing

Hash a string to a Material Design color

npm version Alt text

A dead-simple library to hash a string to a {backgroundColor, textColor} tuple from the official Material Design palette.

Great for dynamically coloring your UI elements (badges, list icons, ..) with good-looking, vibrant colors and ensured text legibility.

Interactive Demo

http://belkalab.github.io/material-color-hash/ http://belkalab.github.io/material-color-hash/

Usage

$ npm install material-color-hash
var toMaterialStyle = require('material-color-hash');
// or, if you are on ES6:
// import toMaterialStyle from 'material-color-hash'

/* basic usage */
var fooStyle = toMaterialStyle('foo');
// fooStyle: {
//   backgroundColor: '#00BCD4',
//   color: 'rgba(0, 0, 0, 0.87)',
//   materialColorName: 'Cyan'
// }

/* select a different shade (default is 500) */
var fooStyle200 = toMaterialStyle('foo', '200');
// fooStyle200: {
//   backgroundColor: '#80DEEA',
//   color: 'rgba(0, 0, 0, 0.87)',
//   materialColorName: 'Cyan'
// }

var barStyle = toMaterialStyle('bar', 500);
// barStyle: {
//   backgroundColor: '#2196F3',
//   color: 'rgba(255, 255, 255, 1)',
//   materialColorName: 'Blue'
// }

/* also works with emoji! */
var emojiStyle = toMaterialStyle('😎');
// emojiStyle: {
//   backgroundColor: '#FFEB3B',
//   color: 'rgba(0, 0, 0, 0.87)',
//   materialColorName: 'Yellow'
// }

The returned object can be fed directly as a style prop to React components:

import toMaterialStyle from 'material-color-hash';

const MaterialBadge = (props) => {
	const style = toMaterialStyle(props.text);

	return (
		<div
			className="badge"
			style={style}
		>
			{props.text}
		</div>
	);
}

For more information about Material Design colors and how to use them, check out the official Material Design docs by Google

Contributors

Giovanni Frigo, Developer @Belka

License

material-color-hash is Copyright (c) 2016-2018 Belka, srl. It is free software, and may be redistributed under the terms specified in the LICENSE file. (TL;DR: MIT license)

About Belka

Belka is a Digital Agency specialized in design, mobile applications development and custom solutions. We love open source software! You can see our projects or look at our case studies.

Interested? Hire us to help build your next amazing project.

www.belka.us