react-color
Version:
A Collection of Color Pickers from Sketch, Photoshop, Chrome & more
113 lines (96 loc) • 2.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Github = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _map = require('lodash/map');
var _map2 = _interopRequireDefault(_map);
var _common = require('../common');
var _GithubSwatch = require('./GithubSwatch');
var _GithubSwatch2 = _interopRequireDefault(_GithubSwatch);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Github = exports.Github = function Github(_ref) {
var width = _ref.width,
colors = _ref.colors,
onChange = _ref.onChange,
triangle = _ref.triangle;
var styles = (0, _reactcss2.default)({
'default': {
card: {
width: width,
background: '#fff',
border: '1px solid rgba(0,0,0,0.2)',
boxShadow: '0 3px 12px rgba(0,0,0,0.15)',
borderRadius: '4px',
position: 'relative',
padding: '5px',
display: 'flex',
flexWrap: 'wrap'
},
triangle: {
position: 'absolute',
border: '7px solid transparent',
borderBottomColor: '#fff'
},
triangleShadow: {
position: 'absolute',
border: '8px solid transparent',
borderBottomColor: 'rgba(0,0,0,0.15)'
}
},
'hide-triangle': {
triangle: {
display: 'none'
},
triangleShadow: {
display: 'none'
}
},
'top-left-triangle': {
triangle: {
top: '-14px',
left: '10px'
},
triangleShadow: {
top: '-16px',
left: '9px'
}
},
'top-right-triangle': {
triangle: {
top: '-14px',
right: '10px'
},
triangleShadow: {
top: '-16px',
right: '9px'
}
}
}, {
'hide-triangle': triangle === 'hide',
'top-left-triangle': triangle === 'top-left',
'top-right-triangle': triangle === 'top-right'
});
var handleChange = function handleChange(hex, e) {
return onChange({ hex: hex, source: 'hex' }, e);
};
return _react2.default.createElement(
'div',
{ style: styles.card, className: 'github-picker' },
_react2.default.createElement('div', { style: styles.triangleShadow }),
_react2.default.createElement('div', { style: styles.triangle }),
(0, _map2.default)(colors, function (c) {
return _react2.default.createElement(_GithubSwatch2.default, { color: c, key: c, onClick: handleChange });
})
);
};
Github.defaultProps = {
width: '200px',
colors: ['#B80000', '#DB3E00', '#FCCB00', '#008B02', '#006B76', '#1273DE', '#004DCF', '#5300EB', '#EB9694', '#FAD0C3', '#FEF3BD', '#C1E1C5', '#BEDADC', '#C4DEF6', '#BED3F3', '#D4C4FB'],
triangle: 'top-left'
};
exports.default = (0, _common.ColorWrap)(Github);