UNPKG

react-color

Version:

A Collection of Color Pickers from Sketch, Photoshop, Chrome & more

204 lines (181 loc) 5.81 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Sketch = undefined; 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; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _reactcss = require('reactcss'); var _reactcss2 = _interopRequireDefault(_reactcss); var _merge = require('lodash/merge'); var _merge2 = _interopRequireDefault(_merge); var _common = require('../common'); var _SketchFields = require('./SketchFields'); var _SketchFields2 = _interopRequireDefault(_SketchFields); var _SketchPresetColors = require('./SketchPresetColors'); var _SketchPresetColors2 = _interopRequireDefault(_SketchPresetColors); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Sketch = exports.Sketch = function Sketch(_ref) { var width = _ref.width, rgb = _ref.rgb, hex = _ref.hex, hsv = _ref.hsv, hsl = _ref.hsl, onChange = _ref.onChange, onSwatchHover = _ref.onSwatchHover, disableAlpha = _ref.disableAlpha, presetColors = _ref.presetColors, renderers = _ref.renderers, _ref$styles = _ref.styles, passedStyles = _ref$styles === undefined ? {} : _ref$styles, _ref$className = _ref.className, className = _ref$className === undefined ? '' : _ref$className; var styles = (0, _reactcss2.default)((0, _merge2.default)({ 'default': _extends({ picker: { width: width, padding: '10px 10px 0', boxSizing: 'initial', background: '#fff', borderRadius: '4px', boxShadow: '0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)' }, saturation: { width: '100%', paddingBottom: '75%', position: 'relative', overflow: 'hidden' }, Saturation: { radius: '3px', shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)' }, controls: { display: 'flex' }, sliders: { padding: '4px 0', flex: '1' }, color: { width: '24px', height: '24px', position: 'relative', marginTop: '4px', marginLeft: '4px', borderRadius: '3px' }, activeColor: { absolute: '0px 0px 0px 0px', borderRadius: '2px', background: 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + rgb.a + ')', boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)' }, hue: { position: 'relative', height: '10px', overflow: 'hidden' }, Hue: { radius: '2px', shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)' }, alpha: { position: 'relative', height: '10px', marginTop: '4px', overflow: 'hidden' }, Alpha: { radius: '2px', shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)' } }, passedStyles), 'disableAlpha': { color: { height: '10px' }, hue: { height: '10px' }, alpha: { display: 'none' } } }, passedStyles), { disableAlpha: disableAlpha }); return _react2.default.createElement( 'div', { style: styles.picker, className: 'sketch-picker ' + className }, _react2.default.createElement( 'div', { style: styles.saturation }, _react2.default.createElement(_common.Saturation, { style: styles.Saturation, hsl: hsl, hsv: hsv, onChange: onChange }) ), _react2.default.createElement( 'div', { style: styles.controls, className: 'flexbox-fix' }, _react2.default.createElement( 'div', { style: styles.sliders }, _react2.default.createElement( 'div', { style: styles.hue }, _react2.default.createElement(_common.Hue, { style: styles.Hue, hsl: hsl, onChange: onChange }) ), _react2.default.createElement( 'div', { style: styles.alpha }, _react2.default.createElement(_common.Alpha, { style: styles.Alpha, rgb: rgb, hsl: hsl, renderers: renderers, onChange: onChange }) ) ), _react2.default.createElement( 'div', { style: styles.color }, _react2.default.createElement(_common.Checkboard, null), _react2.default.createElement('div', { style: styles.activeColor }) ) ), _react2.default.createElement(_SketchFields2.default, { rgb: rgb, hsl: hsl, hex: hex, onChange: onChange, disableAlpha: disableAlpha }), _react2.default.createElement(_SketchPresetColors2.default, { colors: presetColors, onClick: onChange, onSwatchHover: onSwatchHover }) ); }; Sketch.propTypes = { disableAlpha: _propTypes2.default.bool, width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), styles: _propTypes2.default.object }; Sketch.defaultProps = { disableAlpha: false, width: 200, styles: {}, presetColors: ['#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF'] }; exports.default = (0, _common.ColorWrap)(Sketch);