angular-color-interpolator
Angular provider for color interpolation.
Inspiration
The primary reason this was needed was to use database-driven branding colors for an angular application. When customizing angular-material's themes, it became apparent that storing a bunch of colors wasn't necessarily ideal.
Instead, we store a single color in the database and create a custom theme by running:
{ return '50' : $colorInterpolator '100' : $colorInterpolator '200' : $colorInterpolator '300' : $colorInterpolator '400' : $colorInterpolator '500' : base '600' : $colorInterpolator '700' : $colorInterpolator '800' : $colorInterpolator '900' : $colorInterpolator 'A100': $colorInterpolator 'A200': $colorInterpolator 'A400': $colorInterpolator 'A700': $colorInterpolator 'contrastDefaultColor': 'light' 'contrastDarkColors': '50' '100' '200' '300' '400' 'A100' 'contrastLightColors': '900' '800' '700' '600' '500' 'A700' }
Installation
Install with the cli
bower install angular-color-interpolator
-- or --
npm install angular-color-interpolator
Import in the html
<script src="/bower_components/angular-color-interpolator/release/angular-color-interpolator.min.js"></script>
Add as a module of your Angular.JS app
angular.module('my.app', ['ngColorInterpolator']);
Usage
lighten(color, factor)
- color being a hex or rgb color, factory being 0.1 for 10%, 0.2 for 20%, and so on. Will lighten the color by that factor.darken(color, factor)
- inverse of lightenblend(color1, color2, factor)
- given two colors, blend the colors together using the given factor to determine how to weight each color.
Contributions
- Fork the project, make changes, and submit a PR. I will bundle the release together and push out the new version.
Build for release
Bump up the version and run:
$ grunt
Commit the new version and run git tag [version]
and git push origin --tags
.