react-color
Version:
A Collection of Color Pickers from Sketch, Photoshop, Chrome & more
121 lines (94 loc) • 3.71 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Compact = undefined;
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 _map = require('lodash/map');
var _map2 = _interopRequireDefault(_map);
var _merge = require('lodash/merge');
var _merge2 = _interopRequireDefault(_merge);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _common = require('../common');
var _CompactColor = require('./CompactColor');
var _CompactColor2 = _interopRequireDefault(_CompactColor);
var _CompactFields = require('./CompactFields');
var _CompactFields2 = _interopRequireDefault(_CompactFields);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Compact = exports.Compact = function Compact(_ref) {
var onChange = _ref.onChange,
onSwatchHover = _ref.onSwatchHover,
colors = _ref.colors,
hex = _ref.hex,
rgb = _ref.rgb,
_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': {
Compact: {
background: '#f6f6f6',
radius: '4px'
},
compact: {
paddingTop: '5px',
paddingLeft: '5px',
boxSizing: 'initial',
width: '240px'
},
clear: {
clear: 'both'
}
}
}, passedStyles));
var handleChange = function handleChange(data, e) {
if (data.hex) {
color.isValidHex(data.hex) && onChange({
hex: data.hex,
source: 'hex'
}, e);
} else {
onChange(data, e);
}
};
return _react2.default.createElement(
_common.Raised,
{ style: styles.Compact, styles: passedStyles },
_react2.default.createElement(
'div',
{ style: styles.compact, className: 'compact-picker ' + className },
_react2.default.createElement(
'div',
null,
(0, _map2.default)(colors, function (c) {
return _react2.default.createElement(_CompactColor2.default, {
key: c,
color: c,
active: c.toLowerCase() === hex,
onClick: handleChange,
onSwatchHover: onSwatchHover
});
}),
_react2.default.createElement('div', { style: styles.clear })
),
_react2.default.createElement(_CompactFields2.default, { hex: hex, rgb: rgb, onChange: handleChange })
)
);
};
Compact.propTypes = {
colors: _propTypes2.default.arrayOf(_propTypes2.default.string),
styles: _propTypes2.default.object
};
Compact.defaultProps = {
colors: ['#4D4D4D', '#999999', '#FFFFFF', '#F44E3B', '#FE9200', '#FCDC00', '#DBDF00', '#A4DD00', '#68CCCA', '#73D8FF', '#AEA1FF', '#FDA1FF', '#333333', '#808080', '#cccccc', '#D33115', '#E27300', '#FCC400', '#B0BC00', '#68BC00', '#16A5A5', '#009CE0', '#7B64FF', '#FA28FF', '#000000', '#666666', '#B3B3B3', '#9F0500', '#C45100', '#FB9E00', '#808900', '#194D33', '#0C797D', '#0062B1', '#653294', '#AB149E'],
styles: {}
};
exports.default = (0, _common.ColorWrap)(Compact);