Uname: Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/wp-admin2///js      ( Reset | Go to )
File Name: color-picker.js
Edit
/**
 * @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 ) );

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL