diff --git a/README.md b/README.md index cabcf53..ae09704 100644 --- a/README.md +++ b/README.md @@ -24,21 +24,14 @@ Supported color spaces are: rgb, hsv(b), hsl, HEX ``` -## AMD wrapper -tinyColorPicker now supports AMD (thanks to [Munawwar](https://github.com/Munawwar)). Both files colors.js and jqColorPicker.js return their constructors so that it is easy to wrap them inside colors-amd-wrapper.js and jqColorPicker-amd-wrapper.js. So, if you want to use require.js or other module loaders just follow the instructions inside those 2 files. (Maybe someone of you wants to write a grunt task to automate this ;o) +## AMD / CommonJS wrapper +tinyColorPicker now supports AMD and CommonJS import (thanks to [Munawwar](https://github.com/Munawwar)). -If you don't want to use AMD but would like to store the constructor `Colors` on a different name space you can change this in color.js where you find: -```javascript -window.Colors = (function... -// change this to what you want -window.myNameSpace.ColorTool = (function... -``` -If you do so you also need to change this reference in jqColorPicker.js at the very end: +## bower support +tinyColorPicker can be received by bower: ```javascript -})(window, jQuery, Colors); -// changes to -})(window, jQuery, myNameSpace.ColorTool); +bower install tinyColorPicker ``` ##jqColorPicker.js diff --git a/bower.json b/bower.json index 8dad3da..8091315 100644 --- a/bower.json +++ b/bower.json @@ -3,7 +3,7 @@ "description": "Tiny jQuery color picker for mobile and desktop with alpha channel", "main": "jqColorPicker.min.js", "authors": [ - "peterd " + "Peter Dematté " ], "license": "MIT", "keywords": [ @@ -18,7 +18,9 @@ ], "homepage": "https://github.com/PitPik/tinyColorPicker", "moduleType": [ - "globals" + "amd", + "globals", + "node" ], "ignore": [ "**/.*", diff --git a/colors.js b/colors.js index 02c3290..6465430 100644 --- a/colors.js +++ b/colors.js @@ -1,4 +1,14 @@ -window.Colors = (function(window, undefined){ +(function (root, factory) { + if (typeof exports === 'object') { + module.exports = factory(root); + } else if (typeof define === 'function' && define.amd) { + define([], function () { + return factory(root); + }); + } else { + root.Colors = factory(root); + } +}(this, function(window, undefined) { "use strict" var _valueRanges = { @@ -417,4 +427,4 @@ window.Colors = (function(window, undefined){ } return Colors; -})(window); \ No newline at end of file +})); \ No newline at end of file diff --git a/colors-amd-wrapper.js b/development/colors-amd-wrapper.js similarity index 100% rename from colors-amd-wrapper.js rename to development/colors-amd-wrapper.js diff --git a/jqColorPicker-amd-wrapper.js b/development/jqColorPicker-amd-wrapper.js similarity index 100% rename from jqColorPicker-amd-wrapper.js rename to development/jqColorPicker-amd-wrapper.js diff --git a/jqColorPicker.js b/jqColorPicker.js index f70da43..10af73e 100644 --- a/jqColorPicker.js +++ b/jqColorPicker.js @@ -1,331 +1,341 @@ -(function(window, $, Colors, undefined){ - 'use strict'; - - var $document = $(document), - _instance = $(), - _colorPicker, - _color, - _options, - - _$trigger, - _$UI, _$xy_slider, _$xy_cursor, _$z_cursor , _$alpha , _$alpha_cursor, - - _pointermove = 'touchmove.a mousemove.a pointermove.a', - _pointerdown = 'touchstart.a mousedown.a pointerdown.a', - _pointerup = 'touchend.a mouseup.a pointerup.a', - _GPU = false, - _round = Math.round, - _animate = window.requestAnimationFrame || - window.webkitRequestAnimationFrame || function(cb){cb()}, - _html = '
', - // 'grunt-contrib-uglify' puts all this back to one single string... - _css = '.cp-color-picker{position:absolute;overflow:hidden;padding:6p' + - 'x 6px 0;background-color:#444;color:#bbb;font-family:Arial,Helve' + - 'tica,sans-serif;font-size:12px;font-weight:400;cursor:default;bo' + - 'rder-radius:5px}.cp-color-picker>div{position:relative;overflow:' + - 'hidden}.cp-xy-slider{float:left;height:128px;width:128px;margin-' + - 'bottom:6px;background:linear-gradient(to right,#FFF,rgba(255,255' + - ',255,0))}.cp-white{height:100%;width:100%;background:linear-grad' + - 'ient(rgba(0,0,0,0),#000)}.cp-xy-cursor{position:absolute;top:0;w' + - 'idth:10px;height:10px;margin:-5px;border:1px solid #fff;border-r' + - 'adius:100%;box-sizing:border-box}.cp-z-slider{float:right;margin' + - '-left:6px;height:128px;width:20px;background:linear-gradient(red' + - ' 0,#f0f 17%,#00f 33%,#0ff 50%,#0f0 67%,#ff0 83%,red 100%)}.cp-z-' + - 'cursor{position:absolute;margin-top:-4px;width:100%;border:4px s' + - 'olid #fff;border-color:transparent #fff;box-sizing:border-box}.c' + - 'p-alpha{clear:both;width:100%;height:16px;margin:6px 0;backgroun' + - 'd:linear-gradient(to right,#444,rgba(0,0,0,0))}.cp-alpha-cursor{' + - 'position:absolute;margin-left:-4px;height:100%;border:4px solid ' + - '#fff;border-color:#fff transparent;box-sizing:border-box}', - - ColorPicker = function(options) { - _color = this.color = new Colors(options); - _options = _color.options; - _colorPicker = this; - }; - - ColorPicker.prototype = { - render: preRender, - toggle: toggle - }; - - function extractValue(elm) { - return elm.value || elm.getAttribute('value') || - $(elm).css('background-color') || '#fff'; - } - - function resolveEventType(event) { - event = event.originalEvent && event.originalEvent.touches ? - event.originalEvent.touches[0] : event; - - return event.originalEvent ? event.originalEvent : event; - } - - function findElement($elm) { - return $($elm.find(_options.doRender)[0] || $elm[0]); - } - - function toggle(event) { - var $this = $(this), - position = $this.offset(), - $window = $(window), - gap = _options.gap; - - if (event) { - _$trigger = findElement($this); - _$trigger._colorMode = _$trigger.data('colorMode'); - - _colorPicker.$trigger = $this; - - (_$UI || build()).css({ - // 'width': _$UI[0]._width, - 'left': (_$UI[0]._left = position.left) - - ((_$UI[0]._left = _$UI[0]._left + _$UI[0]._width - - ($window.scrollLeft() + $window.width())) + gap > 0 ? - _$UI[0]._left + gap : 0), - 'top': (_$UI[0]._top = position.top + $this.outerHeight()) - - ((_$UI[0]._top = _$UI[0]._top + _$UI[0]._height - - ($window.scrollTop() + $window.height())) + gap > 0 ? - _$UI[0]._top + gap : 0) - }).show(_options.animationSpeed, function() { - if (event === true) { - return; - } - _$alpha._width = _$alpha.width(); - _$xy_slider._width = _$xy_slider.width(); - _$xy_slider._height = _$xy_slider.height(); - _color.setColor(extractValue(_$trigger[0])); - - preRender(true); - }); - } else { - $(_$UI).hide(_options.animationSpeed, function() { - preRender(false); - _colorPicker.$trigger = null; - }); - } - } - - function build() { - $('head').append(''); - - return _colorPicker.$UI = _$UI = - $(_html).css({'margin': _options.margin}) - .appendTo('body') - .show(0, function() { - var $this = $(this); - - _GPU = _options.GPU && $this.css('perspective') !== undefined; - _$xy_slider = $('.cp-xy-slider', this); - _$xy_cursor = $('.cp-xy-cursor', this); - _$z_cursor = $('.cp-z-cursor', this); - _$alpha = $('.cp-alpha', this).toggle(!!_options.opacity); - _$alpha_cursor = $('.cp-alpha-cursor', this); - _options.buildCallback.call(_colorPicker, $this); - $this.prepend('
').children().eq(0).css('width', - $this.children().eq(0).width() // stabilizer - ); - this._width = this.offsetWidth; - this._height = this.offsetHeight; - }).hide() - .on(_pointerdown, - '.cp-xy-slider,.cp-z-slider,.cp-alpha', pointerdown); - } - - function pointerdown(e) { - var action = this.className - .replace(/cp-(.*?)(?:\s*|$)/, '$1').replace('-', '_'); - - if ((e.button || e.which) > 1) return; - - e.preventDefault && e.preventDefault(); - e.returnValue = false; - - _$trigger._offset = $(this).offset(); - - (action = action === 'xy_slider' ? xy_slider : - action === 'z_slider' ? z_slider : alpha)(e); - preRender(); - - $document.on(_pointerup, function(e) { - $document.off('.a'); - }).on(_pointermove, function(e) { - action(e); - preRender(); - }); - } - - function xy_slider(event) { - var e = resolveEventType(event), - x = e.pageX - _$trigger._offset.left, - y = e.pageY - _$trigger._offset.top; - - _color.setColor({ - s: x / _$xy_slider._width * 100, - v: 100 - (y / _$xy_slider._height * 100) - }, 'hsv'); - } - - function z_slider(event) { - var z = resolveEventType(event).pageY - _$trigger._offset.top; - - _color.setColor({h: 360 - (z / _$xy_slider._height * 360)}, 'hsv'); - } - - function alpha(event) { - var x = resolveEventType(event).pageX - _$trigger._offset.left, - alpha = x / _$alpha._width; - - _color.setColor({}, 'rgb', alpha); - } - - function preRender(toggled) { - var colors = _color.colors, - hueRGB = colors.hueRGB, - RGB = colors.RND.rgb, - HSL = colors.RND.hsl, - dark = '#222', - light = '#ddd', - colorMode = _$trigger._colorMode, - isAlpha = colors.alpha !== 1, - alpha = _round(colors.alpha * 100) / 100, - RGBInnerText = RGB.r + ', ' + RGB.g + ', ' + RGB.b, - text = (colorMode === 'HEX' && !isAlpha ? '#' + colors.HEX : - colorMode === 'rgb' || (colorMode === 'HEX' && isAlpha) ? - (!isAlpha ? 'rgb(' + RGBInnerText + ')' : - 'rgba(' + RGBInnerText + ', ' + alpha + ')') : - ('hsl' + (isAlpha ? 'a(' : '(') + HSL.h + ', ' + HSL.s + '%, ' + - HSL.l + '%' + (isAlpha ? ', ' + alpha : '') + ')')), - HUEContrast = colors.HUELuminance > 0.22 ? dark : light, - alphaContrast = colors.rgbaMixBlack.luminance > 0.22 ? dark : light, - h = (1 - colors.hsv.h) * _$xy_slider._height, - s = colors.hsv.s * _$xy_slider._width, - v = (1 - colors.hsv.v) * _$xy_slider._height, - a = alpha * _$alpha._width, - translate3d = _GPU ? 'translate3d' : '', - triggerValue = _$trigger[0].value, - hasNoValue = _$trigger[0].hasAttribute('value') && // question this - triggerValue === '' && toggled !== undefined; - - _$xy_slider._css = { - backgroundColor: 'rgb(' + - hueRGB.r + ',' + hueRGB.g + ',' + hueRGB.b + ')'}; - _$xy_cursor._css = { - transform: translate3d + '(' + s + 'px, ' + v + 'px, 0)', - left: !_GPU ? s : '', - top: !_GPU ? v : '', - borderColor : colors.RGBLuminance > 0.22 ? dark : light - }; - _$z_cursor._css = { - transform: translate3d + '(0, ' + h + 'px, 0)', - top: !_GPU ? h : '', - borderColor : 'transparent ' + HUEContrast - }; - _$alpha._css = {backgroundColor: 'rgb(' + RGBInnerText + ')'}; - _$alpha_cursor._css = { - transform: translate3d + '(' + a + 'px, 0, 0)', - left: !_GPU ? a : '', - borderColor : alphaContrast + ' transparent' - }; - _$trigger._css = { - backgroundColor : hasNoValue ? '' : text, - color: hasNoValue ? '' : - colors.rgbaMixBGMixCustom.luminance > 0.22 ? dark : light - }; - _$trigger.text = hasNoValue ? '' : triggerValue !== text ? text : ''; - - toggled !== undefined ? render(toggled) : _animate(render); - } - - // As _animate() is actually requestAnimationFrame(), render() gets called - // decoupled from any pointer action (whenever the browser decides to do - // so) as an event. preRender() is coupled to toggle() and all pointermove - // actions; that's where all the calculations happen. render() can now be - // called without extra calculations which results in faster rendering. - function render(toggled) { - _$xy_slider.css(_$xy_slider._css); - _$xy_cursor.css(_$xy_cursor._css); - _$z_cursor.css(_$z_cursor._css); - _$alpha.css(_$alpha._css); - _$alpha_cursor.css(_$alpha_cursor._css); - - _options.doRender && _$trigger.css(_$trigger._css); - _$trigger.text && _$trigger.val(_$trigger.text); - - _options.renderCallback.call( - _colorPicker, - _$trigger, - typeof toggled === 'boolean' ? toggled : undefined - ); - } - - $.fn.colorPicker = function(options) { - var noop = function(){}; - - options = $.extend({ - animationSpeed: 150, - GPU: true, - doRender: true, - customBG: '#FFF', - opacity: true, - renderCallback: noop, - buildCallback: noop, - body: document.body, - scrollResize: true, - gap: 4 - // css: '', - // cssAddon: '', - // margin: '', - // preventFocus: false - }, options); - - !_colorPicker && options.scrollResize && $(window) - .on('resize.a scroll.a', function() { - if (_colorPicker.$trigger) { - _colorPicker.toggle.call(_colorPicker.$trigger[0], true); - } - }); - _instance = _instance.add(this); - this.colorPicker = _instance.colorPicker = - _colorPicker || new ColorPicker(options); - - $(options.body).off('.a').on(_pointerdown, function(e) { - !_instance.add(_$UI).find(e.target) - .add(_instance.filter(e.target))[0] && toggle(); - }); - - return this.on('focusin.a click.a', toggle) - .on('change.a', function() { - _color.setColor(this.value || '#FFF'); - _instance.colorPicker.render(true); - }) - .each(function() { - var value = extractValue(this), - mode = value.split('('), - $elm = findElement($(this)); - - $elm.data('colorMode', mode[1] ? mode[0].substr(0, 3) : 'HEX') - .attr('readonly', _options.preventFocus); - options.doRender && - $elm.css({'background-color': value, - 'color': function() { - return _color.setColor(value) - .rgbaMixBGMixCustom.luminance > 0.22 ? '#222' : '#ddd' - } - }); - }); - }; - - $.fn.colorPicker.destroy = function() { - _instance.add(_options.body).off('.a'); // saver - _colorPicker.toggle(false); - _instance = $(); - }; - - return $; - -})(window, jQuery, Colors); \ No newline at end of file +(function (root, factory) { + if (typeof exports === 'object') { + module.exports = factory(root, require('jquery'), require('colors')); + } else if (typeof define === 'function' && define.amd) { + define(['jquery', 'colors'], function (jQuery, Colors) { + return factory(root, jQuery, Colors); + }); + } else { + factory(root, root.jQuery, root.Colors); + } +}(this, function(window, $, Colors, undefined){ + 'use strict'; + + var $document = $(document), + _instance = $(), + _colorPicker, + _color, + _options, + + _$trigger, + _$UI, _$xy_slider, _$xy_cursor, _$z_cursor , _$alpha , _$alpha_cursor, + + _pointermove = 'touchmove.a mousemove.a pointermove.a', + _pointerdown = 'touchstart.a mousedown.a pointerdown.a', + _pointerup = 'touchend.a mouseup.a pointerup.a', + _GPU = false, + _round = Math.round, + _animate = window.requestAnimationFrame || + window.webkitRequestAnimationFrame || function(cb){cb()}, + _html = '
', + // 'grunt-contrib-uglify' puts all this back to one single string... + _css = '.cp-color-picker{position:absolute;overflow:hidden;padding:6p' + + 'x 6px 0;background-color:#444;color:#bbb;font-family:Arial,Helve' + + 'tica,sans-serif;font-size:12px;font-weight:400;cursor:default;bo' + + 'rder-radius:5px}.cp-color-picker>div{position:relative;overflow:' + + 'hidden}.cp-xy-slider{float:left;height:128px;width:128px;margin-' + + 'bottom:6px;background:linear-gradient(to right,#FFF,rgba(255,255' + + ',255,0))}.cp-white{height:100%;width:100%;background:linear-grad' + + 'ient(rgba(0,0,0,0),#000)}.cp-xy-cursor{position:absolute;top:0;w' + + 'idth:10px;height:10px;margin:-5px;border:1px solid #fff;border-r' + + 'adius:100%;box-sizing:border-box}.cp-z-slider{float:right;margin' + + '-left:6px;height:128px;width:20px;background:linear-gradient(red' + + ' 0,#f0f 17%,#00f 33%,#0ff 50%,#0f0 67%,#ff0 83%,red 100%)}.cp-z-' + + 'cursor{position:absolute;margin-top:-4px;width:100%;border:4px s' + + 'olid #fff;border-color:transparent #fff;box-sizing:border-box}.c' + + 'p-alpha{clear:both;width:100%;height:16px;margin:6px 0;backgroun' + + 'd:linear-gradient(to right,#444,rgba(0,0,0,0))}.cp-alpha-cursor{' + + 'position:absolute;margin-left:-4px;height:100%;border:4px solid ' + + '#fff;border-color:#fff transparent;box-sizing:border-box}', + + ColorPicker = function(options) { + _color = this.color = new Colors(options); + _options = _color.options; + _colorPicker = this; + }; + + ColorPicker.prototype = { + render: preRender, + toggle: toggle + }; + + function extractValue(elm) { + return elm.value || elm.getAttribute('value') || + $(elm).css('background-color') || '#fff'; + } + + function resolveEventType(event) { + event = event.originalEvent && event.originalEvent.touches ? + event.originalEvent.touches[0] : event; + + return event.originalEvent ? event.originalEvent : event; + } + + function findElement($elm) { + return $($elm.find(_options.doRender)[0] || $elm[0]); + } + + function toggle(event) { + var $this = $(this), + position = $this.offset(), + $window = $(window), + gap = _options.gap; + + if (event) { + _$trigger = findElement($this); + _$trigger._colorMode = _$trigger.data('colorMode'); + + _colorPicker.$trigger = $this; + + (_$UI || build()).css({ + // 'width': _$UI[0]._width, + 'left': (_$UI[0]._left = position.left) - + ((_$UI[0]._left = _$UI[0]._left + _$UI[0]._width - + ($window.scrollLeft() + $window.width())) + gap > 0 ? + _$UI[0]._left + gap : 0), + 'top': (_$UI[0]._top = position.top + $this.outerHeight()) - + ((_$UI[0]._top = _$UI[0]._top + _$UI[0]._height - + ($window.scrollTop() + $window.height())) + gap > 0 ? + _$UI[0]._top + gap : 0) + }).show(_options.animationSpeed, function() { + if (event === true) { + return; + } + _$alpha._width = _$alpha.width(); + _$xy_slider._width = _$xy_slider.width(); + _$xy_slider._height = _$xy_slider.height(); + _color.setColor(extractValue(_$trigger[0])); + + preRender(true); + }); + } else { + $(_$UI).hide(_options.animationSpeed, function() { + preRender(false); + _colorPicker.$trigger = null; + }); + } + } + + function build() { + $('head').append(''); + + return _colorPicker.$UI = _$UI = + $(_html).css({'margin': _options.margin}) + .appendTo('body') + .show(0, function() { + var $this = $(this); + + _GPU = _options.GPU && $this.css('perspective') !== undefined; + _$xy_slider = $('.cp-xy-slider', this); + _$xy_cursor = $('.cp-xy-cursor', this); + _$z_cursor = $('.cp-z-cursor', this); + _$alpha = $('.cp-alpha', this).toggle(!!_options.opacity); + _$alpha_cursor = $('.cp-alpha-cursor', this); + _options.buildCallback.call(_colorPicker, $this); + $this.prepend('
').children().eq(0).css('width', + $this.children().eq(0).width() // stabilizer + ); + this._width = this.offsetWidth; + this._height = this.offsetHeight; + }).hide() + .on(_pointerdown, + '.cp-xy-slider,.cp-z-slider,.cp-alpha', pointerdown); + } + + function pointerdown(e) { + var action = this.className + .replace(/cp-(.*?)(?:\s*|$)/, '$1').replace('-', '_'); + + if ((e.button || e.which) > 1) return; + + e.preventDefault && e.preventDefault(); + e.returnValue = false; + + _$trigger._offset = $(this).offset(); + + (action = action === 'xy_slider' ? xy_slider : + action === 'z_slider' ? z_slider : alpha)(e); + preRender(); + + $document.on(_pointerup, function(e) { + $document.off('.a'); + }).on(_pointermove, function(e) { + action(e); + preRender(); + }); + } + + function xy_slider(event) { + var e = resolveEventType(event), + x = e.pageX - _$trigger._offset.left, + y = e.pageY - _$trigger._offset.top; + + _color.setColor({ + s: x / _$xy_slider._width * 100, + v: 100 - (y / _$xy_slider._height * 100) + }, 'hsv'); + } + + function z_slider(event) { + var z = resolveEventType(event).pageY - _$trigger._offset.top; + + _color.setColor({h: 360 - (z / _$xy_slider._height * 360)}, 'hsv'); + } + + function alpha(event) { + var x = resolveEventType(event).pageX - _$trigger._offset.left, + alpha = x / _$alpha._width; + + _color.setColor({}, 'rgb', alpha); + } + + function preRender(toggled) { + var colors = _color.colors, + hueRGB = colors.hueRGB, + RGB = colors.RND.rgb, + HSL = colors.RND.hsl, + dark = '#222', + light = '#ddd', + colorMode = _$trigger._colorMode, + isAlpha = colors.alpha !== 1, + alpha = _round(colors.alpha * 100) / 100, + RGBInnerText = RGB.r + ', ' + RGB.g + ', ' + RGB.b, + text = (colorMode === 'HEX' && !isAlpha ? '#' + colors.HEX : + colorMode === 'rgb' || (colorMode === 'HEX' && isAlpha) ? + (!isAlpha ? 'rgb(' + RGBInnerText + ')' : + 'rgba(' + RGBInnerText + ', ' + alpha + ')') : + ('hsl' + (isAlpha ? 'a(' : '(') + HSL.h + ', ' + HSL.s + '%, ' + + HSL.l + '%' + (isAlpha ? ', ' + alpha : '') + ')')), + HUEContrast = colors.HUELuminance > 0.22 ? dark : light, + alphaContrast = colors.rgbaMixBlack.luminance > 0.22 ? dark : light, + h = (1 - colors.hsv.h) * _$xy_slider._height, + s = colors.hsv.s * _$xy_slider._width, + v = (1 - colors.hsv.v) * _$xy_slider._height, + a = alpha * _$alpha._width, + translate3d = _GPU ? 'translate3d' : '', + triggerValue = _$trigger[0].value, + hasNoValue = _$trigger[0].hasAttribute('value') && // question this + triggerValue === '' && toggled !== undefined; + + _$xy_slider._css = { + backgroundColor: 'rgb(' + + hueRGB.r + ',' + hueRGB.g + ',' + hueRGB.b + ')'}; + _$xy_cursor._css = { + transform: translate3d + '(' + s + 'px, ' + v + 'px, 0)', + left: !_GPU ? s : '', + top: !_GPU ? v : '', + borderColor : colors.RGBLuminance > 0.22 ? dark : light + }; + _$z_cursor._css = { + transform: translate3d + '(0, ' + h + 'px, 0)', + top: !_GPU ? h : '', + borderColor : 'transparent ' + HUEContrast + }; + _$alpha._css = {backgroundColor: 'rgb(' + RGBInnerText + ')'}; + _$alpha_cursor._css = { + transform: translate3d + '(' + a + 'px, 0, 0)', + left: !_GPU ? a : '', + borderColor : alphaContrast + ' transparent' + }; + _$trigger._css = { + backgroundColor : hasNoValue ? '' : text, + color: hasNoValue ? '' : + colors.rgbaMixBGMixCustom.luminance > 0.22 ? dark : light + }; + _$trigger.text = hasNoValue ? '' : triggerValue !== text ? text : ''; + + toggled !== undefined ? render(toggled) : _animate(render); + } + + // As _animate() is actually requestAnimationFrame(), render() gets called + // decoupled from any pointer action (whenever the browser decides to do + // so) as an event. preRender() is coupled to toggle() and all pointermove + // actions; that's where all the calculations happen. render() can now be + // called without extra calculations which results in faster rendering. + function render(toggled) { + _$xy_slider.css(_$xy_slider._css); + _$xy_cursor.css(_$xy_cursor._css); + _$z_cursor.css(_$z_cursor._css); + _$alpha.css(_$alpha._css); + _$alpha_cursor.css(_$alpha_cursor._css); + + _options.doRender && _$trigger.css(_$trigger._css); + _$trigger.text && _$trigger.val(_$trigger.text); + + _options.renderCallback.call( + _colorPicker, + _$trigger, + typeof toggled === 'boolean' ? toggled : undefined + ); + } + + $.fn.colorPicker = function(options) { + var noop = function(){}; + + options = $.extend({ + animationSpeed: 150, + GPU: true, + doRender: true, + customBG: '#FFF', + opacity: true, + renderCallback: noop, + buildCallback: noop, + body: document.body, + scrollResize: true, + gap: 4 + // css: '', + // cssAddon: '', + // margin: '', + // preventFocus: false + }, options); + + !_colorPicker && options.scrollResize && $(window) + .on('resize.a scroll.a', function() { + if (_colorPicker.$trigger) { + _colorPicker.toggle.call(_colorPicker.$trigger[0], true); + } + }); + _instance = _instance.add(this); + this.colorPicker = _instance.colorPicker = + _colorPicker || new ColorPicker(options); + + $(options.body).off('.a').on(_pointerdown, function(e) { + !_instance.add(_$UI).find(e.target) + .add(_instance.filter(e.target))[0] && toggle(); + }); + + return this.on('focusin.a click.a', toggle) + .on('change.a', function() { + _color.setColor(this.value || '#FFF'); + _instance.colorPicker.render(true); + }) + .each(function() { + var value = extractValue(this), + mode = value.split('('), + $elm = findElement($(this)); + + $elm.data('colorMode', mode[1] ? mode[0].substr(0, 3) : 'HEX') + .attr('readonly', _options.preventFocus); + options.doRender && + $elm.css({'background-color': value, + 'color': function() { + return _color.setColor(value) + .rgbaMixBGMixCustom.luminance > 0.22 ? '#222' : '#ddd' + } + }); + }); + }; + + $.fn.colorPicker.destroy = function() { + _instance.add(_options.body).off('.a'); // saver + _colorPicker.toggle(false); + _instance = $(); + }; + + return $; + +})); \ No newline at end of file diff --git a/jqColorPicker.js.map b/jqColorPicker.js.map index fadf9ad..70796d1 100644 --- a/jqColorPicker.js.map +++ b/jqColorPicker.js.map @@ -1 +1 @@ -{"version":3,"file":"jqColorPicker.min.js","sources":["colors.js","jqColorPicker.js"],"names":["window","Colors","undefined","setColor","colors","color","type","save","alpha","ColorConverter","txt2color","_colors","n","limitValue","_valueRanges","convertColors","saveAsBackground","RGB","rgb","grey","_instance","options","r","g","b","equivalentGrey","Math","round","rgbaMixBlack","mixColors","rgbaMixWhite","luminance","getLuminance","customBG","rgbaMixCustom","colorObj","modes","SAVE","SMART","convert","ranges","RND","mode","from","exceptions","hsl","typ","HEX","RGB2HEX","webSave","getClosestWebColor","webSmart","saveColor","hueRGB","hue2RGB","hsv","h","background","rgbaMixBGMixCustom","WCAG2Ratio","getWCAG2Ratio","luminanceDelta","abs","hueDelta","getHueDelta","RGBLuminance","HUELuminance","convertCallback","val","out","tmp","half","rgb1","rgb2","nominal","max","normalized","div","i","length","pow","topColor","bottomColor","topAlpha","bottomAlpha","newColor","alphaTop","alphaBottom","a","lum1","lum2","ratio","value","min","s","v","l","this","valueRanges","initInstance","THIS","_options","focusInstance","option","prototype","newCol","setCustomBackground","col","txt","parts","replace","split","values","substr","m","charAt","HEX2rgb","toString","toUpperCase","parseInt","hue","mod","rgb2hsv","chroma","k","hsv2rgb","f","p","q","t","hsv2hsl","rgb2hsl","dependent","hsl2rgb","sv","sextant","fract","vsf","$","extractValue","elm","getAttribute","css","resolveEventType","event","originalEvent","touches","findElement","$elm","find","doRender","toggle","$this","position","offset","$window","gap","_$trigger","_colorMode","data","_colorPicker","$trigger","_$UI","build","left","_left","_width","scrollLeft","width","top","_top","outerHeight","_height","scrollTop","height","show","animationSpeed","_$alpha","_$xy_slider","_color","preRender","hide","append","_css","cssAddon","$UI","_html","margin","appendTo","_GPU","GPU","_$xy_cursor","_$z_cursor","opacity","_$alpha_cursor","buildCallback","call","prepend","children","eq","offsetWidth","offsetHeight","on","_pointerdown","pointerdown","e","action","className","button","which","preventDefault","returnValue","_offset","xy_slider","z_slider","$document","_pointerup","off","_pointermove","x","pageX","y","pageY","z","toggled","HSL","dark","light","colorMode","isAlpha","_round","RGBInnerText","text","HUEContrast","alphaContrast","translate3d","triggerValue","hasNoValue","hasAttribute","backgroundColor","transform","borderColor","render","_animate","renderCallback","document","requestAnimationFrame","webkitRequestAnimationFrame","cb","ColorPicker","fn","colorPicker","noop","extend","body","scrollResize","add","target","filter","each","attr","preventFocus","background-color","destroy","jQuery"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"jqColorPicker.min.js","sources":["colors.js","jqColorPicker.js"],"names":["root","factory","exports","module","define","amd","Colors","this","window","undefined","setColor","colors","color","type","save","alpha","ColorConverter","txt2color","_colors","n","limitValue","_valueRanges","convertColors","saveAsBackground","RGB","rgb","grey","_instance","options","r","g","b","equivalentGrey","Math","round","rgbaMixBlack","mixColors","rgbaMixWhite","luminance","getLuminance","customBG","rgbaMixCustom","colorObj","modes","SAVE","SMART","convert","ranges","RND","mode","from","exceptions","hsl","typ","HEX","RGB2HEX","webSave","getClosestWebColor","webSmart","saveColor","hueRGB","hue2RGB","hsv","h","background","rgbaMixBGMixCustom","WCAG2Ratio","getWCAG2Ratio","luminanceDelta","abs","hueDelta","getHueDelta","RGBLuminance","HUELuminance","convertCallback","val","out","tmp","half","rgb1","rgb2","nominal","max","normalized","div","i","length","pow","topColor","bottomColor","topAlpha","bottomAlpha","newColor","alphaTop","alphaBottom","a","lum1","lum2","ratio","value","min","s","v","l","valueRanges","initInstance","THIS","_options","focusInstance","option","prototype","newCol","setCustomBackground","col","txt","parts","replace","split","values","substr","m","charAt","HEX2rgb","toString","toUpperCase","parseInt","hue","mod","rgb2hsv","chroma","k","hsv2rgb","f","p","q","t","hsv2hsl","rgb2hsl","dependent","hsl2rgb","sv","sextant","fract","vsf","require","jQuery","$","extractValue","elm","getAttribute","css","resolveEventType","event","originalEvent","touches","findElement","$elm","find","doRender","toggle","$this","position","offset","$window","gap","_$trigger","_colorMode","data","_colorPicker","$trigger","_$UI","build","left","_left","_width","scrollLeft","width","top","_top","outerHeight","_height","scrollTop","height","show","animationSpeed","_$alpha","_$xy_slider","_color","preRender","hide","append","_css","cssAddon","$UI","_html","margin","appendTo","_GPU","GPU","_$xy_cursor","_$z_cursor","opacity","_$alpha_cursor","buildCallback","call","prepend","children","eq","offsetWidth","offsetHeight","on","_pointerdown","pointerdown","e","action","className","button","which","preventDefault","returnValue","_offset","xy_slider","z_slider","$document","_pointerup","off","_pointermove","x","pageX","y","pageY","z","toggled","HSL","dark","light","colorMode","isAlpha","_round","RGBInnerText","text","HUEContrast","alphaContrast","translate3d","triggerValue","hasNoValue","hasAttribute","backgroundColor","transform","borderColor","render","_animate","renderCallback","document","requestAnimationFrame","webkitRequestAnimationFrame","cb","ColorPicker","fn","colorPicker","noop","extend","body","scrollResize","add","target","filter","each","attr","preventFocus","background-color","destroy"],"mappings":"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"} \ No newline at end of file diff --git a/jqColorPicker.min.js b/jqColorPicker.min.js index b360336..a698f36 100644 --- a/jqColorPicker.min.js +++ b/jqColorPicker.min.js @@ -1,4 +1,4 @@ -/*! tinyColorPicker - v1.0.0 2016-02-25 */ +/*! tinyColorPicker - v1.0.0 2016-02-28 */ -window.Colors=function(a,b){"use strict";function c(a,c,d,f,g){if("string"==typeof c){var c=t.txt2color(c);d=c.type,n[d]=c[d],g=g!==b?g:c.alpha}else if(c)for(var h in c)a[d][h]=k(c[h]/l[d][h][1],0,1);return g!==b&&(a.alpha=k(+g,0,1)),e(d,f?a:b)}function d(a,b,c){var d=m.options.grey,e={};return e.RGB={r:a.r,g:a.g,b:a.b},e.rgb={r:b.r,g:b.g,b:b.b},e.alpha=c,e.equivalentGrey=Math.round(d.r*a.r+d.g*a.g+d.b*a.b),e.rgbaMixBlack=i(b,{r:0,g:0,b:0},c,1),e.rgbaMixWhite=i(b,{r:1,g:1,b:1},c,1),e.rgbaMixBlack.luminance=h(e.rgbaMixBlack,!0),e.rgbaMixWhite.luminance=h(e.rgbaMixWhite,!0),m.options.customBG&&(e.rgbaMixCustom=i(b,m.options.customBG,c,1),e.rgbaMixCustom.luminance=h(e.rgbaMixCustom,!0),m.options.customBG.luminance=h(m.options.customBG,!0)),e}function e(a,b){var c,e,k,o=b||n,p=t,q=m.options,r=l,s=o.RND,u="",v="",w={hsl:"hsv",rgb:a},x=s.rgb;if("alpha"!==a){for(var y in r)if(!r[y][y]){a!==y&&(v=w[y]||"rgb",o[y]=p[v+"2"+y](o[v])),s[y]||(s[y]={}),c=o[y];for(u in c)s[y][u]=Math.round(c[u]*r[y][u][1])}x=s.rgb,o.HEX=p.RGB2HEX(x),o.equivalentGrey=q.grey.r*o.rgb.r+q.grey.g*o.rgb.g+q.grey.b*o.rgb.b,o.webSave=e=f(x,51),o.webSmart=k=f(x,17),o.saveColor=x.r===e.r&&x.g===e.g&&x.b===e.b?"web save":x.r===k.r&&x.g===k.g&&x.b===k.b?"web smart":"",o.hueRGB=t.hue2RGB(o.hsv.h),b&&(o.background=d(x,o.rgb,o.alpha))}var z,A,B,C=o.rgb,D=o.alpha,E="luminance",F=o.background;return z=i(C,{r:0,g:0,b:0},D,1),z[E]=h(z,!0),o.rgbaMixBlack=z,A=i(C,{r:1,g:1,b:1},D,1),A[E]=h(A,!0),o.rgbaMixWhite=A,q.customBG&&(B=i(C,F.rgbaMixCustom,D,1),B[E]=h(B,!0),B.WCAG2Ratio=j(B[E],F.rgbaMixCustom[E]),o.rgbaMixBGMixCustom=B,B.luminanceDelta=Math.abs(B[E]-F.rgbaMixCustom[E]),B.hueDelta=g(F.rgbaMixCustom,B,!0)),o.RGBLuminance=h(x),o.HUELuminance=h(o.hueRGB),q.convertCallback&&q.convertCallback(o,a),o}function f(a,b){var c={},d=0,e=b/2;for(var f in a)d=a[f]%b,c[f]=a[f]+(d>e?b-d:-d);return c}function g(a,b,c){return(Math.max(a.r-b.r,b.r-a.r)+Math.max(a.g-b.g,b.g-a.g)+Math.max(a.b-b.b,b.b-a.b))*(c?255:1)/765}function h(a,b){for(var c=b?1:255,d=[a.r/c,a.g/c,a.b/c],e=m.options.luminance,f=d.length;f--;)d[f]=d[f]<=.03928?d[f]/12.92:Math.pow((d[f]+.055)/1.055,2.4);return e.r*d[0]+e.g*d[1]+e.b*d[2]}function i(a,c,d,e){var f={},g=d!==b?d:1,h=e!==b?e:1,i=g+h*(1-g);for(var j in a)f[j]=(a[j]*g+c[j]*h*(1-g))/i;return f.a=i,f}function j(a,b){var c=1;return c=a>=b?(a+.05)/(b+.05):(b+.05)/(a+.05),Math.round(100*c)/100}function k(a,b,c){return a>c?c:b>a?b:a}var l={rgb:{r:[0,255],g:[0,255],b:[0,255]},hsv:{h:[0,360],s:[0,100],v:[0,100]},hsl:{h:[0,360],s:[0,100],l:[0,100]},alpha:{alpha:[0,1]},HEX:{HEX:[0,16777215]}},m={},n={},o={r:.298954,g:.586434,b:.114612},p={r:.2126,g:.7152,b:.0722},q=function(a){this.colors={RND:{}},this.options={color:"rgba(204, 82, 37, 0.8)",grey:o,luminance:p,valueRanges:l},r(this,a||{})},r=function(a,d){var e,f=a.options;s(a);for(var g in d)d[g]!==b&&(f[g]=d[g]);e=f.customBG,f.customBG="string"==typeof e?t.txt2color(e).rgb:e,n=c(a.colors,f.color,b,!0)},s=function(a){m!==a&&(m=a,n=a.colors)};q.prototype.setColor=function(a,d,f){return s(this),a?c(this.colors,a,d,b,f):(f!==b&&(this.colors.alpha=k(f,0,1)),e(d))},q.prototype.setCustomBackground=function(a){return s(this),this.options.customBG="string"==typeof a?t.txt2color(a).rgb:a,c(this.colors,b,"rgb")},q.prototype.saveAsBackground=function(){return s(this),c(this.colors,b,"rgb",!0)};var t={txt2color:function(a){var b={},c=a.replace(/(?:#|\)|%)/g,"").split("("),d=(c[1]||"").split(/,\s*/),e=c[1]?c[0].substr(0,3):"rgb",f="";if(b.type=e,b[e]={},c[1])for(var g=3;g--;)f=e[g]||e.charAt(g),b[e][f]=+d[g]/l[e][f][1];else b.rgb=t.HEX2rgb(c[0]);return b.alpha=d[3]?+d[3]:1,b},RGB2HEX:function(a){return((a.r<16?"0":"")+a.r.toString(16)+(a.g<16?"0":"")+a.g.toString(16)+(a.b<16?"0":"")+a.b.toString(16)).toUpperCase()},HEX2rgb:function(a){return a=a.split(""),{r:parseInt(a[0]+a[a[3]?1:0],16)/255,g:parseInt(a[a[3]?2:1]+(a[3]||a[1]),16)/255,b:parseInt((a[4]||a[2])+(a[5]||a[2]),16)/255}},hue2RGB:function(a){var b=6*a,c=~~b%6,d=6===b?0:b-c;return{r:Math.round(255*[1,1-d,0,0,d,1][c]),g:Math.round(255*[d,1,1,1-d,0,0][c]),b:Math.round(255*[0,0,d,1,1,1-d][c])}},rgb2hsv:function(a){var b,c,d,e=a.r,f=a.g,g=a.b,h=0;return g>f&&(f=g+(g=f,0),h=-1),c=g,f>e&&(e=f+(f=e,0),h=-2/6-h,c=Math.min(f,g)),b=e-c,d=e?b/e:0,{h:1e-15>d?n&&n.hsl&&n.hsl.h||0:b?Math.abs(h+(f-g)/(6*b)):0,s:e?b/e:n&&n.hsv&&n.hsv.s||0,v:e}},hsv2rgb:function(a){var b=6*a.h,c=a.s,d=a.v,e=~~b,f=b-e,g=d*(1-c),h=d*(1-f*c),i=d*(1-(1-f)*c),j=e%6;return{r:[d,h,g,g,i,d][j],g:[i,d,d,h,g,g][j],b:[g,g,i,d,d,h][j]}},hsv2hsl:function(a){var b=(2-a.s)*a.v,c=a.s*a.v;return c=a.s?1>b?b?c/b:0:c/(2-b):0,{h:a.h,s:a.v||c?c:n&&n.hsl&&n.hsl.s||0,l:b/2}},rgb2hsl:function(a,b){var c=t.rgb2hsv(a);return t.hsv2hsl(b?c:n.hsv=c)},hsl2rgb:function(a){var b=6*a.h,c=a.s,d=a.l,e=.5>d?d*(1+c):d+c-c*d,f=d+d-e,g=e?(e-f)/e:0,h=~~b,i=b-h,j=e*g*i,k=f+j,l=e-j,m=h%6;return{r:[e,l,f,f,k,e][m],g:[k,e,e,l,f,f][m],b:[f,f,k,e,e,l][m]}}};return q}(window),function(a,b,c,d){"use strict";function e(a){return a.value||a.getAttribute("value")||b(a).css("background-color")||"#fff"}function f(a){return a=a.originalEvent&&a.originalEvent.touches?a.originalEvent.touches[0]:a,a.originalEvent?a.originalEvent:a}function g(a){return b(a.find(r.doRender)[0]||a[0])}function h(c){var d=b(this),f=d.offset(),h=b(a),j=r.gap;c?(s=g(d),s._colorMode=s.data("colorMode"),p.$trigger=d,(t||i()).css({left:(t[0]._left=f.left)-((t[0]._left=t[0]._left+t[0]._width-(h.scrollLeft()+h.width()))+j>0?t[0]._left+j:0),top:(t[0]._top=f.top+d.outerHeight())-((t[0]._top=t[0]._top+t[0]._height-(h.scrollTop()+h.height()))+j>0?t[0]._top+j:0)}).show(r.animationSpeed,function(){c!==!0&&(x._width=x.width(),u._width=u.width(),u._height=u.height(),q.setColor(e(s[0])),n(!0))})):b(t).hide(r.animationSpeed,function(){n(!1),p.$trigger=null})}function i(){return b("head").append('"),p.$UI=t=b(H).css({margin:r.margin}).appendTo("body").show(0,function(){var a=b(this);E=r.GPU&&a.css("perspective")!==d,u=b(".cp-xy-slider",this),v=b(".cp-xy-cursor",this),w=b(".cp-z-cursor",this),x=b(".cp-alpha",this).toggle(!!r.opacity),y=b(".cp-alpha-cursor",this),r.buildCallback.call(p,a),a.prepend("
").children().eq(0).css("width",a.children().eq(0).width()),this._width=this.offsetWidth,this._height=this.offsetHeight}).hide().on(C,".cp-xy-slider,.cp-z-slider,.cp-alpha",j)}function j(a){var c=this.className.replace(/cp-(.*?)(?:\s*|$)/,"$1").replace("-","_");(a.button||a.which)>1||(a.preventDefault&&a.preventDefault(),a.returnValue=!1,s._offset=b(this).offset(),(c="xy_slider"===c?k:"z_slider"===c?l:m)(a),n(),z.on(D,function(){z.off(".a")}).on(B,function(a){c(a),n()}))}function k(a){var b=f(a),c=b.pageX-s._offset.left,d=b.pageY-s._offset.top;q.setColor({s:c/u._width*100,v:100-d/u._height*100},"hsv")}function l(a){var b=f(a).pageY-s._offset.top;q.setColor({h:360-b/u._height*360},"hsv")}function m(a){var b=f(a).pageX-s._offset.left,c=b/x._width;q.setColor({},"rgb",c)}function n(a){var b=q.colors,c=b.hueRGB,e=b.RND.rgb,f=b.RND.hsl,g="#222",h="#ddd",i=s._colorMode,j=1!==b.alpha,k=F(100*b.alpha)/100,l=e.r+", "+e.g+", "+e.b,m="HEX"!==i||j?"rgb"===i||"HEX"===i&&j?j?"rgba("+l+", "+k+")":"rgb("+l+")":"hsl"+(j?"a(":"(")+f.h+", "+f.s+"%, "+f.l+"%"+(j?", "+k:"")+")":"#"+b.HEX,n=b.HUELuminance>.22?g:h,p=b.rgbaMixBlack.luminance>.22?g:h,r=(1-b.hsv.h)*u._height,t=b.hsv.s*u._width,z=(1-b.hsv.v)*u._height,A=k*x._width,B=E?"translate3d":"",C=s[0].value,D=s[0].hasAttribute("value")&&""===C&&a!==d;u._css={backgroundColor:"rgb("+c.r+","+c.g+","+c.b+")"},v._css={transform:B+"("+t+"px, "+z+"px, 0)",left:E?"":t,top:E?"":z,borderColor:b.RGBLuminance>.22?g:h},w._css={transform:B+"(0, "+r+"px, 0)",top:E?"":r,borderColor:"transparent "+n},x._css={backgroundColor:"rgb("+l+")"},y._css={transform:B+"("+A+"px, 0, 0)",left:E?"":A,borderColor:p+" transparent"},s._css={backgroundColor:D?"":m,color:D?"":b.rgbaMixBGMixCustom.luminance>.22?g:h},s.text=D?"":C!==m?m:"",a!==d?o(a):G(o)}function o(a){u.css(u._css),v.css(v._css),w.css(w._css),x.css(x._css),y.css(y._css),r.doRender&&s.css(s._css),s.text&&s.val(s.text),r.renderCallback.call(p,s,"boolean"==typeof a?a:d)}var p,q,r,s,t,u,v,w,x,y,z=b(document),A=b(),B="touchmove.a mousemove.a pointermove.a",C="touchstart.a mousedown.a pointerdown.a",D="touchend.a mouseup.a pointerup.a",E=!1,F=Math.round,G=a.requestAnimationFrame||a.webkitRequestAnimationFrame||function(a){a()},H='
',I=".cp-color-picker{position:absolute;overflow:hidden;padding:6px 6px 0;background-color:#444;color:#bbb;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;cursor:default;border-radius:5px}.cp-color-picker>div{position:relative;overflow:hidden}.cp-xy-slider{float:left;height:128px;width:128px;margin-bottom:6px;background:linear-gradient(to right,#FFF,rgba(255,255,255,0))}.cp-white{height:100%;width:100%;background:linear-gradient(rgba(0,0,0,0),#000)}.cp-xy-cursor{position:absolute;top:0;width:10px;height:10px;margin:-5px;border:1px solid #fff;border-radius:100%;box-sizing:border-box}.cp-z-slider{float:right;margin-left:6px;height:128px;width:20px;background:linear-gradient(red 0,#f0f 17%,#00f 33%,#0ff 50%,#0f0 67%,#ff0 83%,red 100%)}.cp-z-cursor{position:absolute;margin-top:-4px;width:100%;border:4px solid #fff;border-color:transparent #fff;box-sizing:border-box}.cp-alpha{clear:both;width:100%;height:16px;margin:6px 0;background:linear-gradient(to right,#444,rgba(0,0,0,0))}.cp-alpha-cursor{position:absolute;margin-left:-4px;height:100%;border:4px solid #fff;border-color:#fff transparent;box-sizing:border-box}",J=function(a){q=this.color=new c(a),r=q.options,p=this};return J.prototype={render:n,toggle:h},b.fn.colorPicker=function(c){var d=function(){};return c=b.extend({animationSpeed:150,GPU:!0,doRender:!0,customBG:"#FFF",opacity:!0,renderCallback:d,buildCallback:d,body:document.body,scrollResize:!0,gap:4},c),!p&&c.scrollResize&&b(a).on("resize.a scroll.a",function(){p.$trigger&&p.toggle.call(p.$trigger[0],!0)}),A=A.add(this),this.colorPicker=A.colorPicker=p||new J(c),b(c.body).off(".a").on(C,function(a){!A.add(t).find(a.target).add(A.filter(a.target))[0]&&h()}),this.on("focusin.a click.a",h).on("change.a",function(){q.setColor(this.value||"#FFF"),A.colorPicker.render(!0)}).each(function(){var a=e(this),d=a.split("("),f=g(b(this));f.data("colorMode",d[1]?d[0].substr(0,3):"HEX").attr("readonly",r.preventFocus),c.doRender&&f.css({"background-color":a,color:function(){return q.setColor(a).rgbaMixBGMixCustom.luminance>.22?"#222":"#ddd"}})})},b.fn.colorPicker.destroy=function(){A.add(r.body).off(".a"),p.toggle(!1),A=b()},b}(window,jQuery,Colors); +!function(a,b){"object"==typeof exports?module.exports=b(a):"function"==typeof define&&define.amd?define([],function(){return b(a)}):a.Colors=b(a)}(this,function(a,b){"use strict";function c(a,c,d,f,g){if("string"==typeof c){var c=t.txt2color(c);d=c.type,n[d]=c[d],g=g!==b?g:c.alpha}else if(c)for(var h in c)a[d][h]=k(c[h]/l[d][h][1],0,1);return g!==b&&(a.alpha=k(+g,0,1)),e(d,f?a:b)}function d(a,b,c){var d=m.options.grey,e={};return e.RGB={r:a.r,g:a.g,b:a.b},e.rgb={r:b.r,g:b.g,b:b.b},e.alpha=c,e.equivalentGrey=Math.round(d.r*a.r+d.g*a.g+d.b*a.b),e.rgbaMixBlack=i(b,{r:0,g:0,b:0},c,1),e.rgbaMixWhite=i(b,{r:1,g:1,b:1},c,1),e.rgbaMixBlack.luminance=h(e.rgbaMixBlack,!0),e.rgbaMixWhite.luminance=h(e.rgbaMixWhite,!0),m.options.customBG&&(e.rgbaMixCustom=i(b,m.options.customBG,c,1),e.rgbaMixCustom.luminance=h(e.rgbaMixCustom,!0),m.options.customBG.luminance=h(m.options.customBG,!0)),e}function e(a,b){var c,e,k,o=b||n,p=t,q=m.options,r=l,s=o.RND,u="",v="",w={hsl:"hsv",rgb:a},x=s.rgb;if("alpha"!==a){for(var y in r)if(!r[y][y]){a!==y&&(v=w[y]||"rgb",o[y]=p[v+"2"+y](o[v])),s[y]||(s[y]={}),c=o[y];for(u in c)s[y][u]=Math.round(c[u]*r[y][u][1])}x=s.rgb,o.HEX=p.RGB2HEX(x),o.equivalentGrey=q.grey.r*o.rgb.r+q.grey.g*o.rgb.g+q.grey.b*o.rgb.b,o.webSave=e=f(x,51),o.webSmart=k=f(x,17),o.saveColor=x.r===e.r&&x.g===e.g&&x.b===e.b?"web save":x.r===k.r&&x.g===k.g&&x.b===k.b?"web smart":"",o.hueRGB=t.hue2RGB(o.hsv.h),b&&(o.background=d(x,o.rgb,o.alpha))}var z,A,B,C=o.rgb,D=o.alpha,E="luminance",F=o.background;return z=i(C,{r:0,g:0,b:0},D,1),z[E]=h(z,!0),o.rgbaMixBlack=z,A=i(C,{r:1,g:1,b:1},D,1),A[E]=h(A,!0),o.rgbaMixWhite=A,q.customBG&&(B=i(C,F.rgbaMixCustom,D,1),B[E]=h(B,!0),B.WCAG2Ratio=j(B[E],F.rgbaMixCustom[E]),o.rgbaMixBGMixCustom=B,B.luminanceDelta=Math.abs(B[E]-F.rgbaMixCustom[E]),B.hueDelta=g(F.rgbaMixCustom,B,!0)),o.RGBLuminance=h(x),o.HUELuminance=h(o.hueRGB),q.convertCallback&&q.convertCallback(o,a),o}function f(a,b){var c={},d=0,e=b/2;for(var f in a)d=a[f]%b,c[f]=a[f]+(d>e?b-d:-d);return c}function g(a,b,c){return(Math.max(a.r-b.r,b.r-a.r)+Math.max(a.g-b.g,b.g-a.g)+Math.max(a.b-b.b,b.b-a.b))*(c?255:1)/765}function h(a,b){for(var c=b?1:255,d=[a.r/c,a.g/c,a.b/c],e=m.options.luminance,f=d.length;f--;)d[f]=d[f]<=.03928?d[f]/12.92:Math.pow((d[f]+.055)/1.055,2.4);return e.r*d[0]+e.g*d[1]+e.b*d[2]}function i(a,c,d,e){var f={},g=d!==b?d:1,h=e!==b?e:1,i=g+h*(1-g);for(var j in a)f[j]=(a[j]*g+c[j]*h*(1-g))/i;return f.a=i,f}function j(a,b){var c=1;return c=a>=b?(a+.05)/(b+.05):(b+.05)/(a+.05),Math.round(100*c)/100}function k(a,b,c){return a>c?c:b>a?b:a}var l={rgb:{r:[0,255],g:[0,255],b:[0,255]},hsv:{h:[0,360],s:[0,100],v:[0,100]},hsl:{h:[0,360],s:[0,100],l:[0,100]},alpha:{alpha:[0,1]},HEX:{HEX:[0,16777215]}},m={},n={},o={r:.298954,g:.586434,b:.114612},p={r:.2126,g:.7152,b:.0722},q=function(a){this.colors={RND:{}},this.options={color:"rgba(204, 82, 37, 0.8)",grey:o,luminance:p,valueRanges:l},r(this,a||{})},r=function(a,d){var e,f=a.options;s(a);for(var g in d)d[g]!==b&&(f[g]=d[g]);e=f.customBG,f.customBG="string"==typeof e?t.txt2color(e).rgb:e,n=c(a.colors,f.color,b,!0)},s=function(a){m!==a&&(m=a,n=a.colors)};q.prototype.setColor=function(a,d,f){return s(this),a?c(this.colors,a,d,b,f):(f!==b&&(this.colors.alpha=k(f,0,1)),e(d))},q.prototype.setCustomBackground=function(a){return s(this),this.options.customBG="string"==typeof a?t.txt2color(a).rgb:a,c(this.colors,b,"rgb")},q.prototype.saveAsBackground=function(){return s(this),c(this.colors,b,"rgb",!0)};var t={txt2color:function(a){var b={},c=a.replace(/(?:#|\)|%)/g,"").split("("),d=(c[1]||"").split(/,\s*/),e=c[1]?c[0].substr(0,3):"rgb",f="";if(b.type=e,b[e]={},c[1])for(var g=3;g--;)f=e[g]||e.charAt(g),b[e][f]=+d[g]/l[e][f][1];else b.rgb=t.HEX2rgb(c[0]);return b.alpha=d[3]?+d[3]:1,b},RGB2HEX:function(a){return((a.r<16?"0":"")+a.r.toString(16)+(a.g<16?"0":"")+a.g.toString(16)+(a.b<16?"0":"")+a.b.toString(16)).toUpperCase()},HEX2rgb:function(a){return a=a.split(""),{r:parseInt(a[0]+a[a[3]?1:0],16)/255,g:parseInt(a[a[3]?2:1]+(a[3]||a[1]),16)/255,b:parseInt((a[4]||a[2])+(a[5]||a[2]),16)/255}},hue2RGB:function(a){var b=6*a,c=~~b%6,d=6===b?0:b-c;return{r:Math.round(255*[1,1-d,0,0,d,1][c]),g:Math.round(255*[d,1,1,1-d,0,0][c]),b:Math.round(255*[0,0,d,1,1,1-d][c])}},rgb2hsv:function(a){var b,c,d,e=a.r,f=a.g,g=a.b,h=0;return g>f&&(f=g+(g=f,0),h=-1),c=g,f>e&&(e=f+(f=e,0),h=-2/6-h,c=Math.min(f,g)),b=e-c,d=e?b/e:0,{h:1e-15>d?n&&n.hsl&&n.hsl.h||0:b?Math.abs(h+(f-g)/(6*b)):0,s:e?b/e:n&&n.hsv&&n.hsv.s||0,v:e}},hsv2rgb:function(a){var b=6*a.h,c=a.s,d=a.v,e=~~b,f=b-e,g=d*(1-c),h=d*(1-f*c),i=d*(1-(1-f)*c),j=e%6;return{r:[d,h,g,g,i,d][j],g:[i,d,d,h,g,g][j],b:[g,g,i,d,d,h][j]}},hsv2hsl:function(a){var b=(2-a.s)*a.v,c=a.s*a.v;return c=a.s?1>b?b?c/b:0:c/(2-b):0,{h:a.h,s:a.v||c?c:n&&n.hsl&&n.hsl.s||0,l:b/2}},rgb2hsl:function(a,b){var c=t.rgb2hsv(a);return t.hsv2hsl(b?c:n.hsv=c)},hsl2rgb:function(a){var b=6*a.h,c=a.s,d=a.l,e=.5>d?d*(1+c):d+c-c*d,f=d+d-e,g=e?(e-f)/e:0,h=~~b,i=b-h,j=e*g*i,k=f+j,l=e-j,m=h%6;return{r:[e,l,f,f,k,e][m],g:[k,e,e,l,f,f][m],b:[f,f,k,e,e,l][m]}}};return q}),function(a,b){"object"==typeof exports?module.exports=b(a,require("jquery"),require("colors")):"function"==typeof define&&define.amd?define(["jquery","colors"],function(c,d){return b(a,c,d)}):b(a,a.jQuery,a.Colors)}(this,function(a,b,c,d){"use strict";function e(a){return a.value||a.getAttribute("value")||b(a).css("background-color")||"#fff"}function f(a){return a=a.originalEvent&&a.originalEvent.touches?a.originalEvent.touches[0]:a,a.originalEvent?a.originalEvent:a}function g(a){return b(a.find(r.doRender)[0]||a[0])}function h(c){var d=b(this),f=d.offset(),h=b(a),j=r.gap;c?(s=g(d),s._colorMode=s.data("colorMode"),p.$trigger=d,(t||i()).css({left:(t[0]._left=f.left)-((t[0]._left=t[0]._left+t[0]._width-(h.scrollLeft()+h.width()))+j>0?t[0]._left+j:0),top:(t[0]._top=f.top+d.outerHeight())-((t[0]._top=t[0]._top+t[0]._height-(h.scrollTop()+h.height()))+j>0?t[0]._top+j:0)}).show(r.animationSpeed,function(){c!==!0&&(x._width=x.width(),u._width=u.width(),u._height=u.height(),q.setColor(e(s[0])),n(!0))})):b(t).hide(r.animationSpeed,function(){n(!1),p.$trigger=null})}function i(){return b("head").append('"),p.$UI=t=b(H).css({margin:r.margin}).appendTo("body").show(0,function(){var a=b(this);E=r.GPU&&a.css("perspective")!==d,u=b(".cp-xy-slider",this),v=b(".cp-xy-cursor",this),w=b(".cp-z-cursor",this),x=b(".cp-alpha",this).toggle(!!r.opacity),y=b(".cp-alpha-cursor",this),r.buildCallback.call(p,a),a.prepend("
").children().eq(0).css("width",a.children().eq(0).width()),this._width=this.offsetWidth,this._height=this.offsetHeight}).hide().on(C,".cp-xy-slider,.cp-z-slider,.cp-alpha",j)}function j(a){var c=this.className.replace(/cp-(.*?)(?:\s*|$)/,"$1").replace("-","_");(a.button||a.which)>1||(a.preventDefault&&a.preventDefault(),a.returnValue=!1,s._offset=b(this).offset(),(c="xy_slider"===c?k:"z_slider"===c?l:m)(a),n(),z.on(D,function(){z.off(".a")}).on(B,function(a){c(a),n()}))}function k(a){var b=f(a),c=b.pageX-s._offset.left,d=b.pageY-s._offset.top;q.setColor({s:c/u._width*100,v:100-d/u._height*100},"hsv")}function l(a){var b=f(a).pageY-s._offset.top;q.setColor({h:360-b/u._height*360},"hsv")}function m(a){var b=f(a).pageX-s._offset.left,c=b/x._width;q.setColor({},"rgb",c)}function n(a){var b=q.colors,c=b.hueRGB,e=b.RND.rgb,f=b.RND.hsl,g="#222",h="#ddd",i=s._colorMode,j=1!==b.alpha,k=F(100*b.alpha)/100,l=e.r+", "+e.g+", "+e.b,m="HEX"!==i||j?"rgb"===i||"HEX"===i&&j?j?"rgba("+l+", "+k+")":"rgb("+l+")":"hsl"+(j?"a(":"(")+f.h+", "+f.s+"%, "+f.l+"%"+(j?", "+k:"")+")":"#"+b.HEX,n=b.HUELuminance>.22?g:h,p=b.rgbaMixBlack.luminance>.22?g:h,r=(1-b.hsv.h)*u._height,t=b.hsv.s*u._width,z=(1-b.hsv.v)*u._height,A=k*x._width,B=E?"translate3d":"",C=s[0].value,D=s[0].hasAttribute("value")&&""===C&&a!==d;u._css={backgroundColor:"rgb("+c.r+","+c.g+","+c.b+")"},v._css={transform:B+"("+t+"px, "+z+"px, 0)",left:E?"":t,top:E?"":z,borderColor:b.RGBLuminance>.22?g:h},w._css={transform:B+"(0, "+r+"px, 0)",top:E?"":r,borderColor:"transparent "+n},x._css={backgroundColor:"rgb("+l+")"},y._css={transform:B+"("+A+"px, 0, 0)",left:E?"":A,borderColor:p+" transparent"},s._css={backgroundColor:D?"":m,color:D?"":b.rgbaMixBGMixCustom.luminance>.22?g:h},s.text=D?"":C!==m?m:"",a!==d?o(a):G(o)}function o(a){u.css(u._css),v.css(v._css),w.css(w._css),x.css(x._css),y.css(y._css),r.doRender&&s.css(s._css),s.text&&s.val(s.text),r.renderCallback.call(p,s,"boolean"==typeof a?a:d)}var p,q,r,s,t,u,v,w,x,y,z=b(document),A=b(),B="touchmove.a mousemove.a pointermove.a",C="touchstart.a mousedown.a pointerdown.a",D="touchend.a mouseup.a pointerup.a",E=!1,F=Math.round,G=a.requestAnimationFrame||a.webkitRequestAnimationFrame||function(a){a()},H='
',I=".cp-color-picker{position:absolute;overflow:hidden;padding:6px 6px 0;background-color:#444;color:#bbb;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;cursor:default;border-radius:5px}.cp-color-picker>div{position:relative;overflow:hidden}.cp-xy-slider{float:left;height:128px;width:128px;margin-bottom:6px;background:linear-gradient(to right,#FFF,rgba(255,255,255,0))}.cp-white{height:100%;width:100%;background:linear-gradient(rgba(0,0,0,0),#000)}.cp-xy-cursor{position:absolute;top:0;width:10px;height:10px;margin:-5px;border:1px solid #fff;border-radius:100%;box-sizing:border-box}.cp-z-slider{float:right;margin-left:6px;height:128px;width:20px;background:linear-gradient(red 0,#f0f 17%,#00f 33%,#0ff 50%,#0f0 67%,#ff0 83%,red 100%)}.cp-z-cursor{position:absolute;margin-top:-4px;width:100%;border:4px solid #fff;border-color:transparent #fff;box-sizing:border-box}.cp-alpha{clear:both;width:100%;height:16px;margin:6px 0;background:linear-gradient(to right,#444,rgba(0,0,0,0))}.cp-alpha-cursor{position:absolute;margin-left:-4px;height:100%;border:4px solid #fff;border-color:#fff transparent;box-sizing:border-box}",J=function(a){q=this.color=new c(a),r=q.options,p=this};return J.prototype={render:n,toggle:h},b.fn.colorPicker=function(c){var d=function(){};return c=b.extend({animationSpeed:150,GPU:!0,doRender:!0,customBG:"#FFF",opacity:!0,renderCallback:d,buildCallback:d,body:document.body,scrollResize:!0,gap:4},c),!p&&c.scrollResize&&b(a).on("resize.a scroll.a",function(){p.$trigger&&p.toggle.call(p.$trigger[0],!0)}),A=A.add(this),this.colorPicker=A.colorPicker=p||new J(c),b(c.body).off(".a").on(C,function(a){!A.add(t).find(a.target).add(A.filter(a.target))[0]&&h()}),this.on("focusin.a click.a",h).on("change.a",function(){q.setColor(this.value||"#FFF"),A.colorPicker.render(!0)}).each(function(){var a=e(this),d=a.split("("),f=g(b(this));f.data("colorMode",d[1]?d[0].substr(0,3):"HEX").attr("readonly",r.preventFocus),c.doRender&&f.css({"background-color":a,color:function(){return q.setColor(a).rgbaMixBGMixCustom.luminance>.22?"#222":"#ddd"}})})},b.fn.colorPicker.destroy=function(){A.add(r.body).off(".a"),p.toggle(!1),A=b()},b}); //# sourceMappingURL=jqColorPicker.js.map \ No newline at end of file diff --git a/package.json b/package.json index 06c9cdf..271934c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tinyColorPicker", - "version": "1.0.0", + "version": "1.0.1", "repository": { "type": "git", "url": "http://github.com/PitPik/tinyColorPicker.git"