49

GitHub - Simonwep/pickr: Flat, simple and hackable Color-Picker. No dependencies...

 7 years ago
source link: https://github.com/Simonwep/pickr
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

README.md

Logo

Flat, Simple, Hackable Color-Picker.

License MIT Webpack No dependencies Build Status npm package Current version


Demo

Fully Featured demo


Features

  • Simple usage
  • No jQuery
  • No dependencies
  • Multiple color representations
  • Color comparison
  • Opacity control
  • Supports touch devices
  • Nodejs support

Install

Via npm

$ npm install pickr-widget --save

Link styles and add scripts

<link rel="stylesheet" href="node_modules/pickr/dist/pickr.min.css"/>
<script src="node_modules/pickr/dist/pickr.min.js"></script>

Usage

const pickr = Pickr.create({
    el: '.color-picker'
});

Optional options

const pickr = new Pickr({

    // Selector or element which will be replaced with the actual color-picker
    el: '.color-picker',

    // Defines the position of the color-picker. Available options are
    // top, left and middle relativ to the picker button.
    position: 'middle',

    // Show or hide specific components.
    // By default only the palette (and the save button) is visible.
    components: {

        preview: true, // Left side color comparison
        opacity: true, // Opacity slider
        hue: true,     // Hue slider

        // Bottom output bar, theoretically you could use 'true' as propery.
        // But this would also hide the save-button.
        output: {
            hex: true,  // hex option  (hexadecimal representation of the rgb value)
            rgba: true, // rgba option (red green blue and alpha)
            hsla: true, // hsla option (hue saturation lightness and alpha)
            hsva: true, // hsva option (hue saturation value and alpha)
            cmyk: true, // cmyk option (cyan mangenta yellow key )
            input: true // input / output element
        },
    },


    // User has changed the color
    onChange(hsva, instance) {
        hsva;     // HSVa color object
        instance; // Current Pickr instance
    },

    // User has clicked the save button
    onSave(hsva, instance) {
        // same as onChange
    }
});

The HSVaColor object

As default color representation is hsva (hue, saturation, value and alpha) used, but you can also convert it to other formats as listed below.

  • hsva.tohsva(raw:Boolean) - Converts the object to a hsva string / array.
  • hsva.tohsla(raw:Boolean) - Converts the object to a hsla string / array.
  • hsva.torgba(raw:Boolean) - Converts the object to a rgba string / array.
  • hsva.tohex(raw:Boolean) - Converts the object to a hexa-decimal string / array.
  • hsva.tocmyk(raw:Boolean) - Converts the object to a cymk string / array.
  • hsva.clone() - Clones the color object.

The raw property describes if you want a string representation of the color or an array with the values. Example:

hsva.torgba(true); // Returns [r, g, b, a]
hsva.torgba();     // Returns rgba(r, g, b, a)

Methods

  • pickr.setHSVa(h:Number,s:Number,v:Number,a:Float) - Set an color.
  • pickr.show() - Shows the color-picker.
  • pickr.hide() - Hides the color-picker.
  • pickr.cancel() - Cancels the current color picking.
  • pickr.getRoot():HTMLElement - Returns the root DOM-Element of the color-picker.
  • pickr.getColor():HSVaColor - Returns the current HSVaColor object.

Static methods

Pickr

  • Pickr.create(options:Object):Pickr - Creates a new instance.

Pickr.utils

  • on(el:HTMLElement, event:String, fn:Function[, options :Object]) - Attach an event handler function.
  • off(el:HTMLElement, event:String, fn:Function[, options :Object]) - Remove an event handler.
  • createElementFromString(html:String):HTMLElement - Creates an new HTML Element out of this string.
  • eventPath(evt:Event):[HTMLElement] - A polyfill for the event-path event propery.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK