UNPKG

react-color

Version:

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

218 lines (195 loc) 5.69 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Chrome = 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 _merge = require('lodash/merge'); var _merge2 = _interopRequireDefault(_merge); var _common = require('../common'); var _ChromeFields = require('./ChromeFields'); var _ChromeFields2 = _interopRequireDefault(_ChromeFields); var _ChromePointer = require('./ChromePointer'); var _ChromePointer2 = _interopRequireDefault(_ChromePointer); var _ChromePointerCircle = require('./ChromePointerCircle'); var _ChromePointerCircle2 = _interopRequireDefault(_ChromePointerCircle); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Chrome = exports.Chrome = function Chrome(_ref) { var width = _ref.width, onChange = _ref.onChange, disableAlpha = _ref.disableAlpha, rgb = _ref.rgb, hsl = _ref.hsl, hsv = _ref.hsv, hex = _ref.hex, renderers = _ref.renderers, _ref$styles = _ref.styles, passedStyles = _ref$styles === undefined ? {} : _ref$styles, _ref$className = _ref.className, className = _ref$className === undefined ? '' : _ref$className, defaultView = _ref.defaultView; var styles = (0, _reactcss2.default)((0, _merge2.default)({ 'default': { picker: { width: width, background: '#fff', borderRadius: '2px', boxShadow: '0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)', boxSizing: 'initial', fontFamily: 'Menlo' }, saturation: { width: '100%', paddingBottom: '55%', position: 'relative', borderRadius: '2px 2px 0 0', overflow: 'hidden' }, Saturation: { radius: '2px 2px 0 0' }, body: { padding: '16px 16px 12px' }, controls: { display: 'flex' }, color: { width: '32px' }, swatch: { marginTop: '6px', width: '16px', height: '16px', borderRadius: '8px', position: 'relative', overflow: 'hidden' }, active: { absolute: '0px 0px 0px 0px', borderRadius: '8px', boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.1)', background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + rgb.a + ')', zIndex: '2' }, toggles: { flex: '1' }, hue: { height: '10px', position: 'relative', marginBottom: '8px' }, Hue: { radius: '2px' }, alpha: { height: '10px', position: 'relative' }, Alpha: { radius: '2px' } }, 'disableAlpha': { color: { width: '22px' }, alpha: { display: 'none' }, hue: { marginBottom: '0px' }, swatch: { width: '10px', height: '10px', marginTop: '0px' } } }, passedStyles), { disableAlpha: disableAlpha }); return _react2.default.createElement( 'div', { style: styles.picker, className: 'chrome-picker ' + className }, _react2.default.createElement( 'div', { style: styles.saturation }, _react2.default.createElement(_common.Saturation, { style: styles.Saturation, hsl: hsl, hsv: hsv, pointer: _ChromePointerCircle2.default, onChange: onChange }) ), _react2.default.createElement( 'div', { style: styles.body }, _react2.default.createElement( 'div', { style: styles.controls, className: 'flexbox-fix' }, _react2.default.createElement( 'div', { style: styles.color }, _react2.default.createElement( 'div', { style: styles.swatch }, _react2.default.createElement('div', { style: styles.active }), _react2.default.createElement(_common.Checkboard, { renderers: renderers }) ) ), _react2.default.createElement( 'div', { style: styles.toggles }, _react2.default.createElement( 'div', { style: styles.hue }, _react2.default.createElement(_common.Hue, { style: styles.Hue, hsl: hsl, pointer: _ChromePointer2.default, onChange: onChange }) ), _react2.default.createElement( 'div', { style: styles.alpha }, _react2.default.createElement(_common.Alpha, { style: styles.Alpha, rgb: rgb, hsl: hsl, pointer: _ChromePointer2.default, renderers: renderers, onChange: onChange }) ) ) ), _react2.default.createElement(_ChromeFields2.default, { rgb: rgb, hsl: hsl, hex: hex, view: defaultView, onChange: onChange, disableAlpha: disableAlpha }) ) ); }; Chrome.propTypes = { width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), disableAlpha: _propTypes2.default.bool, styles: _propTypes2.default.object, defaultView: _propTypes2.default.oneOf(["hex", "rgb", "hsl"]) }; Chrome.defaultProps = { width: 225, disableAlpha: false, styles: {} }; exports.default = (0, _common.ColorWrap)(Chrome);