🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

Huebee is a JavaScript library for creating user-centric color pickers. Huebee displays a limited set of colors so users view all colors at a glance, make clear decisions, and select a color with a single click.

Core Java Script

Documentation

Huebee

🐝 1-click color picker

See huebee.buzz for complete docs and demos.

Install

Download

CDN

Link directly to Huebee files on unpkg.

<link rel="stylesheet" href="https://unpkg.com/huebee@2/dist/huebee.min.css"> <!-- or --> <link rel="stylesheet" href="https://unpkg.com/huebee@2/dist/huebee.css">
<script src="https://unpkg.com/huebee@2/dist/huebee.pkgd.min.js"></script> <!-- or --> <script src="https://unpkg.com/huebee@2/dist/huebee.pkgd.js"></script>

Package managers

Bower: bower install huebee --save

npm: npm install huebee --save

Usage

Initialize Huebee on an anchor element.

<input class="color-input" />

Huebee will open whenever the anchor is clicked or focused (for inputs and buttons).

Initialize with JavaScript

// use selector string to initialize on single element var hueb = new Huebee( '.color-input', {   // options   setBGColor: true,   saturations: 2, });  // or use element var colorInput = document.querySelector('.color-input'); var hueb = new Huebee( colorInput, {   // options   setBGColor: true,   saturations: 2, });

Initialize with HTML

You can initialize Huebee in HTML, without writing any JavaScript. Add data-huebee attribute to an element.

<input class="color-input" data-huebee />

Options can be set in value of data-huebee. Options set in HTML must be valid JSON. Keys need to be quoted, for example "setBGColor":. Note that the attribute value uses single quotes ', but the JSON entities use double-quotes ".

<input class="color-input" data-huebee='{ "setBGColor": true, "saturations": 2 }' />

Options

var hueb = new Huebee( '.color-input', {   // options    hues: 6,   // number of hues of the color grid   // default: 12    hue0: 210,   // the first hue of the color grid   // default: 0    shades: 7,   // number of shades of colors and shades of gray between white and black   // default: 5    saturations: 2,   // number of sets of saturation of the color grid   // 3 saturations => [ 100% saturation, 66% saturation, 33% saturation ]   // default: 3    notation: 'hex',   // the text syntax of colors   // values: shortHex, hex, hsl   // shortHex => #F00, hex => #FF0000, hsl => hsl(0, 100%, 50%)   // default: shortHex    setText: false,   // sets text of elements to color, and sets text color   // true => sets text of anchor   // string, '.color-text' => sets elements that match selector   // default: true    setBGColor: false,   // sets background color of elements   // and text color so text is visible on light or dark colors   // true => sets background color of anchor   // string, '.color-bg' => sets elements that match selector   // default: true    customColors: [ '#19F', '#E5A628', 'darkgray', 'hsl(210, 90%, 55%)' ]   // custom colors added to the top of the grid    staticOpen: true,   // displays open and stays open   // default: false    className: 'color-input-picker',   // class added to Huebee element, useful for CSS });

CSS

Set the size of the color grid with by setting the size of .huebee__cursor in CSS.

.huebee__cursor {   width: 25px;   height: 25px; }

Style Huebee with your own CSS.

.huebee {   transition: none; /* disable reveal/hide transition */ }  .huebee__container {   background: #444;   border: 1px solid #222;   border-radius: 20px; }  .huebee__cursor {   border: 2px solid #19F; }  .huebee__close-button {   background: red; }  .huebee__close-button__x {   stroke-width: 2; }

Use className option for specificity.

<div class="dark-swatch" data-huebee='{ "className": "dark-picker" }'></div> <div class="light-swatch" data-huebee='{ "className": "light-picker" }'></div>
.dark-picker .huebee__container {   background: #222; }  .light-picker .huebee__container {   background: #F8F8F8; }

API

var hueb = new Huebee( element, options );

Properties

hueb.color // => #F00 // {String} - text color value  hueb.hue // -> 0 // {Number} - angle of hue of color, 0...360  hueb.sat // -> 1 // {Number} - saturation of color, 0...1  hueb.lum // -> 0.5 // {Number} - luminance of color, 0...1

Methods

hueb.open() // opens Huebee  hueb.close() // closes Huebee

Events

hueb.on( 'change', function( color, hue, sat, lum ) {   console.log( 'color changed to: ' + color ) })

MIT License

By Metafizzy


You May Also Like