react-color
Version:
A Collection of Color Pickers from Sketch, Photoshop, Chrome & more
64 lines (56 loc) • 1.78 kB
JavaScript
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
import React from 'react';
import PropTypes from 'prop-types';
import reactCSS from 'reactcss';
import merge from 'lodash-es/merge';
import { ColorWrap, Hue } from '../common';
import HuePointer from './HuePointer';
export var HuePicker = function HuePicker(_ref) {
var width = _ref.width,
height = _ref.height,
onChange = _ref.onChange,
hsl = _ref.hsl,
direction = _ref.direction,
pointer = _ref.pointer,
_ref$styles = _ref.styles,
passedStyles = _ref$styles === undefined ? {} : _ref$styles,
_ref$className = _ref.className,
className = _ref$className === undefined ? '' : _ref$className;
var styles = reactCSS(merge({
'default': {
picker: {
position: 'relative',
width: width,
height: height
},
hue: {
radius: '2px'
}
}
}, passedStyles));
// Overwrite to provide pure hue color
var handleChange = function handleChange(data) {
return onChange({ a: 1, h: data.h, l: 0.5, s: 1 });
};
return React.createElement(
'div',
{ style: styles.picker, className: 'hue-picker ' + className },
React.createElement(Hue, _extends({}, styles.hue, {
hsl: hsl,
pointer: pointer,
onChange: handleChange,
direction: direction
}))
);
};
HuePicker.propTypes = {
styles: PropTypes.object
};
HuePicker.defaultProps = {
width: '316px',
height: '16px',
direction: 'horizontal',
pointer: HuePointer,
styles: {}
};
export default ColorWrap(HuePicker);