0.1.0 • Published 2 years ago

@kodie/colorfield v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

colorfield

npm package version Travis build status npm package downloads code style license

A tiny, dependency-free, color input field helper that utilizes the native color picker.

Demo

Visit https://kodie.github.io/colorfield

Installation

Manual Download

Download the latest version of colorfield and then place the following HTML in your page's head element:

<script type="text/javascript" src="dist/colorfield.min.js"></script>
<link rel="stylesheet" href="dist/colorfield.min.css" />

CDN (Courtesy of jsDelivr)

Place the following HTML in your page's head element (check to make sure the version in the URLs are the version you want):

<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/kodie/colorfield@0.0.2/dist/colorfield.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kodie/colorfield@0.0.2/dist/colorfield.min.css" />

NPM

npm install @kodie/colorfield --save
// ES6
import colorfield from '@kodie/colorfield'

// CommonJS
const colorfield = require('@kodie/colorfield')

GPM

gpm install kodie/colorfield --save

Bower

bower install kodie/colorfield --save

Usage

Basic HTML Structure

<div class="colorfield">
  <input type="color" id="main-color" value="#5185b3">
  <button type="button" class="colorfield-open colorfield-value" data-colorfield-style-prop="background-color"></button>
</div>

The colorfield Function

Initiates colorfield on any element that has the colorfield class. This should be a container around your color input.

Example

window.addEventListener('load', function () {
  colorfield()
})

Attributes/Classes

  • The colorfield-input class - Any input element with this class will have it's value set to the selected color any time the color is changed. The color will also be set to any value that is entered into this input field.

  • The colorfield-open class - Any element with this class will open the color picker when clicked.

  • The colorfield-value class - Any element with this class will have it's text content set to the color when the color is changed. If this element is an input, it's value will be updated instead of text content.

  • The data-colorfield-style-prop attribute - Set this attribute to a style property (like background or color) on an element to have it's style updated when the color is changed. Multiple style properties can be defined by separating them with a comma (ie. background,color).

JavaScript Methods

The containing colorfield element (the element with the colorfield class) will have the following methods attached to it available for use:

var color = document.querySelector('.color')

color.open() // Opens the color picker

color.set('#00ff00') // Sets the color

var currentColor = color.get() // Gets the current color

// The `change` event bubbles up to the containing element so you can detect changes like so:
color.addEventListener('change', function () {
  document.body.style.setProperty('--color', event.target.value)
})

Related

  • minitaur - The ultimate, dependency-free, easy to use, JavaScript plugin for creating and managing modals.

  • filebokz - A tiny, dependency-free, highly customizable and configurable, easy to use file input with some pretty sweet features.

  • vanishing-fields - A dependency-free, easy to use, JavaScript plugin for hiding and showing fields.

License

MIT. See the license file for more info.