• Stars
    star
    294
  • Rank 141,303 (Top 3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 12 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

jQuery UI widget for color picking with web colors, theme colors, and history (similar to the one in Microsoft Office 2010).

evol-colorpicker ยท GitHub license npm version

evol-colorpicker is a web color picker which looks like the one in Microsoft Office 2010. It can be used inline or as a popup bound to a text box. It comes with several color palettes, can track selection history and supports "transparent" color. It is a full jQuery UI widget, supporting various configurations and themes.

screenshot 1 ย  screenshot 2 ย  screenshot 3

Check the online demo for several examples.

Table of Contents

  1. Installation
  2. Usage
  3. Theming
  4. Options
  5. Methods
  6. Events
  7. Browser Support
  8. License

Installation

Download or fork evol-colorpicker at GitHub.

git clone https://github.com/evoluteur/colorpicker

or use the npm package:

npm install evol-colorpicker

or install with Bower:

bower install evol-colorpicker

Usage

First, load jQuery (v3.1 or greater), jQuery UI (v1.12.1 or greater), and the plugin (for earlier version of jQuery-UI, use an earlier version of Colorpicker).

<script
  src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"
  type="text/javascript"
  charset="utf-8"
></script>
<script
  src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"
  type="text/javascript"
  charset="utf-8"
></script>
<script
  src="js/evol-colorpicker.min.js"
  type="text/javascript"
  charset="utf-8"
></script>

The widget requires a jQuery UI theme to be present, as well as its own included base CSS file (evol-colorpicker.css). Here we use the "ui-lightness" theme as an example:

<link
  rel="stylesheet"
  type="text/css"
  href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/ui-lightness/jquery-ui.css"
/>
<link href="css/evol-colorpicker.css" rel="stylesheet" type="text/css" />

Now, let's attach it to an existing <input> tag:

<script type="text/javascript">
  $(document).ready(function () {
    $("#mycolor").colorpicker();
  });
</script>

<input style="width:100px;" id="mycolor" />

This will wrap it into a "holder" <div> and add another <div> beside it for the color box:

<div style="width:128px;">
  <input style="width:100px;" id="mycolor" class="colorPicker evo-cp0" />
  <div class="evo-colorind" style="background-color:#8db3e2"></div>
</div>

Using the same syntax, the widget can also be instanciated on a <div> or a <span> tag to show inline. In that case the generated HTML is the full palette.

Theming

evol-colorpicker is as easily themeable as any jQuery UI widget, using one of the jQuery UI themes or your own custom theme made with Themeroller.

Light and Dark themes

Options

evol-colorpicker provides several options to customize its behaviour:

color (String)

Used to set the color value.

$("#mycolor").colorpicker({
  color: "#ffffff",
});

Defaults to null.

defaultPalette (String)

Used to set the default color palette. Possible values are "theme" or "web".

$("#mycolor").colorpicker({
  defaultPalette: "web",
});

Defaults to theme.

displayIndicator (Boolean)

Used to show color value on hover and click inside the palette.

$("#mycolor").colorpicker({
  displayIndicator: false,
});

Defaults to true.

hideButton (Boolean)

When binding the colorpicker to a textbox, a colored button will be added to the right of the textbox unless hideButton is set to true. This option doens't have any effect if the colorpicker is bound to a DIV.

$("#mycolor").colorpicker({
  hideButton: true,
});

Defaults to false.

history (Boolean)

Used to track selection history (shared among all instances of the colorpicker). The history keeps the last 28 colors selections.

$("#mycolor").colorpicker({
  history: false,
});

Defaults to true.

initialHistory (Array strings)

Used to provide a color selection history. Colors are provided as strings of hexadecimal color values.

$("#mycolor").colorpicker({
  initialHistory: ["#ff0000", "#00ff00", "#0000ff"],
});

Defaults to null.

showOn (String)

Have the colorpicker appear automatically when the field receives focus ("focus"), appear only when a button is clicked ("button"), or appear when either event takes place ("both"). This option only takes effect when the color picker is instanciated on a textbox.

$("#mycolor").colorpicker({
  showOn: "button",
});

Defaults to "both".

strings (String)

Used to translate the widget. It is a coma separated list of all labels used in the UI.

$("#mycolor").colorpicker({
  strings:
    "Couleurs de themes,Couleurs de base,Plus de couleurs,Moins de couleurs,Palette,Historique,Pas encore d'historique.",
});

Defaults to "Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet.".

transparentColor (Boolean)

Allow for selection of the "transparent color". The hexadecimal value for the transparent color is "#0000ffff".

$("#mycolor").colorpicker({
  transparentColor: true,
});

Defaults to false.

Methods

clear()

Clears the color value (and close the popup palette if opened).

$("#mycolor").colorpicker("clear");

enable()

Get the currently selected color value (returned as a string).

$("#mycolor").colorpicker("enable");

disable()

Get the currently selected color value (returned as a string).

$("#mycolor").colorpicker("disable");

isDisabled()

Get the currently selected color value (returned as a string).

$("#mycolor").colorpicker("isDisabled");

val([color])

Get or set the currently selected color value (as a string, ie. "#d0d0d0").

var colorValue = $("#mycolor").colorpicker("val");

$("#mycolor").colorpicker("val", "#d0d0d0");

showPalette()

Show the palette (when using the widget as a popup).

$("#mycolor").colorpicker("showPalette");

hidePalette()

Hide the palette (when using the widget as a popup).

$("#mycolor").colorpicker("hidePalette");

Events

change.color

This event is triggered when a color is selected.

$("#mycolor").on("change.color", function (event, color) {
  $("#title").css("background-color", color);
});

mouseover.color

This event is triggered when the mouse moves over a color box on the palette.

$("#mycolor").on("mouseover.color", function (event, color) {
  $("#title").css("background-color", color);
});

License

Copyright (c) 2023 Olivier Giulieri.

evol-colorpicker is released under the MIT license.

More Repositories

1

structured-filter

jQuery UI widget for structured queries like "Contacts where Firstname starts with A and Birthday before 1/1/2000 and State in (CA, NY, FL)"...
JavaScript
258
star
2

evolutility-ui-jquery

Model-driven Web UI for CRUD using REST or localStorage.
JavaScript
183
star
3

evolutility-ui-react

Framework for building CRUD UIs for Hasura GraphQL with models rather than code.
JavaScript
113
star
4

evolutility-server-node

Model-driven REST APIs for CRUD and more, written in Javascript, using Node.js, Express, and PostgreSQL.
JavaScript
111
star
5

motivational-numerology

Web page to calculate and interpret the numerology numbers derived from your name and birth date.
HTML
61
star
6

meet-the-fans

Query and visualize the network graph of your GitHub repositories, followers, stargazers, and forks (using GraphQL and D3).
JavaScript
46
star
7

evolutility-asp.net

Lightweight CRUD framework for heavy lifting using ASP.net and MS-SQL Server.
C#
40
star
8

react-crud-icons

67 SVG icons for CRUD applications, packaged as a React component with light & dark themes and tooltip.
JavaScript
39
star
9

braille-tools

CSS and Javascript to display Braille grade 1 in web pages (for sighted people).
CSS
37
star
10

healing-frequencies

Play the healing frequencies of various sets of tuning forks: Solfeggio, Organs, Mineral nutrients, Ohm, Chakras, Cosmic octave, Otto, DNA nucleotides... or custom.
HTML
31
star
11

kaggle-look-alike

Kaggle Data Explorer UI look-alike built in React.
JavaScript
28
star
12

d3-table-cards

Table/Cards views using D3.js for animated transitions on sorting and changing view.
JavaScript
21
star
13

isomorphic-table-cards

Table and Cards views with animated transitions on sorting, switching view, and browser resizing (no dependencies, just vanilla Javascript, CSS, and HTML).
JavaScript
16
star
14

evolutility-models

Sample models, mock data, and scripts to manage models for Evolutility CRUD Apps.
JavaScript
10
star
15

d3-dual-range-slider

Range slider SVG component for D3js.
JavaScript
7
star
16

structured-filter-react

React component for structured queries like "Contacts where Firstname starts with 'A' and Birthday before 1/1/2000 and State in (CA, NY, FL)"...
JavaScript
6
star
17

github-projects-cards

Web page to fetch and display GitHub projects as cards (w/ links to code, demo, and star history).
JavaScript
2
star
18

web-scraper-sitemaps

Sitemaps for the Web Scraper Chrome extension.
2
star
19

braille-text

Simple Javascript and CSS to display Braille (English grade 1) on web pages with hover effect for translation.
CSS
1
star
20

bouncing-ball

Bouncing ball animation in CSS or in JavaScript.
HTML
1
star
21

evoluteur

My GitHub public profile (kind of...)
1
star