zent
Version:
一套前端设计语言和基于React的实现
194 lines (174 loc) • 5.14 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _reactcss = require('./helpers/reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
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 _ref2 = _react2['default'].createElement(_common.Checkboard, null);
var Sketch = function Sketch(_ref) {
var width = _ref.width,
rgb = _ref.rgb,
hex = _ref.hex,
hsv = _ref.hsv,
hsl = _ref.hsl,
onChange = _ref.onChange,
showAlpha = _ref.showAlpha,
presetColors = _ref.presetColors,
renderers = _ref.renderers,
prefix = _ref.prefix,
className = _ref.className,
type = _ref.type;
var styles = (0, _reactcss2['default'])({
'default': {
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)'
}
},
showAlpha: {
color: {
height: '10px'
},
hue: {
height: '10px'
},
alpha: {
display: 'none'
}
}
}, { showAlpha: !showAlpha });
return _react2['default'].createElement(
'div',
{
style: styles.picker,
className: (0, _classnames2['default'])(prefix + '-colorpicker-board', 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 },
_ref2,
_react2['default'].createElement('div', { style: styles.activeColor })
)
),
_react2['default'].createElement(_SketchFields2['default'], {
rgb: rgb,
hsl: hsl,
hex: hex,
onChange: onChange,
showAlpha: showAlpha,
prefix: prefix
}),
_react2['default'].createElement(_SketchPresetColors2['default'], {
colors: presetColors,
onClick: onChange,
prefix: prefix,
type: type
})
);
};
Sketch.defaultProps = {
presetColors: ['#FFFFFF', '#F8F8F8', '#F2F2F2', '#999999', '#444444', '#FF4444', '#FF6500', '#FF884D', '#FFCD00', '#3FBD00', '#3FBC87', '#00CD98', '#5197FF', '#BADCFF', '#FFEFB8'],
width: 200,
showAlpha: false,
prefix: 'zent',
className: ''
};
var ColorBoard = (0, _common.ColorWrap)(Sketch);
exports['default'] = ColorBoard;