Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

color-harmony

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

color-harmony

Create color scales by rotating hue

  • 0.3.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

color-harmony

NPM version Build Status Code Climate Coverage Status Dependency Status devDependency Status

NPM

Description

A javascript library that creates color scales/harmonies by rotating the hue of the given color.

There are also helper methods to create shades (mixing w/ black), tints (mixing w/ white), and tones (mixing w/ middle gray).

Getting Started

Install the module with: npm install color-harmony

var Harmonizer = require('color-harmony').Harmonizer;
var harmonizer = new Harmonizer();
harmonizer.harmonizeAll('#c820f1'); // returns a map of scales
harmonizer.harmonize('#000', 'complementary'); // returns ['#000000', '#ffffff']

Documentation

This library uses the onecolor parser, so colorString can in many different formats (i.e. #ff00cc, rgb(13,42,255), etc).

harmonizer.add(harmonyName, degreeArray)

Add a new named harmony. If the harmony name already exists, it will be overwritten. If degreeArray is not an array of numbers, then the harmony will not be added.

harmonizer.harmonizeAll(colorString)

Return a map of all the harmonies for the given color string.

harmonizer.harmonize(colorString, harmony)

Return an array of hex codes based on the given color string and harmony.

The harmony argument can be a 'named harmony', or it can be a custom harmony by passing in an array of numbers (degrees 0-360).

harmonizer.shades(colorString, size)

Return an array of hex codes container the shades of a given color (i.e. mix it with black - #000000).

If size is not a valid number, then the array will default to a size of 10.

harmonizer.tints(colorString, size)

Return an array of hex codes container the tints of a given color (i.e. mix it with white - #FFFFFF).

If size is not a valid number, then the array will default to a size of 10.

harmonizer.tones(colorString, size)

Return an array of hex codes container the tones of a given color (i.e. mix it with middle gray - #777777).

If size is not a valid number, then the array will default to a size of 10.

Available Harmony Names (and their associated degrees of hue rotation)

  • complementary: [0,180]
  • splitComplementary: [0,150,320]
  • splitComplementaryCW: [0,150,300]
  • splitComplementaryCCW: [0,60,210]
  • triadic: [0,120,240]
  • clash: [0,90,270]
  • tetradic: [0,90,180,270]
  • fourToneCW: [0,60,180,240]
  • fourToneCCW: [0,120,180,300]
  • fiveToneA: [0,115,155,205,245]
  • fiveToneB: [0,40,90,130,245]
  • fiveToneC: [0,50,90,205,320]
  • fiveToneD: [0,40,155,270,310]
  • fiveToneE: [0,115,230,270,320]
  • sixToneCW: [0,30,120,150,240,270]
  • sixToneCCW: [0,90,120,210,240,330]
  • neutral: [0,15,30,45,60,75]
  • analogous: [0,30,60,90,120,150]

NOTE: This list was compiled based on the data in color-js

Examples

Get all the stored harmonies

harmonizer.harmonizeAll('#c820f1'); // returns a map of scales

Get a named harmony

harmonizer.harmonize('#000', 'complementary'); // returns ['#000000', '#ffffff']

Get a custom harmony

harmonizer.harmonize('#000', [0, 10, 20, 30, 40]); // returns an array of colors

Add a custom harmony that can later be referenced by name

harmonizer.add('foo', [0, 25, 45]);
harmonizer.harmonize('#00cc00', 'foo'); // returns your custom data

Return the shades of a given color (mix it with black - #000000)

harmonizer.shades('#925719'); // returns 10 by default
harmonizer.shades('#925719', 14); // you can return a custom amount (an array of 14)

Return the tints of a given color (mix it with white - #FFFFFF)

harmonizer.tints('#925719'); // returns 10 by default
harmonizer.tints('#925719', 14); // you can return a custom amount (an array of 14)

Return the tones of a given color (mix it with middle gray - #777777)

harmonizer.tones('#925719'); // returns 10 by default
harmonizer.tones('#925719', 14); // you can return a custom amount (an array of 14)

Release History

v0.2.0 - Released June 22, 2014
  • fixing a bug with the saturation value that was being used
v0.1.0 - Released June 21, 2014
  • initial release

License

Copyright (c) 2014 skratchdot
Licensed under the MIT license.

Keywords

FAQs

Package last updated on 19 Aug 2015

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc