huebee
Advanced tools
Comparing version 1.0.1 to 2.0.0
/** | ||
* Huebee PACKAGED v1.0.1 | ||
* Huebee PACKAGED v2.0.0 | ||
* 1-click color picker | ||
* | ||
* Licensed GPLv3 for open source use | ||
* or Huebee Commercial License for commercial use | ||
* | ||
* MIT license | ||
* http://huebee.buzz | ||
* Copyright 2016 Metafizzy | ||
* Copyright 2018 Metafizzy | ||
*/ | ||
@@ -427,10 +424,7 @@ | ||
/** | ||
* Huebee v1.0.1 | ||
* Huebee v2.0.0 | ||
* 1-click color picker | ||
* | ||
* Licensed GPLv3 for open source use | ||
* or Huebee Commercial License for commercial use | ||
* | ||
* MIT license | ||
* http://huebee.buzz | ||
* Copyright 2016 Metafizzy | ||
* Copyright 2018 Metafizzy | ||
*/ | ||
@@ -437,0 +431,0 @@ |
/** | ||
* Huebee PACKAGED v1.0.1 | ||
* Huebee PACKAGED v2.0.0 | ||
* 1-click color picker | ||
* | ||
* Licensed GPLv3 for open source use | ||
* or Huebee Commercial License for commercial use | ||
* | ||
* MIT license | ||
* http://huebee.buzz | ||
* Copyright 2016 Metafizzy | ||
* Copyright 2018 Metafizzy | ||
*/ | ||
!function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var n=this._events=this._events||{},i=n[t]=n[t]||[];return i.indexOf(e)==-1&&i.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var n=this._onceEvents=this._onceEvents||{},i=n[t]=n[t]||{};return i[e]=!0,this}},e.off=function(t,e){var n=this._events&&this._events[t];if(n&&n.length){var i=n.indexOf(e);return i!=-1&&n.splice(i,1),this}},e.emitEvent=function(t,e){var n=this._events&&this._events[t];if(n&&n.length){var i=0,o=n[i];e=e||[];for(var s=this._onceEvents&&this._onceEvents[t];o;){var r=s&&s[o];r&&(this.off(t,o),delete s[o]),o.apply(this,e),i+=r?0:1,o=n[i]}return this}},t}),function(t,e){"function"==typeof define&&define.amd?define("unipointer/unipointer",["ev-emitter/ev-emitter"],function(n){return e(t,n)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.Unipointer=e(t,t.EvEmitter)}(window,function(t,e){function n(){}function i(){}var o=i.prototype=Object.create(e.prototype);o.bindStartEvent=function(t){this._bindStartEvent(t,!0)},o.unbindStartEvent=function(t){this._bindStartEvent(t,!1)},o._bindStartEvent=function(e,n){n=void 0===n||!!n;var i=n?"addEventListener":"removeEventListener";t.navigator.pointerEnabled?e[i]("pointerdown",this):t.navigator.msPointerEnabled?e[i]("MSPointerDown",this):(e[i]("mousedown",this),e[i]("touchstart",this))},o.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},o.getTouch=function(t){for(var e=0;e<t.length;e++){var n=t[e];if(n.identifier==this.pointerIdentifier)return n}},o.onmousedown=function(t){var e=t.button;e&&0!==e&&1!==e||this._pointerDown(t,t)},o.ontouchstart=function(t){this._pointerDown(t,t.changedTouches[0])},o.onMSPointerDown=o.onpointerdown=function(t){this._pointerDown(t,t)},o._pointerDown=function(t,e){this.isPointerDown||(this.isPointerDown=!0,this.pointerIdentifier=void 0!==e.pointerId?e.pointerId:e.identifier,this.pointerDown(t,e))},o.pointerDown=function(t,e){this._bindPostStartEvents(t),this.emitEvent("pointerDown",[t,e])};var s={mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"],MSPointerDown:["MSPointerMove","MSPointerUp","MSPointerCancel"]};return o._bindPostStartEvents=function(e){if(e){var n=s[e.type];n.forEach(function(e){t.addEventListener(e,this)},this),this._boundPointerEvents=n}},o._unbindPostStartEvents=function(){this._boundPointerEvents&&(this._boundPointerEvents.forEach(function(e){t.removeEventListener(e,this)},this),delete this._boundPointerEvents)},o.onmousemove=function(t){this._pointerMove(t,t)},o.onMSPointerMove=o.onpointermove=function(t){t.pointerId==this.pointerIdentifier&&this._pointerMove(t,t)},o.ontouchmove=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerMove(t,e)},o._pointerMove=function(t,e){this.pointerMove(t,e)},o.pointerMove=function(t,e){this.emitEvent("pointerMove",[t,e])},o.onmouseup=function(t){this._pointerUp(t,t)},o.onMSPointerUp=o.onpointerup=function(t){t.pointerId==this.pointerIdentifier&&this._pointerUp(t,t)},o.ontouchend=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerUp(t,e)},o._pointerUp=function(t,e){this._pointerDone(),this.pointerUp(t,e)},o.pointerUp=function(t,e){this.emitEvent("pointerUp",[t,e])},o._pointerDone=function(){this.isPointerDown=!1,delete this.pointerIdentifier,this._unbindPostStartEvents(),this.pointerDone()},o.pointerDone=n,o.onMSPointerCancel=o.onpointercancel=function(t){t.pointerId==this.pointerIdentifier&&this._pointerCancel(t,t)},o.ontouchcancel=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerCancel(t,e)},o._pointerCancel=function(t,e){this._pointerDone(),this.pointerCancel(t,e)},o.pointerCancel=function(t,e){this.emitEvent("pointerCancel",[t,e])},i.getPointerPoint=function(t){return{x:t.pageX,y:t.pageY}},i}),function(t,e){"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter","unipointer/unipointer"],function(n,i){return e(t,n,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("unipointer")):t.Huebee=e(t,t.EvEmitter,t.Unipointer)}(window,function(t,e,n){function i(t,e){if(t=h(t),!t)throw"Bad element for Huebee: "+t;this.anchor=t,this.options={},this.option(i.defaults),this.option(e),this.create()}function o(){for(var t=document.querySelectorAll("[data-huebee]"),e=0;e<t.length;e++){var n,o=t[e],s=o.getAttribute("data-huebee");try{n=s&&JSON.parse(s)}catch(t){C&&C.error("Error parsing data-huebee on "+o.className+": "+t);continue}new i(o,n)}}function s(t){_.clearRect(0,0,1,1),_.fillStyle="#010203",_.fillStyle=t,_.fillRect(0,0,1,1);var e=_.getImageData(0,0,1,1).data;if(e=[e[0],e[1],e[2],e[3]],"1,2,3,255"!=e.join(",")){var n=u.apply(this,e);return{color:t.trim(),hue:n[0],sat:n[1],lum:n[2]}}}function r(t,e){for(var n in e)t[n]=e[n];return t}function h(t){return"string"==typeof t&&(t=document.querySelector(t)),t}function a(t,e,n){var i=c(t,e,n);return d(i)}function c(t,e,n){var i,o,s=(1-Math.abs(2*n-1))*e,r=t/60,h=s*(1-Math.abs(r%2-1));switch(Math.floor(r)){case 0:i=[s,h,0];break;case 1:i=[h,s,0];break;case 2:i=[0,s,h];break;case 3:i=[0,h,s];break;case 4:i=[h,0,s];break;case 5:i=[s,0,h];break;default:i=[0,0,0]}return o=n-s/2,i=i.map(function(t){return t+o})}function u(t,e,n){t/=255,e/=255,n/=255;var i,o=Math.max(t,e,n),s=Math.min(t,e,n),r=o-s,h=.5*(o+s),a=0===r?0:r/(1-Math.abs(2*h-1));0===r?i=0:o===t?i=(e-n)/r%6:o===e?i=(n-t)/r+2:o===n&&(i=(t-e)/r+4);var c=60*i;return[c,parseFloat(a),parseFloat(h)]}function d(t){var e=t.map(function(t){t=Math.round(255*t);var e=t.toString(16).toUpperCase();return e=e.length<2?"0"+e:e});return"#"+e.join("")}function p(t){return"#"+t[1]+t[3]+t[5]}i.defaults={hues:12,hue0:0,shades:5,saturations:3,notation:"shortHex",setText:!0,setBGColor:!0};var f=i.prototype=Object.create(e.prototype);f.option=function(t){this.options=r(this.options,t)};var v=0,l={};f.create=function(){function t(t){t.target==i&&t.preventDefault()}var e=this.guid=++v;this.anchor.huebeeGUID=e,l[e]=this,this.setBGElems=this.getSetElems(this.options.setBGColor),this.setTextElems=this.getSetElems(this.options.setText),this.outsideCloseIt=this.outsideClose.bind(this),this.onDocKeydown=this.docKeydown.bind(this),this.closeIt=this.close.bind(this),this.openIt=this.open.bind(this),this.onElemTransitionend=this.elemTransitionend.bind(this),this.isInputAnchor="INPUT"==this.anchor.nodeName,this.options.staticOpen||(this.anchor.addEventListener("click",this.openIt),this.anchor.addEventListener("focus",this.openIt)),this.isInputAnchor&&this.anchor.addEventListener("input",this.inputInput.bind(this));var n=this.element=document.createElement("div");n.className="huebee ",n.className+=this.options.staticOpen?"is-static-open ":"is-hidden ",n.className+=this.options.className||"";var i=this.container=document.createElement("div");if(i.className="huebee__container",i.addEventListener("mousedown",t),i.addEventListener("touchstart",t),this.createCanvas(),this.cursor=document.createElement("div"),this.cursor.className="huebee__cursor is-hidden",i.appendChild(this.cursor),this.createCloseButton(),n.appendChild(i),!this.options.staticOpen){var o=getComputedStyle(this.anchor.parentNode);"relative"!=o.position&&"absolute"!=o.position&&(this.anchor.parentNode.style.position="relative")}var s=this.options.hues,r=this.options.customColors,h=r&&r.length;this.satY=h?Math.ceil(h/s)+1:0,this.updateColors(),this.setAnchorColor(),this.options.staticOpen&&this.open()},f.getSetElems=function(t){return t===!0?[this.anchor]:"string"==typeof t?document.querySelectorAll(t):void 0},f.createCanvas=function(){var t=this.canvas=document.createElement("canvas");t.className="huebee__canvas",this.ctx=t.getContext("2d");var e=this.canvasPointer=new n;e._bindStartEvent(t),e.on("pointerDown",this.canvasPointerDown.bind(this)),e.on("pointerMove",this.canvasPointerMove.bind(this)),this.container.appendChild(t)};var m="http://www.w3.org/2000/svg";f.createCloseButton=function(){if(!this.options.staticOpen){var t=document.createElementNS(m,"svg");t.setAttribute("class","huebee__close-button"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("width","24"),t.setAttribute("height","24");var e=document.createElementNS(m,"path");e.setAttribute("d","M 7,7 L 17,17 M 17,7 L 7,17"),e.setAttribute("class","huebee__close-button__x"),t.appendChild(e),t.addEventListener("click",this.closeIt),this.container.appendChild(t)}},f.updateColors=function(){this.swatches={},this.colorGrid={},this.updateColorModer();var t=this.options.shades,e=this.options.saturations,n=this.options.hues,i=this.options.customColors;if(i&&i.length){var o=0;i.forEach(function(t){var e=o%n,i=Math.floor(o/n),r=s(t);r&&(this.addSwatch(r,e,i),o++)}.bind(this))}for(var r=0;r<e;r++){var h=1-r/e,a=t*r+this.satY;this.updateSaturationGrid(r,h,a)}for(r=0;r<t+2;r++){var c=1-r/(t+1),u=this.colorModer(0,0,c),d=s(u);this.addSwatch(d,n+1,r)}},f.updateSaturationGrid=function(t,e,n){for(var i=this.options.shades,o=this.options.hues,r=this.options.hue0,h=0;h<i;h++)for(var a=0;a<o;a++){var c=Math.round(360*a/o+r)%360,u=1-(h+1)/(i+1),d=this.colorModer(c,e,u),p=s(d),f=h+n;this.addSwatch(p,a,f)}},f.addSwatch=function(t,e,n){this.swatches[e+","+n]=t,this.colorGrid[t.color.toUpperCase()]={x:e,y:n}};var E={hsl:function(t,e,n){return e=Math.round(100*e),n=Math.round(100*n),"hsl("+t+", "+e+"%, "+n+"%)"},hex:a,shortHex:function(t,e,n){var i=a(t,e,n);return p(i)}};f.updateColorModer=function(){this.colorModer=E[this.options.notation]||E.shortHex},f.renderColors=function(){var t=2*this.gridSize;for(var e in this.swatches){var n=this.swatches[e],i=e.split(","),o=i[0],s=i[1];this.ctx.fillStyle=n.color,this.ctx.fillRect(o*t,s*t,t,t)}},f.setAnchorColor=function(){this.isInputAnchor&&this.setColor(this.anchor.value)};var g=document.documentElement;f.open=function(){if(!this.isOpen){var t=this.anchor,e=this.element;this.options.staticOpen||(e.style.left=t.offsetLeft+"px",e.style.top=t.offsetTop+t.offsetHeight+"px"),this.bindOpenEvents(!0),e.removeEventListener("transitionend",this.onElemTransitionend),t.parentNode.insertBefore(e,t.nextSibling);var n=getComputedStyle(e).transitionDuration;this.hasTransition=n&&"none"!=n&&parseFloat(n),this.isOpen=!0,this.updateSizes(),this.renderColors(),this.setAnchorColor();e.offsetHeight;e.classList.remove("is-hidden")}},f.bindOpenEvents=function(t){if(!this.options.staticOpen){var e=(t?"add":"remove")+"EventListener";g[e]("mousedown",this.outsideCloseIt),g[e]("touchstart",this.outsideCloseIt),document[e]("focusin",this.outsideCloseIt),document[e]("keydown",this.onDocKeydown),this.anchor[e]("blur",this.closeIt)}},f.updateSizes=function(){var t=this.options.hues,e=this.options.shades,n=this.options.saturations;this.cursorBorder=parseInt(getComputedStyle(this.cursor).borderTopWidth,10),this.gridSize=Math.round(this.cursor.offsetWidth-2*this.cursorBorder),this.canvasOffset={x:this.canvas.offsetLeft,y:this.canvas.offsetTop};var i=Math.max(e*n+this.satY,e+2),o=this.gridSize*(t+2);this.canvas.width=2*o,this.canvas.style.width=o+"px",this.canvas.height=this.gridSize*i*2},f.outsideClose=function(t){var e=this.anchor.contains(t.target),n=this.element.contains(t.target);e||n||this.close()};var b={13:!0,27:!0};f.docKeydown=function(t){b[t.keyCode]&&this.close()};var w="string"==typeof g.style.transform;f.close=function(){this.isOpen&&(w&&this.hasTransition?this.element.addEventListener("transitionend",this.onElemTransitionend):this.remove(),this.element.classList.add("is-hidden"),this.bindOpenEvents(!1),this.isOpen=!1)},f.remove=function(){var t=this.element.parentNode;t.contains(this.element)&&t.removeChild(this.element)},f.elemTransitionend=function(t){t.target==this.element&&(this.element.removeEventListener("transitionend",this.onElemTransitionend),this.remove())},f.inputInput=function(){this.setColor(this.anchor.value)},f.canvasPointerDown=function(t,e){t.preventDefault(),this.updateOffset(),this.canvasPointerChange(e)},f.updateOffset=function(){var e=this.canvas.getBoundingClientRect();this.offset={x:e.left+t.pageXOffset,y:e.top+t.pageYOffset}},f.canvasPointerMove=function(t,e){this.canvasPointerChange(e)},f.canvasPointerChange=function(t){var e=Math.round(t.pageX-this.offset.x),n=Math.round(t.pageY-this.offset.y),i=this.gridSize,o=Math.floor(e/i),s=Math.floor(n/i),r=this.swatches[o+","+s];this.setSwatch(r)},f.setColor=function(t){var e=s(t);this.setSwatch(e)},f.setSwatch=function(t){var e=t&&t.color;if(t){var n=e==this.color;this.color=e,this.hue=t.hue,this.sat=t.sat,this.lum=t.lum;var i=this.lum-.15*Math.cos((this.hue+70)/180*Math.PI);this.isLight=i>.5;var o=this.colorGrid[e.toUpperCase()];this.updateCursor(o),this.setTexts(),this.setBackgrounds(),n||this.emitEvent("change",[e,t.hue,t.sat,t.lum])}},f.setTexts=function(){if(this.setTextElems)for(var t=0;t<this.setTextElems.length;t++){var e=this.setTextElems[t],n="INPUT"==e.nodeName?"value":"textContent";e[n]=this.color}},f.setBackgrounds=function(){if(this.setBGElems)for(var t=this.isLight?"#222":"white",e=0;e<this.setBGElems.length;e++){var n=this.setBGElems[e];n.style.backgroundColor=this.color,n.style.color=t}},f.updateCursor=function(t){if(this.isOpen){var e=t?"remove":"add";if(this.cursor.classList[e]("is-hidden"),t){var n=this.gridSize,i=this.canvasOffset,o=this.cursorBorder;this.cursor.style.left=t.x*n+i.x-o+"px",this.cursor.style.top=t.y*n+i.y-o+"px"}}};var C=t.console,S=document.readyState;"complete"==S||"interactive"==S?o():document.addEventListener("DOMContentLoaded",o),i.data=function(t){t=h(t);var e=t&&t.huebeeGUID;return e&&l[e]};var y=document.createElement("canvas");y.width=y.height=1;var _=y.getContext("2d");return i}); |
/** | ||
* Huebee v1.0.1 | ||
* Huebee v2.0.0 | ||
* 1-click color picker | ||
* | ||
* Licensed GPLv3 for open source use | ||
* or Huebee Commercial License for commercial use | ||
* | ||
* MIT license | ||
* http://huebee.buzz | ||
* Copyright 2016 Metafizzy | ||
* Copyright 2018 Metafizzy | ||
*/ | ||
@@ -11,0 +8,0 @@ |
{ | ||
"name": "huebee", | ||
"version": "1.0.1", | ||
"version": "2.0.0", | ||
"description": "1-click color picker", | ||
@@ -37,3 +37,3 @@ "main": "huebee.js", | ||
"author": "David DeSandro", | ||
"license": "GPL-3.0", | ||
"license": "MIT", | ||
"bugs": { | ||
@@ -40,0 +40,0 @@ "url": "https://github.com/metafizzy/huebee/issues" |
@@ -12,7 +12,7 @@ # Huebee | ||
+ CSS: | ||
- [huebee.min.css](https://unpkg.com/huebee@1/dist/huebee.min.css) minified, or | ||
- [huebee.css](https://unpkg.com/flickity@1/dist/huebee.css) un-minified | ||
- [huebee.min.css](https://unpkg.com/huebee@2/dist/huebee.min.css) minified, or | ||
- [huebee.css](https://unpkg.com/huebee@2/dist/huebee.css) un-minified | ||
+ JavaScript: | ||
- [huebee.pkgd.min.js](https://unpkg.com/huebee@1/dist/huebee.pkgd.min.js) minified, or | ||
- [huebee.pkgd.js](https://unpkg.com/huebee@1/dist/huebee.pkgd.js) un-minified | ||
- [huebee.pkgd.min.js](https://unpkg.com/huebee@2/dist/huebee.pkgd.min.js) minified, or | ||
- [huebee.pkgd.js](https://unpkg.com/huebee@2/dist/huebee.pkgd.js) un-minified | ||
@@ -24,11 +24,11 @@ ### CDN | ||
``` html | ||
<link rel="stylesheet" href="https://unpkg.com/huebee@1/dist/huebee.min.css"> | ||
<link rel="stylesheet" href="https://unpkg.com/huebee@2/dist/huebee.min.css"> | ||
<!-- or --> | ||
<link rel="stylesheet" href="https://unpkg.com/huebee@1/dist/huebee.css"> | ||
<link rel="stylesheet" href="https://unpkg.com/huebee@2/dist/huebee.css"> | ||
``` | ||
``` html | ||
<script src="https://unpkg.com/huebee@1/dist/huebee.pkgd.min.js"></script> | ||
<script src="https://unpkg.com/huebee@2/dist/huebee.pkgd.min.js"></script> | ||
<!-- or --> | ||
<script src="https://unpkg.com/huebee@1/dist/huebee.pkgd.js"></script> | ||
<script src="https://unpkg.com/huebee@2/dist/huebee.pkgd.js"></script> | ||
``` | ||
@@ -42,14 +42,2 @@ | ||
## License | ||
### Commercial license | ||
If you want to use Huebee to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a Huebee Commercial License at [huebee.buzz](http://huebee.buzz/#commercial-license) | ||
### Open source license | ||
If you are creating an open source application under a license compatible with the [GNU GPL license v3](https://www.gnu.org/licenses/gpl-3.0.html), you may use Huebee under the terms of the GPLv3. | ||
[Read more about Huebee's license](http://huebee.buzz/license.html). | ||
## Usage | ||
@@ -248,2 +236,4 @@ | ||
By [Metafizzy](http://metafizzy.co) | ||
MIT License | ||
By [Metafizzy](https://metafizzy.co) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Copyleft License
License(Experimental) Copyleft license information was found
Found 1 instance in 1 package
Non-permissive License
License(Experimental) A license not known to be considered permissive was found
Found 1 instance in 1 package
0
100
78449
12
1839
236