planning
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s

This commit is contained in:
2024-10-14 09:15:30 +02:00
parent bcba00a730
commit 6e64e138e2
21059 changed files with 2317811 additions and 1 deletions

14
node_modules/react-color/lib/Alpha.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Alpha = require('./components/alpha/Alpha');
var _Alpha2 = _interopRequireDefault(_Alpha);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Alpha2.default;

14
node_modules/react-color/lib/Block.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Block = require('./components/block/Block');
var _Block2 = _interopRequireDefault(_Block);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Block2.default;

14
node_modules/react-color/lib/Chrome.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Chrome = require('./components/chrome/Chrome');
var _Chrome2 = _interopRequireDefault(_Chrome);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Chrome2.default;

14
node_modules/react-color/lib/Circle.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Circle = require('./components/circle/Circle');
var _Circle2 = _interopRequireDefault(_Circle);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Circle2.default;

14
node_modules/react-color/lib/Compact.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Compact = require('./components/compact/Compact');
var _Compact2 = _interopRequireDefault(_Compact);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Compact2.default;

14
node_modules/react-color/lib/Custom.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _ColorWrap = require('./components/common/ColorWrap');
var _ColorWrap2 = _interopRequireDefault(_ColorWrap);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _ColorWrap2.default;

14
node_modules/react-color/lib/Github.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Github = require('./components/github/Github');
var _Github2 = _interopRequireDefault(_Github);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Github2.default;

14
node_modules/react-color/lib/Google.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Google = require('./components/google/Google');
var _Google2 = _interopRequireDefault(_Google);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Google2.default;

14
node_modules/react-color/lib/Hue.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Hue = require('./components/hue/Hue');
var _Hue2 = _interopRequireDefault(_Hue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Hue2.default;

14
node_modules/react-color/lib/Material.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Material = require('./components/material/Material');
var _Material2 = _interopRequireDefault(_Material);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Material2.default;

14
node_modules/react-color/lib/Photoshop.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Photoshop = require('./components/photoshop/Photoshop');
var _Photoshop2 = _interopRequireDefault(_Photoshop);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Photoshop2.default;

14
node_modules/react-color/lib/Sketch.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Sketch = require('./components/sketch/Sketch');
var _Sketch2 = _interopRequireDefault(_Sketch);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Sketch2.default;

14
node_modules/react-color/lib/Slider.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Slider = require('./components/slider/Slider');
var _Slider2 = _interopRequireDefault(_Slider);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Slider2.default;

14
node_modules/react-color/lib/Swatches.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Swatches = require('./components/swatches/Swatches');
var _Swatches2 = _interopRequireDefault(_Swatches);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Swatches2.default;

14
node_modules/react-color/lib/Twitter.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Twitter = require('./components/twitter/Twitter');
var _Twitter2 = _interopRequireDefault(_Twitter);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Twitter2.default;

74
node_modules/react-color/lib/components/alpha/Alpha.js generated vendored Normal file
View File

@@ -0,0 +1,74 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.AlphaPicker = 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 _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _common = require('../common');
var _AlphaPointer = require('./AlphaPointer');
var _AlphaPointer2 = _interopRequireDefault(_AlphaPointer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var AlphaPicker = exports.AlphaPicker = function AlphaPicker(_ref) {
var rgb = _ref.rgb,
hsl = _ref.hsl,
width = _ref.width,
height = _ref.height,
onChange = _ref.onChange,
direction = _ref.direction,
style = _ref.style,
renderers = _ref.renderers,
pointer = _ref.pointer,
_ref$className = _ref.className,
className = _ref$className === undefined ? '' : _ref$className;
var styles = (0, _reactcss2.default)({
'default': {
picker: {
position: 'relative',
width: width,
height: height
},
alpha: {
radius: '2px',
style: style
}
}
});
return _react2.default.createElement(
'div',
{ style: styles.picker, className: 'alpha-picker ' + className },
_react2.default.createElement(_common.Alpha, _extends({}, styles.alpha, {
rgb: rgb,
hsl: hsl,
pointer: pointer,
renderers: renderers,
onChange: onChange,
direction: direction
}))
);
};
AlphaPicker.defaultProps = {
width: '316px',
height: '16px',
direction: 'horizontal',
pointer: _AlphaPointer2.default
};
exports.default = (0, _common.ColorWrap)(AlphaPicker);

View File

@@ -0,0 +1,42 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.AlphaPointer = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var AlphaPointer = exports.AlphaPointer = function AlphaPointer(_ref) {
var direction = _ref.direction;
var styles = (0, _reactcss2.default)({
'default': {
picker: {
width: '18px',
height: '18px',
borderRadius: '50%',
transform: 'translate(-9px, -1px)',
backgroundColor: 'rgb(248, 248, 248)',
boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'
}
},
'vertical': {
picker: {
transform: 'translate(-3px, -9px)'
}
}
}, { vertical: direction === 'vertical' });
return _react2.default.createElement('div', { style: styles.picker });
};
exports.default = AlphaPointer;

69
node_modules/react-color/lib/components/alpha/spec.js generated vendored Normal file
View File

@@ -0,0 +1,69 @@
'use strict';
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; }; /* global test, expect, jest */
// import canvas from 'canvas'
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _enzyme = require('enzyme');
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _Alpha = require('./Alpha');
var _Alpha2 = _interopRequireDefault(_Alpha);
var _common = require('../common');
var _AlphaPointer = require('./AlphaPointer');
var _AlphaPointer2 = _interopRequireDefault(_AlphaPointer);
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 }; }
test('Alpha renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Alpha2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
// test('Alpha renders on server correctly', () => {
// const tree = renderer.create(
// <Alpha renderers={{ canvas }} { ...color.red } />
// ).toJSON()
// expect(tree).toMatchSnapshot()
// })
test('Alpha onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Alpha2.default, _extends({}, color.red, { width: 20, height: 200, onChange: changeSpy })));
expect(changeSpy).toHaveBeenCalledTimes(0);
var alphaCommon = tree.find(_common.Alpha);
alphaCommon.at(0).childAt(2).simulate('mouseDown', {
pageX: 100,
pageY: 10
});
expect(changeSpy).toHaveBeenCalled();
});
test('Alpha renders vertically', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Alpha2.default, _extends({}, color.red, { width: 20, height: 200, direction: 'vertical' }))).toJSON();
expect(tree).toMatchSnapshot();
});
test('AlphaPointer renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_AlphaPointer2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});

156
node_modules/react-color/lib/components/block/Block.js generated vendored Normal file
View File

@@ -0,0 +1,156 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Block = 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 _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _common = require('../common');
var _BlockSwatches = require('./BlockSwatches');
var _BlockSwatches2 = _interopRequireDefault(_BlockSwatches);
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 Block = exports.Block = function Block(_ref) {
var onChange = _ref.onChange,
onSwatchHover = _ref.onSwatchHover,
hex = _ref.hex,
colors = _ref.colors,
width = _ref.width,
triangle = _ref.triangle,
_ref$styles = _ref.styles,
passedStyles = _ref$styles === undefined ? {} : _ref$styles,
_ref$className = _ref.className,
className = _ref$className === undefined ? '' : _ref$className;
var transparent = hex === 'transparent';
var handleChange = function handleChange(hexCode, e) {
color.isValidHex(hexCode) && onChange({
hex: hexCode,
source: 'hex'
}, e);
};
var styles = (0, _reactcss2.default)((0, _merge2.default)({
'default': {
card: {
width: width,
background: '#fff',
boxShadow: '0 1px rgba(0,0,0,.1)',
borderRadius: '6px',
position: 'relative'
},
head: {
height: '110px',
background: hex,
borderRadius: '6px 6px 0 0',
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
position: 'relative'
},
body: {
padding: '10px'
},
label: {
fontSize: '18px',
color: color.getContrastingColor(hex),
position: 'relative'
},
triangle: {
width: '0px',
height: '0px',
borderStyle: 'solid',
borderWidth: '0 10px 10px 10px',
borderColor: 'transparent transparent ' + hex + ' transparent',
position: 'absolute',
top: '-10px',
left: '50%',
marginLeft: '-10px'
},
input: {
width: '100%',
fontSize: '12px',
color: '#666',
border: '0px',
outline: 'none',
height: '22px',
boxShadow: 'inset 0 0 0 1px #ddd',
borderRadius: '4px',
padding: '0 7px',
boxSizing: 'border-box'
}
},
'hide-triangle': {
triangle: {
display: 'none'
}
}
}, passedStyles), { 'hide-triangle': triangle === 'hide' });
return _react2.default.createElement(
'div',
{ style: styles.card, className: 'block-picker ' + className },
_react2.default.createElement('div', { style: styles.triangle }),
_react2.default.createElement(
'div',
{ style: styles.head },
transparent && _react2.default.createElement(_common.Checkboard, { borderRadius: '6px 6px 0 0' }),
_react2.default.createElement(
'div',
{ style: styles.label },
hex
)
),
_react2.default.createElement(
'div',
{ style: styles.body },
_react2.default.createElement(_BlockSwatches2.default, { colors: colors, onClick: handleChange, onSwatchHover: onSwatchHover }),
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input },
value: hex,
onChange: handleChange
})
)
);
};
Block.propTypes = {
width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
colors: _propTypes2.default.arrayOf(_propTypes2.default.string),
triangle: _propTypes2.default.oneOf(['top', 'hide']),
styles: _propTypes2.default.object
};
Block.defaultProps = {
width: 170,
colors: ['#D9E3F0', '#F47373', '#697689', '#37D67A', '#2CCCE4', '#555555', '#dce775', '#ff8a65', '#ba68c8'],
triangle: 'top',
styles: {}
};
exports.default = (0, _common.ColorWrap)(Block);

View File

@@ -0,0 +1,67 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BlockSwatches = 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');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var BlockSwatches = exports.BlockSwatches = function BlockSwatches(_ref) {
var colors = _ref.colors,
onClick = _ref.onClick,
onSwatchHover = _ref.onSwatchHover;
var styles = (0, _reactcss2.default)({
'default': {
swatches: {
marginRight: '-10px'
},
swatch: {
width: '22px',
height: '22px',
float: 'left',
marginRight: '10px',
marginBottom: '10px',
borderRadius: '4px'
},
clear: {
clear: 'both'
}
}
});
return _react2.default.createElement(
'div',
{ style: styles.swatches },
(0, _map2.default)(colors, function (c) {
return _react2.default.createElement(_common.Swatch, {
key: c,
color: c,
style: styles.swatch,
onClick: onClick,
onHover: onSwatchHover,
focusStyle: {
boxShadow: '0 0 4px ' + c
}
});
}),
_react2.default.createElement('div', { style: styles.clear })
);
};
exports.default = BlockSwatches;

72
node_modules/react-color/lib/components/block/spec.js generated vendored Normal file
View File

@@ -0,0 +1,72 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _enzyme = require('enzyme');
var _Block = require('./Block');
var _Block2 = _interopRequireDefault(_Block);
var _BlockSwatches = require('./BlockSwatches');
var _BlockSwatches2 = _interopRequireDefault(_BlockSwatches);
var _common = require('../common');
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
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 }; }
test('Block renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Block2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
}); /* global test, jest, expect */
test('Block onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Block2.default, { onChange: changeSpy }));
expect(changeSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('click');
expect(changeSpy).toHaveBeenCalled();
});
test('Block with onSwatchHover events correctly', function () {
var hoverSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Block2.default, { onSwatchHover: hoverSpy }));
expect(hoverSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('mouseOver');
expect(hoverSpy).toHaveBeenCalled();
});
test('Block `triangle="hide"`', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Block2.default, { triangle: 'hide' })).toJSON();
expect(tree).toMatchSnapshot();
});
test('BlockSwatches renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_BlockSwatches2.default, { colors: ['#fff', '#999', '#000'] })).toJSON();
expect(tree).toMatchSnapshot();
});
test('Block renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Block2.default, { styles: { default: { card: { boxShadow: 'none' } } } })).toJSON();
expect(tree.props.style.boxShadow).toBe('none');
});

29
node_modules/react-color/lib/components/block/story.js generated vendored Normal file
View File

@@ -0,0 +1,29 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Block = require('./Block');
var _Block2 = _interopRequireDefault(_Block);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('BlockPicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Block2.default },
(0, _report.renderWithKnobs)(_Block2.default, {}, null, {
width: { range: true, min: 140, max: 500, step: 1 }
})
);
});

View File

@@ -0,0 +1,218 @@
'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);

View File

@@ -0,0 +1,363 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ChromeFields = undefined;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _isUndefined = require('lodash/isUndefined');
var _isUndefined2 = _interopRequireDefault(_isUndefined);
var _common = require('../common');
var _UnfoldMoreHorizontalIcon = require('@icons/material/UnfoldMoreHorizontalIcon');
var _UnfoldMoreHorizontalIcon2 = _interopRequireDefault(_UnfoldMoreHorizontalIcon);
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 }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable react/no-did-mount-set-state, no-param-reassign */
var ChromeFields = exports.ChromeFields = function (_React$Component) {
_inherits(ChromeFields, _React$Component);
function ChromeFields(props) {
_classCallCheck(this, ChromeFields);
var _this = _possibleConstructorReturn(this, (ChromeFields.__proto__ || Object.getPrototypeOf(ChromeFields)).call(this));
_this.toggleViews = function () {
if (_this.state.view === 'hex') {
_this.setState({ view: 'rgb' });
} else if (_this.state.view === 'rgb') {
_this.setState({ view: 'hsl' });
} else if (_this.state.view === 'hsl') {
if (_this.props.hsl.a === 1) {
_this.setState({ view: 'hex' });
} else {
_this.setState({ view: 'rgb' });
}
}
};
_this.handleChange = function (data, e) {
if (data.hex) {
color.isValidHex(data.hex) && _this.props.onChange({
hex: data.hex,
source: 'hex'
}, e);
} else if (data.r || data.g || data.b) {
_this.props.onChange({
r: data.r || _this.props.rgb.r,
g: data.g || _this.props.rgb.g,
b: data.b || _this.props.rgb.b,
source: 'rgb'
}, e);
} else if (data.a) {
if (data.a < 0) {
data.a = 0;
} else if (data.a > 1) {
data.a = 1;
}
_this.props.onChange({
h: _this.props.hsl.h,
s: _this.props.hsl.s,
l: _this.props.hsl.l,
a: Math.round(data.a * 100) / 100,
source: 'rgb'
}, e);
} else if (data.h || data.s || data.l) {
// Remove any occurances of '%'.
if (typeof data.s === 'string' && data.s.includes('%')) {
data.s = data.s.replace('%', '');
}
if (typeof data.l === 'string' && data.l.includes('%')) {
data.l = data.l.replace('%', '');
}
// We store HSL as a unit interval so we need to override the 1 input to 0.01
if (data.s == 1) {
data.s = 0.01;
} else if (data.l == 1) {
data.l = 0.01;
}
_this.props.onChange({
h: data.h || _this.props.hsl.h,
s: Number(!(0, _isUndefined2.default)(data.s) ? data.s : _this.props.hsl.s),
l: Number(!(0, _isUndefined2.default)(data.l) ? data.l : _this.props.hsl.l),
source: 'hsl'
}, e);
}
};
_this.showHighlight = function (e) {
e.currentTarget.style.background = '#eee';
};
_this.hideHighlight = function (e) {
e.currentTarget.style.background = 'transparent';
};
if (props.hsl.a !== 1 && props.view === "hex") {
_this.state = {
view: "rgb"
};
} else {
_this.state = {
view: props.view
};
}
return _this;
}
_createClass(ChromeFields, [{
key: 'render',
value: function render() {
var _this2 = this;
var styles = (0, _reactcss2.default)({
'default': {
wrap: {
paddingTop: '16px',
display: 'flex'
},
fields: {
flex: '1',
display: 'flex',
marginLeft: '-6px'
},
field: {
paddingLeft: '6px',
width: '100%'
},
alpha: {
paddingLeft: '6px',
width: '100%'
},
toggle: {
width: '32px',
textAlign: 'right',
position: 'relative'
},
icon: {
marginRight: '-4px',
marginTop: '12px',
cursor: 'pointer',
position: 'relative'
},
iconHighlight: {
position: 'absolute',
width: '24px',
height: '28px',
background: '#eee',
borderRadius: '4px',
top: '10px',
left: '12px',
display: 'none'
},
input: {
fontSize: '11px',
color: '#333',
width: '100%',
borderRadius: '2px',
border: 'none',
boxShadow: 'inset 0 0 0 1px #dadada',
height: '21px',
textAlign: 'center'
},
label: {
textTransform: 'uppercase',
fontSize: '11px',
lineHeight: '11px',
color: '#969696',
textAlign: 'center',
display: 'block',
marginTop: '12px'
},
svg: {
fill: '#333',
width: '24px',
height: '24px',
border: '1px transparent solid',
borderRadius: '5px'
}
},
'disableAlpha': {
alpha: {
display: 'none'
}
}
}, this.props, this.state);
var fields = void 0;
if (this.state.view === 'hex') {
fields = _react2.default.createElement(
'div',
{ style: styles.fields, className: 'flexbox-fix' },
_react2.default.createElement(
'div',
{ style: styles.field },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'hex', value: this.props.hex,
onChange: this.handleChange
})
)
);
} else if (this.state.view === 'rgb') {
fields = _react2.default.createElement(
'div',
{ style: styles.fields, className: 'flexbox-fix' },
_react2.default.createElement(
'div',
{ style: styles.field },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'r',
value: this.props.rgb.r,
onChange: this.handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.field },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'g',
value: this.props.rgb.g,
onChange: this.handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.field },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'b',
value: this.props.rgb.b,
onChange: this.handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.alpha },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'a',
value: this.props.rgb.a,
arrowOffset: 0.01,
onChange: this.handleChange
})
)
);
} else if (this.state.view === 'hsl') {
fields = _react2.default.createElement(
'div',
{ style: styles.fields, className: 'flexbox-fix' },
_react2.default.createElement(
'div',
{ style: styles.field },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'h',
value: Math.round(this.props.hsl.h),
onChange: this.handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.field },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 's',
value: Math.round(this.props.hsl.s * 100) + '%',
onChange: this.handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.field },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'l',
value: Math.round(this.props.hsl.l * 100) + '%',
onChange: this.handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.alpha },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'a',
value: this.props.hsl.a,
arrowOffset: 0.01,
onChange: this.handleChange
})
)
);
}
return _react2.default.createElement(
'div',
{ style: styles.wrap, className: 'flexbox-fix' },
fields,
_react2.default.createElement(
'div',
{ style: styles.toggle },
_react2.default.createElement(
'div',
{ style: styles.icon, onClick: this.toggleViews, ref: function ref(icon) {
return _this2.icon = icon;
} },
_react2.default.createElement(_UnfoldMoreHorizontalIcon2.default, {
style: styles.svg,
onMouseOver: this.showHighlight,
onMouseEnter: this.showHighlight,
onMouseOut: this.hideHighlight
})
)
)
);
}
}], [{
key: 'getDerivedStateFromProps',
value: function getDerivedStateFromProps(nextProps, state) {
if (nextProps.hsl.a !== 1 && state.view === 'hex') {
return { view: 'rgb' };
}
return null;
}
}]);
return ChromeFields;
}(_react2.default.Component);
ChromeFields.defaultProps = {
view: "hex"
};
exports.default = ChromeFields;

View File

@@ -0,0 +1,35 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ChromePointer = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ChromePointer = exports.ChromePointer = function ChromePointer() {
var styles = (0, _reactcss2.default)({
'default': {
picker: {
width: '12px',
height: '12px',
borderRadius: '6px',
transform: 'translate(-6px, -1px)',
backgroundColor: 'rgb(248, 248, 248)',
boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'
}
}
});
return _react2.default.createElement('div', { style: styles.picker });
};
exports.default = ChromePointer;

View File

@@ -0,0 +1,34 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ChromePointerCircle = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ChromePointerCircle = exports.ChromePointerCircle = function ChromePointerCircle() {
var styles = (0, _reactcss2.default)({
'default': {
picker: {
width: '12px',
height: '12px',
borderRadius: '6px',
boxShadow: 'inset 0 0 0 1px #fff',
transform: 'translate(-6px, -6px)'
}
}
});
return _react2.default.createElement('div', { style: styles.picker });
};
exports.default = ChromePointerCircle;

96
node_modules/react-color/lib/components/chrome/spec.js generated vendored Normal file
View File

@@ -0,0 +1,96 @@
'use strict';
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; }; /* global test, jest, expect */
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _enzyme = require('enzyme');
var _Chrome = require('./Chrome');
var _Chrome2 = _interopRequireDefault(_Chrome);
var _ChromeFields = require('./ChromeFields');
var _ChromeFields2 = _interopRequireDefault(_ChromeFields);
var _ChromePointer = require('./ChromePointer');
var _ChromePointer2 = _interopRequireDefault(_ChromePointer);
var _ChromePointerCircle = require('./ChromePointerCircle');
var _ChromePointerCircle2 = _interopRequireDefault(_ChromePointerCircle);
var _common = require('../common');
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 }; }
test('Chrome renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Chrome2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Chrome onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Chrome2.default, _extends({}, color.red, { onChange: changeSpy })));
expect(changeSpy).toHaveBeenCalledTimes(0);
// check the Alpha component
var alphaCommon = tree.find(_common.Alpha);
alphaCommon.at(0).childAt(2).simulate('mouseDown', {
pageX: 100,
pageY: 10
});
expect(changeSpy).toHaveBeenCalledTimes(1);
// TODO: check the Hue component
// TODO: check the ChromeFields
// TODO: check Saturation
});
// test('Chrome renders on server correctly', () => {
// const tree = renderer.create(
// <Chrome renderers={{ canvas }} { ...color.red } />
// ).toJSON()
// expect(tree).toMatchSnapshot()
// })
test('ChromeFields renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_ChromeFields2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('ChromePointer renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_ChromePointer2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('ChromePointerCircle renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_ChromePointerCircle2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Chrome renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Chrome2.default, { styles: { default: { picker: { boxShadow: 'none' } } } })).toJSON();
expect(tree.props.style.boxShadow).toBe('none');
});
test('Chrome renders correctly with width', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Chrome2.default, { width: 300 })).toJSON();
expect(tree.props.style.width).toBe(300);
});

View File

@@ -0,0 +1,27 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Chrome = require('./Chrome');
var _Chrome2 = _interopRequireDefault(_Chrome);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('ChromePicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Chrome2.default },
(0, _report.renderWithKnobs)(_Chrome2.default, {}, null)
);
});

View File

@@ -0,0 +1,103 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Circle = 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 _materialColors = require('material-colors');
var material = _interopRequireWildcard(_materialColors);
var _common = require('../common');
var _CircleSwatch = require('./CircleSwatch');
var _CircleSwatch2 = _interopRequireDefault(_CircleSwatch);
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 Circle = exports.Circle = function Circle(_ref) {
var width = _ref.width,
onChange = _ref.onChange,
onSwatchHover = _ref.onSwatchHover,
colors = _ref.colors,
hex = _ref.hex,
circleSize = _ref.circleSize,
_ref$styles = _ref.styles,
passedStyles = _ref$styles === undefined ? {} : _ref$styles,
circleSpacing = _ref.circleSpacing,
_ref$className = _ref.className,
className = _ref$className === undefined ? '' : _ref$className;
var styles = (0, _reactcss2.default)((0, _merge2.default)({
'default': {
card: {
width: width,
display: 'flex',
flexWrap: 'wrap',
marginRight: -circleSpacing,
marginBottom: -circleSpacing
}
}
}, passedStyles));
var handleChange = function handleChange(hexCode, e) {
return onChange({ hex: hexCode, source: 'hex' }, e);
};
return _react2.default.createElement(
'div',
{ style: styles.card, className: 'circle-picker ' + className },
(0, _map2.default)(colors, function (c) {
return _react2.default.createElement(_CircleSwatch2.default, {
key: c,
color: c,
onClick: handleChange,
onSwatchHover: onSwatchHover,
active: hex === c.toLowerCase(),
circleSize: circleSize,
circleSpacing: circleSpacing
});
})
);
};
Circle.propTypes = {
width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
circleSize: _propTypes2.default.number,
circleSpacing: _propTypes2.default.number,
styles: _propTypes2.default.object
};
Circle.defaultProps = {
width: 252,
circleSize: 28,
circleSpacing: 14,
colors: [material.red['500'], material.pink['500'], material.purple['500'], material.deepPurple['500'], material.indigo['500'], material.blue['500'], material.lightBlue['500'], material.cyan['500'], material.teal['500'], material.green['500'], material.lightGreen['500'], material.lime['500'], material.yellow['500'], material.amber['500'], material.orange['500'], material.deepOrange['500'], material.brown['500'], material.blueGrey['500']],
styles: {}
};
exports.default = (0, _common.ColorWrap)(Circle);

View File

@@ -0,0 +1,76 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CircleSwatch = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _common = require('../common');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var CircleSwatch = exports.CircleSwatch = function CircleSwatch(_ref) {
var color = _ref.color,
onClick = _ref.onClick,
onSwatchHover = _ref.onSwatchHover,
hover = _ref.hover,
active = _ref.active,
circleSize = _ref.circleSize,
circleSpacing = _ref.circleSpacing;
var styles = (0, _reactcss2.default)({
'default': {
swatch: {
width: circleSize,
height: circleSize,
marginRight: circleSpacing,
marginBottom: circleSpacing,
transform: 'scale(1)',
transition: '100ms transform ease'
},
Swatch: {
borderRadius: '50%',
background: 'transparent',
boxShadow: 'inset 0 0 0 ' + (circleSize / 2 + 1) + 'px ' + color,
transition: '100ms box-shadow ease'
}
},
'hover': {
swatch: {
transform: 'scale(1.2)'
}
},
'active': {
Swatch: {
boxShadow: 'inset 0 0 0 3px ' + color
}
}
}, { hover: hover, active: active });
return _react2.default.createElement(
'div',
{ style: styles.swatch },
_react2.default.createElement(_common.Swatch, {
style: styles.Swatch,
color: color,
onClick: onClick,
onHover: onSwatchHover,
focusStyle: { boxShadow: styles.Swatch.boxShadow + ', 0 0 5px ' + color }
})
);
};
CircleSwatch.defaultProps = {
circleSize: 28,
circleSpacing: 14
};
exports.default = (0, _reactcss.handleHover)(CircleSwatch);

73
node_modules/react-color/lib/components/circle/spec.js generated vendored Normal file
View File

@@ -0,0 +1,73 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _enzyme = require('enzyme');
var _Circle = require('./Circle');
var _Circle2 = _interopRequireDefault(_Circle);
var _CircleSwatch = require('./CircleSwatch');
var _CircleSwatch2 = _interopRequireDefault(_CircleSwatch);
var _common = require('../common');
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
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 }; }
test('Circle renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Circle2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
}); /* global test, jest, expect */
test('Circle onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Circle2.default, { onChange: changeSpy }));
expect(changeSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('click');
expect(changeSpy).toHaveBeenCalled();
});
test('Circle with onSwatchHover events correctly', function () {
var hoverSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Circle2.default, { onSwatchHover: hoverSpy }));
expect(hoverSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('mouseOver');
expect(hoverSpy).toHaveBeenCalled();
});
test('Circle renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Circle2.default, { styles: { default: { card: { boxShadow: 'none' } } } })).toJSON();
expect(tree.props.style.boxShadow).toBe('none');
});
test('CircleSwatch renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_CircleSwatch2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('CircleSwatch renders with sizing and spacing', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_CircleSwatch2.default, { circleSize: 40, circleSpacing: 40 })).toJSON();
expect(tree).toMatchSnapshot();
});

View File

@@ -0,0 +1,31 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Circle = require('./Circle');
var _Circle2 = _interopRequireDefault(_Circle);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('CirclePicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Circle2.default },
(0, _report.renderWithKnobs)(_Circle2.default, {}, null, {
width: { range: true, min: 140, max: 500, step: 1 },
circleSize: { range: true, min: 8, max: 72, step: 4 },
circleSpacing: { range: true, min: 7, max: 42, step: 7 }
})
);
});

162
node_modules/react-color/lib/components/common/Alpha.js generated vendored Normal file
View File

@@ -0,0 +1,162 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Alpha = 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 _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _alpha = require('../../helpers/alpha');
var alpha = _interopRequireWildcard(_alpha);
var _Checkboard = require('./Checkboard');
var _Checkboard2 = _interopRequireDefault(_Checkboard);
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 }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Alpha = exports.Alpha = function (_ref) {
_inherits(Alpha, _ref);
function Alpha() {
var _ref2;
var _temp, _this, _ret;
_classCallCheck(this, Alpha);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Alpha.__proto__ || Object.getPrototypeOf(Alpha)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e) {
var change = alpha.calculateChange(e, _this.props.hsl, _this.props.direction, _this.props.a, _this.container);
change && typeof _this.props.onChange === 'function' && _this.props.onChange(change, e);
}, _this.handleMouseDown = function (e) {
_this.handleChange(e);
window.addEventListener('mousemove', _this.handleChange);
window.addEventListener('mouseup', _this.handleMouseUp);
}, _this.handleMouseUp = function () {
_this.unbindEventListeners();
}, _this.unbindEventListeners = function () {
window.removeEventListener('mousemove', _this.handleChange);
window.removeEventListener('mouseup', _this.handleMouseUp);
}, _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(Alpha, [{
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this.unbindEventListeners();
}
}, {
key: 'render',
value: function render() {
var _this2 = this;
var rgb = this.props.rgb;
var styles = (0, _reactcss2.default)({
'default': {
alpha: {
absolute: '0px 0px 0px 0px',
borderRadius: this.props.radius
},
checkboard: {
absolute: '0px 0px 0px 0px',
overflow: 'hidden',
borderRadius: this.props.radius
},
gradient: {
absolute: '0px 0px 0px 0px',
background: 'linear-gradient(to right, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)',
boxShadow: this.props.shadow,
borderRadius: this.props.radius
},
container: {
position: 'relative',
height: '100%',
margin: '0 3px'
},
pointer: {
position: 'absolute',
left: rgb.a * 100 + '%'
},
slider: {
width: '4px',
borderRadius: '1px',
height: '8px',
boxShadow: '0 0 2px rgba(0, 0, 0, .6)',
background: '#fff',
marginTop: '1px',
transform: 'translateX(-2px)'
}
},
'vertical': {
gradient: {
background: 'linear-gradient(to bottom, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)'
},
pointer: {
left: 0,
top: rgb.a * 100 + '%'
}
},
'overwrite': _extends({}, this.props.style)
}, {
vertical: this.props.direction === 'vertical',
overwrite: true
});
return _react2.default.createElement(
'div',
{ style: styles.alpha },
_react2.default.createElement(
'div',
{ style: styles.checkboard },
_react2.default.createElement(_Checkboard2.default, { renderers: this.props.renderers })
),
_react2.default.createElement('div', { style: styles.gradient }),
_react2.default.createElement(
'div',
{
style: styles.container,
ref: function ref(container) {
return _this2.container = container;
},
onMouseDown: this.handleMouseDown,
onTouchMove: this.handleChange,
onTouchStart: this.handleChange
},
_react2.default.createElement(
'div',
{ style: styles.pointer },
this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.slider })
)
)
);
}
}]);
return Alpha;
}(_react.PureComponent || _react.Component);
exports.default = Alpha;

View File

@@ -0,0 +1,55 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Checkboard = 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 _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _checkboard = require('../../helpers/checkboard');
var checkboard = _interopRequireWildcard(_checkboard);
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 Checkboard = exports.Checkboard = function Checkboard(_ref) {
var white = _ref.white,
grey = _ref.grey,
size = _ref.size,
renderers = _ref.renderers,
borderRadius = _ref.borderRadius,
boxShadow = _ref.boxShadow,
children = _ref.children;
var styles = (0, _reactcss2.default)({
'default': {
grid: {
borderRadius: borderRadius,
boxShadow: boxShadow,
absolute: '0px 0px 0px 0px',
background: 'url(' + checkboard.get(white, grey, size, renderers.canvas) + ') center left'
}
}
});
return (0, _react.isValidElement)(children) ? _react2.default.cloneElement(children, _extends({}, children.props, { style: _extends({}, children.props.style, styles.grid) })) : _react2.default.createElement('div', { style: styles.grid });
};
Checkboard.defaultProps = {
size: 8,
white: 'transparent',
grey: 'rgba(0,0,0,.08)',
renderers: {}
};
exports.default = Checkboard;

View File

@@ -0,0 +1,105 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ColorWrap = 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 _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _debounce = require('lodash/debounce');
var _debounce2 = _interopRequireDefault(_debounce);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
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 }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var ColorWrap = exports.ColorWrap = function ColorWrap(Picker) {
var ColorPicker = function (_ref) {
_inherits(ColorPicker, _ref);
function ColorPicker(props) {
_classCallCheck(this, ColorPicker);
var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this));
_this.handleChange = function (data, event) {
var isValidColor = color.simpleCheckForValidColor(data);
if (isValidColor) {
var colors = color.toState(data, data.h || _this.state.oldHue);
_this.setState(colors);
_this.props.onChangeComplete && _this.debounce(_this.props.onChangeComplete, colors, event);
_this.props.onChange && _this.props.onChange(colors, event);
}
};
_this.handleSwatchHover = function (data, event) {
var isValidColor = color.simpleCheckForValidColor(data);
if (isValidColor) {
var colors = color.toState(data, data.h || _this.state.oldHue);
_this.props.onSwatchHover && _this.props.onSwatchHover(colors, event);
}
};
_this.state = _extends({}, color.toState(props.color, 0));
_this.debounce = (0, _debounce2.default)(function (fn, data, event) {
fn(data, event);
}, 100);
return _this;
}
_createClass(ColorPicker, [{
key: 'render',
value: function render() {
var optionalEvents = {};
if (this.props.onSwatchHover) {
optionalEvents.onSwatchHover = this.handleSwatchHover;
}
return _react2.default.createElement(Picker, _extends({}, this.props, this.state, {
onChange: this.handleChange
}, optionalEvents));
}
}], [{
key: 'getDerivedStateFromProps',
value: function getDerivedStateFromProps(nextProps, state) {
return _extends({}, color.toState(nextProps.color, state.oldHue));
}
}]);
return ColorPicker;
}(_react.PureComponent || _react.Component);
ColorPicker.propTypes = _extends({}, Picker.propTypes);
ColorPicker.defaultProps = _extends({}, Picker.defaultProps, {
color: {
h: 250,
s: 0.50,
l: 0.20,
a: 1
}
});
return ColorPicker;
};
exports.default = ColorWrap;

View File

@@ -0,0 +1,200 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.EditableInput = undefined;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var DEFAULT_ARROW_OFFSET = 1;
var UP_KEY_CODE = 38;
var DOWN_KEY_CODE = 40;
var VALID_KEY_CODES = [UP_KEY_CODE, DOWN_KEY_CODE];
var isValidKeyCode = function isValidKeyCode(keyCode) {
return VALID_KEY_CODES.indexOf(keyCode) > -1;
};
var getNumberValue = function getNumberValue(value) {
return Number(String(value).replace(/%/g, ''));
};
var idCounter = 1;
var EditableInput = exports.EditableInput = function (_ref) {
_inherits(EditableInput, _ref);
function EditableInput(props) {
_classCallCheck(this, EditableInput);
var _this = _possibleConstructorReturn(this, (EditableInput.__proto__ || Object.getPrototypeOf(EditableInput)).call(this));
_this.handleBlur = function () {
if (_this.state.blurValue) {
_this.setState({ value: _this.state.blurValue, blurValue: null });
}
};
_this.handleChange = function (e) {
_this.setUpdatedValue(e.target.value, e);
};
_this.handleKeyDown = function (e) {
// In case `e.target.value` is a percentage remove the `%` character
// and update accordingly with a percentage
// https://github.com/casesandberg/react-color/issues/383
var value = getNumberValue(e.target.value);
if (!isNaN(value) && isValidKeyCode(e.keyCode)) {
var offset = _this.getArrowOffset();
var updatedValue = e.keyCode === UP_KEY_CODE ? value + offset : value - offset;
_this.setUpdatedValue(updatedValue, e);
}
};
_this.handleDrag = function (e) {
if (_this.props.dragLabel) {
var newValue = Math.round(_this.props.value + e.movementX);
if (newValue >= 0 && newValue <= _this.props.dragMax) {
_this.props.onChange && _this.props.onChange(_this.getValueObjectWithLabel(newValue), e);
}
}
};
_this.handleMouseDown = function (e) {
if (_this.props.dragLabel) {
e.preventDefault();
_this.handleDrag(e);
window.addEventListener('mousemove', _this.handleDrag);
window.addEventListener('mouseup', _this.handleMouseUp);
}
};
_this.handleMouseUp = function () {
_this.unbindEventListeners();
};
_this.unbindEventListeners = function () {
window.removeEventListener('mousemove', _this.handleDrag);
window.removeEventListener('mouseup', _this.handleMouseUp);
};
_this.state = {
value: String(props.value).toUpperCase(),
blurValue: String(props.value).toUpperCase()
};
_this.inputId = 'rc-editable-input-' + idCounter++;
return _this;
}
_createClass(EditableInput, [{
key: 'componentDidUpdate',
value: function componentDidUpdate(prevProps, prevState) {
if (this.props.value !== this.state.value && (prevProps.value !== this.props.value || prevState.value !== this.state.value)) {
if (this.input === document.activeElement) {
this.setState({ blurValue: String(this.props.value).toUpperCase() });
} else {
this.setState({ value: String(this.props.value).toUpperCase(), blurValue: !this.state.blurValue && String(this.props.value).toUpperCase() });
}
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this.unbindEventListeners();
}
}, {
key: 'getValueObjectWithLabel',
value: function getValueObjectWithLabel(value) {
return _defineProperty({}, this.props.label, value);
}
}, {
key: 'getArrowOffset',
value: function getArrowOffset() {
return this.props.arrowOffset || DEFAULT_ARROW_OFFSET;
}
}, {
key: 'setUpdatedValue',
value: function setUpdatedValue(value, e) {
var onChangeValue = this.props.label ? this.getValueObjectWithLabel(value) : value;
this.props.onChange && this.props.onChange(onChangeValue, e);
this.setState({ value: value });
}
}, {
key: 'render',
value: function render() {
var _this2 = this;
var styles = (0, _reactcss2.default)({
'default': {
wrap: {
position: 'relative'
}
},
'user-override': {
wrap: this.props.style && this.props.style.wrap ? this.props.style.wrap : {},
input: this.props.style && this.props.style.input ? this.props.style.input : {},
label: this.props.style && this.props.style.label ? this.props.style.label : {}
},
'dragLabel-true': {
label: {
cursor: 'ew-resize'
}
}
}, {
'user-override': true
}, this.props);
return _react2.default.createElement(
'div',
{ style: styles.wrap },
_react2.default.createElement('input', {
id: this.inputId,
style: styles.input,
ref: function ref(input) {
return _this2.input = input;
},
value: this.state.value,
onKeyDown: this.handleKeyDown,
onChange: this.handleChange,
onBlur: this.handleBlur,
placeholder: this.props.placeholder,
spellCheck: 'false'
}),
this.props.label && !this.props.hideLabel ? _react2.default.createElement(
'label',
{
htmlFor: this.inputId,
style: styles.label,
onMouseDown: this.handleMouseDown
},
this.props.label
) : null
);
}
}]);
return EditableInput;
}(_react.PureComponent || _react.Component);
exports.default = EditableInput;

146
node_modules/react-color/lib/components/common/Hue.js generated vendored Normal file
View File

@@ -0,0 +1,146 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Hue = undefined;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _hue = require('../../helpers/hue');
var hue = _interopRequireWildcard(_hue);
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 }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Hue = exports.Hue = function (_ref) {
_inherits(Hue, _ref);
function Hue() {
var _ref2;
var _temp, _this, _ret;
_classCallCheck(this, Hue);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Hue.__proto__ || Object.getPrototypeOf(Hue)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e) {
var change = hue.calculateChange(e, _this.props.direction, _this.props.hsl, _this.container);
change && typeof _this.props.onChange === 'function' && _this.props.onChange(change, e);
}, _this.handleMouseDown = function (e) {
_this.handleChange(e);
window.addEventListener('mousemove', _this.handleChange);
window.addEventListener('mouseup', _this.handleMouseUp);
}, _this.handleMouseUp = function () {
_this.unbindEventListeners();
}, _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(Hue, [{
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this.unbindEventListeners();
}
}, {
key: 'unbindEventListeners',
value: function unbindEventListeners() {
window.removeEventListener('mousemove', this.handleChange);
window.removeEventListener('mouseup', this.handleMouseUp);
}
}, {
key: 'render',
value: function render() {
var _this2 = this;
var _props$direction = this.props.direction,
direction = _props$direction === undefined ? 'horizontal' : _props$direction;
var styles = (0, _reactcss2.default)({
'default': {
hue: {
absolute: '0px 0px 0px 0px',
borderRadius: this.props.radius,
boxShadow: this.props.shadow
},
container: {
padding: '0 2px',
position: 'relative',
height: '100%',
borderRadius: this.props.radius
},
pointer: {
position: 'absolute',
left: this.props.hsl.h * 100 / 360 + '%'
},
slider: {
marginTop: '1px',
width: '4px',
borderRadius: '1px',
height: '8px',
boxShadow: '0 0 2px rgba(0, 0, 0, .6)',
background: '#fff',
transform: 'translateX(-2px)'
}
},
'vertical': {
pointer: {
left: '0px',
top: -(this.props.hsl.h * 100 / 360) + 100 + '%'
}
}
}, { vertical: direction === 'vertical' });
return _react2.default.createElement(
'div',
{ style: styles.hue },
_react2.default.createElement(
'div',
{
className: 'hue-' + direction,
style: styles.container,
ref: function ref(container) {
return _this2.container = container;
},
onMouseDown: this.handleMouseDown,
onTouchMove: this.handleChange,
onTouchStart: this.handleChange
},
_react2.default.createElement(
'style',
null,
'\n .hue-horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n background: -webkit-linear-gradient(to right, #f00 0%, #ff0\n 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n\n .hue-vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\n #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n '
),
_react2.default.createElement(
'div',
{ style: styles.pointer },
this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.slider })
)
)
);
}
}]);
return Hue;
}(_react.PureComponent || _react.Component);
exports.default = Hue;

View File

@@ -0,0 +1,119 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Raised = 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);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Raised = exports.Raised = function Raised(_ref) {
var zDepth = _ref.zDepth,
radius = _ref.radius,
background = _ref.background,
children = _ref.children,
_ref$styles = _ref.styles,
passedStyles = _ref$styles === undefined ? {} : _ref$styles;
var styles = (0, _reactcss2.default)((0, _merge2.default)({
'default': {
wrap: {
position: 'relative',
display: 'inline-block'
},
content: {
position: 'relative'
},
bg: {
absolute: '0px 0px 0px 0px',
boxShadow: '0 ' + zDepth + 'px ' + zDepth * 4 + 'px rgba(0,0,0,.24)',
borderRadius: radius,
background: background
}
},
'zDepth-0': {
bg: {
boxShadow: 'none'
}
},
'zDepth-1': {
bg: {
boxShadow: '0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)'
}
},
'zDepth-2': {
bg: {
boxShadow: '0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)'
}
},
'zDepth-3': {
bg: {
boxShadow: '0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)'
}
},
'zDepth-4': {
bg: {
boxShadow: '0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)'
}
},
'zDepth-5': {
bg: {
boxShadow: '0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)'
}
},
'square': {
bg: {
borderRadius: '0'
}
},
'circle': {
bg: {
borderRadius: '50%'
}
}
}, passedStyles), { 'zDepth-1': zDepth === 1 });
return _react2.default.createElement(
'div',
{ style: styles.wrap },
_react2.default.createElement('div', { style: styles.bg }),
_react2.default.createElement(
'div',
{ style: styles.content },
children
)
);
};
Raised.propTypes = {
background: _propTypes2.default.string,
zDepth: _propTypes2.default.oneOf([0, 1, 2, 3, 4, 5]),
radius: _propTypes2.default.number,
styles: _propTypes2.default.object
};
Raised.defaultProps = {
background: '#fff',
zDepth: 1,
radius: 2,
styles: {}
};
exports.default = Raised;

View File

@@ -0,0 +1,174 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Saturation = undefined;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _throttle = require('lodash/throttle');
var _throttle2 = _interopRequireDefault(_throttle);
var _saturation = require('../../helpers/saturation');
var saturation = _interopRequireWildcard(_saturation);
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 }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Saturation = exports.Saturation = function (_ref) {
_inherits(Saturation, _ref);
function Saturation(props) {
_classCallCheck(this, Saturation);
var _this = _possibleConstructorReturn(this, (Saturation.__proto__ || Object.getPrototypeOf(Saturation)).call(this, props));
_this.handleChange = function (e) {
typeof _this.props.onChange === 'function' && _this.throttle(_this.props.onChange, saturation.calculateChange(e, _this.props.hsl, _this.container), e);
};
_this.handleMouseDown = function (e) {
_this.handleChange(e);
var renderWindow = _this.getContainerRenderWindow();
renderWindow.addEventListener('mousemove', _this.handleChange);
renderWindow.addEventListener('mouseup', _this.handleMouseUp);
};
_this.handleMouseUp = function () {
_this.unbindEventListeners();
};
_this.throttle = (0, _throttle2.default)(function (fn, data, e) {
fn(data, e);
}, 50);
return _this;
}
_createClass(Saturation, [{
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this.throttle.cancel();
this.unbindEventListeners();
}
}, {
key: 'getContainerRenderWindow',
value: function getContainerRenderWindow() {
var container = this.container;
var renderWindow = window;
while (!renderWindow.document.contains(container) && renderWindow.parent !== renderWindow) {
renderWindow = renderWindow.parent;
}
return renderWindow;
}
}, {
key: 'unbindEventListeners',
value: function unbindEventListeners() {
var renderWindow = this.getContainerRenderWindow();
renderWindow.removeEventListener('mousemove', this.handleChange);
renderWindow.removeEventListener('mouseup', this.handleMouseUp);
}
}, {
key: 'render',
value: function render() {
var _this2 = this;
var _ref2 = this.props.style || {},
color = _ref2.color,
white = _ref2.white,
black = _ref2.black,
pointer = _ref2.pointer,
circle = _ref2.circle;
var styles = (0, _reactcss2.default)({
'default': {
color: {
absolute: '0px 0px 0px 0px',
background: 'hsl(' + this.props.hsl.h + ',100%, 50%)',
borderRadius: this.props.radius
},
white: {
absolute: '0px 0px 0px 0px',
borderRadius: this.props.radius
},
black: {
absolute: '0px 0px 0px 0px',
boxShadow: this.props.shadow,
borderRadius: this.props.radius
},
pointer: {
position: 'absolute',
top: -(this.props.hsv.v * 100) + 100 + '%',
left: this.props.hsv.s * 100 + '%',
cursor: 'default'
},
circle: {
width: '4px',
height: '4px',
boxShadow: '0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\n 0 0 1px 2px rgba(0,0,0,.4)',
borderRadius: '50%',
cursor: 'hand',
transform: 'translate(-2px, -2px)'
}
},
'custom': {
color: color,
white: white,
black: black,
pointer: pointer,
circle: circle
}
}, { 'custom': !!this.props.style });
return _react2.default.createElement(
'div',
{
style: styles.color,
ref: function ref(container) {
return _this2.container = container;
},
onMouseDown: this.handleMouseDown,
onTouchMove: this.handleChange,
onTouchStart: this.handleChange
},
_react2.default.createElement(
'style',
null,
'\n .saturation-white {\n background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n }\n .saturation-black {\n background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n }\n '
),
_react2.default.createElement(
'div',
{ style: styles.white, className: 'saturation-white' },
_react2.default.createElement('div', { style: styles.black, className: 'saturation-black' }),
_react2.default.createElement(
'div',
{ style: styles.pointer },
this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.circle })
)
)
);
}
}]);
return Saturation;
}(_react.PureComponent || _react.Component);
exports.default = Saturation;

View File

@@ -0,0 +1,87 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Swatch = 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 _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _interaction = require('../../helpers/interaction');
var _Checkboard = require('./Checkboard');
var _Checkboard2 = _interopRequireDefault(_Checkboard);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ENTER = 13;
var Swatch = exports.Swatch = function Swatch(_ref) {
var color = _ref.color,
style = _ref.style,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,
onHover = _ref.onHover,
_ref$title = _ref.title,
title = _ref$title === undefined ? color : _ref$title,
children = _ref.children,
focus = _ref.focus,
_ref$focusStyle = _ref.focusStyle,
focusStyle = _ref$focusStyle === undefined ? {} : _ref$focusStyle;
var transparent = color === 'transparent';
var styles = (0, _reactcss2.default)({
default: {
swatch: _extends({
background: color,
height: '100%',
width: '100%',
cursor: 'pointer',
position: 'relative',
outline: 'none'
}, style, focus ? focusStyle : {})
}
});
var handleClick = function handleClick(e) {
return onClick(color, e);
};
var handleKeyDown = function handleKeyDown(e) {
return e.keyCode === ENTER && onClick(color, e);
};
var handleHover = function handleHover(e) {
return onHover(color, e);
};
var optionalEvents = {};
if (onHover) {
optionalEvents.onMouseOver = handleHover;
}
return _react2.default.createElement(
'div',
_extends({
style: styles.swatch,
onClick: handleClick,
title: title,
tabIndex: 0,
onKeyDown: handleKeyDown
}, optionalEvents),
children,
transparent && _react2.default.createElement(_Checkboard2.default, {
borderRadius: styles.swatch.borderRadius,
boxShadow: 'inset 0 0 0 1px rgba(0,0,0,0.1)'
})
);
};
exports.default = (0, _interaction.handleFocus)(Swatch);

View File

@@ -0,0 +1,79 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Alpha = require('./Alpha');
Object.defineProperty(exports, 'Alpha', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Alpha).default;
}
});
var _Checkboard = require('./Checkboard');
Object.defineProperty(exports, 'Checkboard', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Checkboard).default;
}
});
var _EditableInput = require('./EditableInput');
Object.defineProperty(exports, 'EditableInput', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_EditableInput).default;
}
});
var _Hue = require('./Hue');
Object.defineProperty(exports, 'Hue', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Hue).default;
}
});
var _Raised = require('./Raised');
Object.defineProperty(exports, 'Raised', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Raised).default;
}
});
var _Saturation = require('./Saturation');
Object.defineProperty(exports, 'Saturation', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Saturation).default;
}
});
var _ColorWrap = require('./ColorWrap');
Object.defineProperty(exports, 'ColorWrap', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_ColorWrap).default;
}
});
var _Swatch = require('./Swatch');
Object.defineProperty(exports, 'Swatch', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Swatch).default;
}
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

108
node_modules/react-color/lib/components/common/spec.js generated vendored Normal file
View File

@@ -0,0 +1,108 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _color = require('../../helpers/color');
var _Alpha = require('./Alpha');
var _Alpha2 = _interopRequireDefault(_Alpha);
var _Checkboard = require('./Checkboard');
var _Checkboard2 = _interopRequireDefault(_Checkboard);
var _EditableInput = require('./EditableInput');
var _EditableInput2 = _interopRequireDefault(_EditableInput);
var _Hue = require('./Hue');
var _Hue2 = _interopRequireDefault(_Hue);
var _Saturation = require('./Saturation');
var _Saturation2 = _interopRequireDefault(_Saturation);
var _Swatch = require('./Swatch');
var _Swatch2 = _interopRequireDefault(_Swatch);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// import canvas from 'canvas'
test('Alpha renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Alpha2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
// test('Alpha renders on server correctly', () => {
// const tree = renderer.create(
// <Alpha renderers={{ canvas }} { ...red } />
// ).toJSON()
// expect(tree).toMatchSnapshot()
// })
/* global test, jest, expect */
test('Checkboard renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Checkboard2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Checkboard renders children correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(
_Checkboard2.default,
null,
_react2.default.createElement(
'button',
null,
'Click'
)
)).toJSON();
expect(tree).toMatchSnapshot();
});
// test('Checkboard renders on server correctly', () => {
// const tree = renderer.create(
// <Checkboard renderers={{ canvas }} />
// ).toJSON()
// expect(tree).toMatchSnapshot()
// })
test('EditableInput renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_EditableInput2.default, { label: 'Hex', placeholder: '#fff' })).toJSON();
expect(tree).toMatchSnapshot();
});
test('Hue renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Hue2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Saturation renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Saturation2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Swatch renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Swatch2.default, { color: '#333', style: { opacity: '0.4' } })).toJSON();
expect(tree).toMatchSnapshot();
});
test('Swatch renders custom title correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Swatch2.default, { color: '#fff', title: 'white' })).toJSON();
expect(tree).toMatchSnapshot();
});
test('Swatch renders with an onMouseOver handler correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Swatch2.default, { color: '#fff', title: 'white', onHover: function onHover() {} })).toJSON();
expect(tree).toMatchSnapshot();
});

View File

@@ -0,0 +1,121 @@
'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);

View File

@@ -0,0 +1,85 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CompactColor = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _color = require('../../helpers/color');
var colorUtils = _interopRequireWildcard(_color);
var _common = require('../common');
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 CompactColor = exports.CompactColor = function CompactColor(_ref) {
var color = _ref.color,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,
onSwatchHover = _ref.onSwatchHover,
active = _ref.active;
var styles = (0, _reactcss2.default)({
'default': {
color: {
background: color,
width: '15px',
height: '15px',
float: 'left',
marginRight: '5px',
marginBottom: '5px',
position: 'relative',
cursor: 'pointer'
},
dot: {
absolute: '5px 5px 5px 5px',
background: colorUtils.getContrastingColor(color),
borderRadius: '50%',
opacity: '0'
}
},
'active': {
dot: {
opacity: '1'
}
},
'color-#FFFFFF': {
color: {
boxShadow: 'inset 0 0 0 1px #ddd'
},
dot: {
background: '#000'
}
},
'transparent': {
dot: {
background: '#000'
}
}
}, { active: active, 'color-#FFFFFF': color === '#FFFFFF', 'transparent': color === 'transparent' });
return _react2.default.createElement(
_common.Swatch,
{
style: styles.color,
color: color,
onClick: onClick,
onHover: onSwatchHover,
focusStyle: { boxShadow: '0 0 4px ' + color }
},
_react2.default.createElement('div', { style: styles.dot })
);
};
exports.default = CompactColor;

View File

@@ -0,0 +1,133 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CompactFields = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _common = require('../common');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var CompactFields = exports.CompactFields = function CompactFields(_ref) {
var hex = _ref.hex,
rgb = _ref.rgb,
onChange = _ref.onChange;
var styles = (0, _reactcss2.default)({
'default': {
fields: {
display: 'flex',
paddingBottom: '6px',
paddingRight: '5px',
position: 'relative'
},
active: {
position: 'absolute',
top: '6px',
left: '5px',
height: '9px',
width: '9px',
background: hex
},
HEXwrap: {
flex: '6',
position: 'relative'
},
HEXinput: {
width: '80%',
padding: '0px',
paddingLeft: '20%',
border: 'none',
outline: 'none',
background: 'none',
fontSize: '12px',
color: '#333',
height: '16px'
},
HEXlabel: {
display: 'none'
},
RGBwrap: {
flex: '3',
position: 'relative'
},
RGBinput: {
width: '70%',
padding: '0px',
paddingLeft: '30%',
border: 'none',
outline: 'none',
background: 'none',
fontSize: '12px',
color: '#333',
height: '16px'
},
RGBlabel: {
position: 'absolute',
top: '3px',
left: '0px',
lineHeight: '16px',
textTransform: 'uppercase',
fontSize: '12px',
color: '#999'
}
}
});
var handleChange = function handleChange(data, e) {
if (data.r || data.g || data.b) {
onChange({
r: data.r || rgb.r,
g: data.g || rgb.g,
b: data.b || rgb.b,
source: 'rgb'
}, e);
} else {
onChange({
hex: data.hex,
source: 'hex'
}, e);
}
};
return _react2.default.createElement(
'div',
{ style: styles.fields, className: 'flexbox-fix' },
_react2.default.createElement('div', { style: styles.active }),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },
label: 'hex',
value: hex,
onChange: handleChange
}),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'r',
value: rgb.r,
onChange: handleChange
}),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'g',
value: rgb.g,
onChange: handleChange
}),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'b',
value: rgb.b,
onChange: handleChange
})
);
};
exports.default = CompactFields;

View File

@@ -0,0 +1,84 @@
'use strict';
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; }; /* global test, jest, expect */
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _enzyme = require('enzyme');
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _Compact = require('./Compact');
var _Compact2 = _interopRequireDefault(_Compact);
var _CompactColor = require('./CompactColor');
var _CompactColor2 = _interopRequireDefault(_CompactColor);
var _CompactFields = require('./CompactFields');
var _CompactFields2 = _interopRequireDefault(_CompactFields);
var _common = require('../common');
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 }; }
test('Compact renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Compact2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Compact with onSwatchHover renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Compact2.default, _extends({}, color.red, { onSwatchHover: function onSwatchHover() {} }))).toJSON();
expect(tree).toMatchSnapshot();
});
test('Compact onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Compact2.default, _extends({}, color.red, { onChange: changeSpy })));
expect(changeSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('click');
expect(changeSpy).toHaveBeenCalled();
});
test('Compact with onSwatchHover events correctly', function () {
var hoverSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Compact2.default, _extends({}, color.red, { onSwatchHover: hoverSpy })));
expect(hoverSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('mouseOver');
expect(hoverSpy).toHaveBeenCalled();
});
test('CompactColor renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_CompactColor2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('CompactFields renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_CompactFields2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Compact renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Compact2.default, _extends({}, color.red, { styles: { default: { wrap: { boxShadow: '0 0 10px red' } } } }))).toJSON();
expect(tree.props.style.boxShadow).toBe('0 0 10px red');
});

View File

@@ -0,0 +1,31 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Compact = require('./Compact');
var _Compact2 = _interopRequireDefault(_Compact);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('CompactPicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Compact2.default },
(0, _report.renderWithKnobs)(_Compact2.default, {}, null, {
width: { range: true, min: 140, max: 500, step: 1 },
circleSize: { range: true, min: 8, max: 72, step: 4 },
circleSpacing: { range: true, min: 7, max: 42, step: 7 }
})
);
});

View File

@@ -0,0 +1,165 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Github = 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 _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,
onSwatchHover = _ref.onSwatchHover,
triangle = _ref.triangle,
_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': {
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'
}
},
'bottom-left-triangle': {
triangle: {
top: '35px',
left: '10px',
transform: 'rotate(180deg)'
},
triangleShadow: {
top: '37px',
left: '9px',
transform: 'rotate(180deg)'
}
},
'bottom-right-triangle': {
triangle: {
top: '35px',
right: '10px',
transform: 'rotate(180deg)'
},
triangleShadow: {
top: '37px',
right: '9px',
transform: 'rotate(180deg)'
}
}
}, passedStyles), {
'hide-triangle': triangle === 'hide',
'top-left-triangle': triangle === 'top-left',
'top-right-triangle': triangle === 'top-right',
'bottom-left-triangle': triangle === 'bottom-left',
'bottom-right-triangle': triangle === 'bottom-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 ' + className },
_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,
onSwatchHover: onSwatchHover
});
})
);
};
Github.propTypes = {
width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
colors: _propTypes2.default.arrayOf(_propTypes2.default.string),
triangle: _propTypes2.default.oneOf(['hide', 'top-left', 'top-right', 'bottom-left', 'bottom-right']),
styles: _propTypes2.default.object
};
Github.defaultProps = {
width: 200,
colors: ['#B80000', '#DB3E00', '#FCCB00', '#008B02', '#006B76', '#1273DE', '#004DCF', '#5300EB', '#EB9694', '#FAD0C3', '#FEF3BD', '#C1E1C5', '#BEDADC', '#C4DEF6', '#BED3F3', '#D4C4FB'],
triangle: 'top-left',
styles: {}
};
exports.default = (0, _common.ColorWrap)(Github);

View File

@@ -0,0 +1,58 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GithubSwatch = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _common = require('../common');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var GithubSwatch = exports.GithubSwatch = function GithubSwatch(_ref) {
var hover = _ref.hover,
color = _ref.color,
onClick = _ref.onClick,
onSwatchHover = _ref.onSwatchHover;
var hoverSwatch = {
position: 'relative',
zIndex: '2',
outline: '2px solid #fff',
boxShadow: '0 0 5px 2px rgba(0,0,0,0.25)'
};
var styles = (0, _reactcss2.default)({
'default': {
swatch: {
width: '25px',
height: '25px',
fontSize: '0'
}
},
'hover': {
swatch: hoverSwatch
}
}, { hover: hover });
return _react2.default.createElement(
'div',
{ style: styles.swatch },
_react2.default.createElement(_common.Swatch, {
color: color,
onClick: onClick,
onHover: onSwatchHover,
focusStyle: hoverSwatch
})
);
};
exports.default = (0, _reactcss.handleHover)(GithubSwatch);

80
node_modules/react-color/lib/components/github/spec.js generated vendored Normal file
View File

@@ -0,0 +1,80 @@
'use strict';
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; }; /* global test, jest, expect */
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _enzyme = require('enzyme');
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _Github = require('./Github');
var _Github2 = _interopRequireDefault(_Github);
var _GithubSwatch = require('./GithubSwatch');
var _GithubSwatch2 = _interopRequireDefault(_GithubSwatch);
var _common = require('../common');
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 }; }
test('Github renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Github2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Github onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Github2.default, { onChange: changeSpy }));
expect(changeSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('click');
expect(changeSpy).toHaveBeenCalled();
});
test('Github with onSwatchHover events correctly', function () {
var hoverSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Github2.default, { onSwatchHover: hoverSpy }));
expect(hoverSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('mouseOver');
expect(hoverSpy).toHaveBeenCalled();
});
test('Github `triangle="hide"`', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Github2.default, _extends({}, color.red, { triangle: 'hide' }))).toJSON();
expect(tree).toMatchSnapshot();
});
test('Github `triangle="top-right"`', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Github2.default, _extends({}, color.red, { triangle: 'top-right' }))).toJSON();
expect(tree).toMatchSnapshot();
});
test('Github renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Github2.default, _extends({}, color.red, { styles: { default: { card: { boxShadow: '0 0 10px red' } } } }))).toJSON();
expect(tree.props.style.boxShadow).toBe('0 0 10px red');
});
test('GithubSwatch renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_GithubSwatch2.default, { color: '#333' })).toJSON();
expect(tree).toMatchSnapshot();
});

View File

@@ -0,0 +1,29 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Github = require('./Github');
var _Github2 = _interopRequireDefault(_Github);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('GithubPicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Github2.default },
(0, _report.renderWithKnobs)(_Github2.default, {}, null, {
width: { range: true, min: 140, max: 500, step: 1 }
})
);
});

View File

@@ -0,0 +1,173 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Google = 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 _GooglePointerCircle = require('./GooglePointerCircle');
var _GooglePointerCircle2 = _interopRequireDefault(_GooglePointerCircle);
var _GooglePointer = require('./GooglePointer');
var _GooglePointer2 = _interopRequireDefault(_GooglePointer);
var _GoogleFields = require('./GoogleFields');
var _GoogleFields2 = _interopRequireDefault(_GoogleFields);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Google = exports.Google = function Google(_ref) {
var width = _ref.width,
onChange = _ref.onChange,
rgb = _ref.rgb,
hsl = _ref.hsl,
hsv = _ref.hsv,
hex = _ref.hex,
header = _ref.header,
_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': {
picker: {
width: width,
background: '#fff',
border: '1px solid #dfe1e5',
boxSizing: 'initial',
display: 'flex',
flexWrap: 'wrap',
borderRadius: '8px 8px 0px 0px'
},
head: {
height: '57px',
width: '100%',
paddingTop: '16px',
paddingBottom: '16px',
paddingLeft: '16px',
fontSize: '20px',
boxSizing: 'border-box',
fontFamily: 'Roboto-Regular,HelveticaNeue,Arial,sans-serif'
},
saturation: {
width: '70%',
padding: '0px',
position: 'relative',
overflow: 'hidden'
},
swatch: {
width: '30%',
height: '228px',
padding: '0px',
background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', 1)',
position: 'relative',
overflow: 'hidden'
},
body: {
margin: 'auto',
width: '95%'
},
controls: {
display: 'flex',
boxSizing: 'border-box',
height: '52px',
paddingTop: '22px'
},
color: {
width: '32px'
},
hue: {
height: '8px',
position: 'relative',
margin: '0px 16px 0px 16px',
width: '100%'
},
Hue: {
radius: '2px'
}
}
}, passedStyles));
return _react2.default.createElement(
'div',
{ style: styles.picker, className: 'google-picker ' + className },
_react2.default.createElement(
'div',
{ style: styles.head },
header
),
_react2.default.createElement('div', { style: styles.swatch }),
_react2.default.createElement(
'div',
{ style: styles.saturation },
_react2.default.createElement(_common.Saturation, {
hsl: hsl,
hsv: hsv,
pointer: _GooglePointerCircle2.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.hue },
_react2.default.createElement(_common.Hue, {
style: styles.Hue,
hsl: hsl,
radius: '4px',
pointer: _GooglePointer2.default,
onChange: onChange
})
)
),
_react2.default.createElement(_GoogleFields2.default, {
rgb: rgb,
hsl: hsl,
hex: hex,
hsv: hsv,
onChange: onChange
})
)
);
};
Google.propTypes = {
width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
styles: _propTypes2.default.object,
header: _propTypes2.default.string
};
Google.defaultProps = {
width: 652,
styles: {},
header: 'Color picker'
};
exports.default = (0, _common.ColorWrap)(Google);

View File

@@ -0,0 +1,224 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GoogleFields = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _common = require('../common');
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 GoogleFields = exports.GoogleFields = function GoogleFields(_ref) {
var onChange = _ref.onChange,
rgb = _ref.rgb,
hsl = _ref.hsl,
hex = _ref.hex,
hsv = _ref.hsv;
var handleChange = function handleChange(data, e) {
if (data.hex) {
color.isValidHex(data.hex) && onChange({
hex: data.hex,
source: 'hex'
}, e);
} else if (data.rgb) {
var values = data.rgb.split(',');
color.isvalidColorString(data.rgb, 'rgb') && onChange({
r: values[0],
g: values[1],
b: values[2],
a: 1,
source: 'rgb'
}, e);
} else if (data.hsv) {
var _values = data.hsv.split(',');
if (color.isvalidColorString(data.hsv, 'hsv')) {
_values[2] = _values[2].replace('%', '');
_values[1] = _values[1].replace('%', '');
_values[0] = _values[0].replace('°', '');
if (_values[1] == 1) {
_values[1] = 0.01;
} else if (_values[2] == 1) {
_values[2] = 0.01;
}
onChange({
h: Number(_values[0]),
s: Number(_values[1]),
v: Number(_values[2]),
source: 'hsv'
}, e);
}
} else if (data.hsl) {
var _values2 = data.hsl.split(',');
if (color.isvalidColorString(data.hsl, 'hsl')) {
_values2[2] = _values2[2].replace('%', '');
_values2[1] = _values2[1].replace('%', '');
_values2[0] = _values2[0].replace('°', '');
if (hsvValue[1] == 1) {
hsvValue[1] = 0.01;
} else if (hsvValue[2] == 1) {
hsvValue[2] = 0.01;
}
onChange({
h: Number(_values2[0]),
s: Number(_values2[1]),
v: Number(_values2[2]),
source: 'hsl'
}, e);
}
}
};
var styles = (0, _reactcss2.default)({
'default': {
wrap: {
display: 'flex',
height: '100px',
marginTop: '4px'
},
fields: {
width: '100%'
},
column: {
paddingTop: '10px',
display: 'flex',
justifyContent: 'space-between'
},
double: {
padding: '0px 4.4px',
boxSizing: 'border-box'
},
input: {
width: '100%',
height: '38px',
boxSizing: 'border-box',
padding: '4px 10% 3px',
textAlign: 'center',
border: '1px solid #dadce0',
fontSize: '11px',
textTransform: 'lowercase',
borderRadius: '5px',
outline: 'none',
fontFamily: 'Roboto,Arial,sans-serif'
},
input2: {
height: '38px',
width: '100%',
border: '1px solid #dadce0',
boxSizing: 'border-box',
fontSize: '11px',
textTransform: 'lowercase',
borderRadius: '5px',
outline: 'none',
paddingLeft: '10px',
fontFamily: 'Roboto,Arial,sans-serif'
},
label: {
textAlign: 'center',
fontSize: '12px',
background: '#fff',
position: 'absolute',
textTransform: 'uppercase',
color: '#3c4043',
width: '35px',
top: '-6px',
left: '0',
right: '0',
marginLeft: 'auto',
marginRight: 'auto',
fontFamily: 'Roboto,Arial,sans-serif'
},
label2: {
left: '10px',
textAlign: 'center',
fontSize: '12px',
background: '#fff',
position: 'absolute',
textTransform: 'uppercase',
color: '#3c4043',
width: '32px',
top: '-6px',
fontFamily: 'Roboto,Arial,sans-serif'
},
single: {
flexGrow: '1',
margin: '0px 4.4px'
}
}
});
var rgbValue = rgb.r + ', ' + rgb.g + ', ' + rgb.b;
var hslValue = Math.round(hsl.h) + '\xB0, ' + Math.round(hsl.s * 100) + '%, ' + Math.round(hsl.l * 100) + '%';
var hsvValue = Math.round(hsv.h) + '\xB0, ' + Math.round(hsv.s * 100) + '%, ' + Math.round(hsv.v * 100) + '%';
return _react2.default.createElement(
'div',
{ style: styles.wrap, className: 'flexbox-fix' },
_react2.default.createElement(
'div',
{ style: styles.fields },
_react2.default.createElement(
'div',
{ style: styles.double },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'hex',
value: hex,
onChange: handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.column },
_react2.default.createElement(
'div',
{ style: styles.single },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input2, label: styles.label2 },
label: 'rgb',
value: rgbValue,
onChange: handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.single },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input2, label: styles.label2 },
label: 'hsv',
value: hsvValue,
onChange: handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.single },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input2, label: styles.label2 },
label: 'hsl',
value: hslValue,
onChange: handleChange
})
)
)
)
);
};
exports.default = GoogleFields;

View File

@@ -0,0 +1,52 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GooglePointer = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var GooglePointer = exports.GooglePointer = function GooglePointer(props) {
var styles = (0, _reactcss2.default)({
'default': {
picker: {
width: '20px',
height: '20px',
borderRadius: '22px',
transform: 'translate(-10px, -7px)',
background: 'hsl(' + Math.round(props.hsl.h) + ', 100%, 50%)',
border: '2px white solid'
}
}
});
return _react2.default.createElement('div', { style: styles.picker });
};
GooglePointer.propTypes = {
hsl: _propTypes2.default.shape({
h: _propTypes2.default.number,
s: _propTypes2.default.number,
l: _propTypes2.default.number,
a: _propTypes2.default.number
})
};
GooglePointer.defaultProps = {
hsl: { a: 1, h: 249.94, l: 0.2, s: 0.50 }
};
exports.default = GooglePointer;

View File

@@ -0,0 +1,52 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GooglePointerCircle = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var GooglePointerCircle = exports.GooglePointerCircle = function GooglePointerCircle(props) {
var styles = (0, _reactcss2.default)({
'default': {
picker: {
width: '20px',
height: '20px',
borderRadius: '22px',
border: '2px #fff solid',
transform: 'translate(-12px, -13px)',
background: 'hsl(' + Math.round(props.hsl.h) + ', ' + Math.round(props.hsl.s * 100) + '%, ' + Math.round(props.hsl.l * 100) + '%)'
}
}
});
return _react2.default.createElement('div', { style: styles.picker });
};
GooglePointerCircle.propTypes = {
hsl: _propTypes2.default.shape({
h: _propTypes2.default.number,
s: _propTypes2.default.number,
l: _propTypes2.default.number,
a: _propTypes2.default.number
})
};
GooglePointerCircle.defaultProps = {
hsl: { a: 1, h: 249.94, l: 0.2, s: 0.50 }
};
exports.default = GooglePointerCircle;

79
node_modules/react-color/lib/components/google/spec.js generated vendored Normal file
View File

@@ -0,0 +1,79 @@
'use strict';
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 _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _enzyme = require('enzyme');
var _Google = require('./Google');
var _Google2 = _interopRequireDefault(_Google);
var _GoogleFields = require('./GoogleFields');
var _GoogleFields2 = _interopRequireDefault(_GoogleFields);
var _GooglePointer = require('./GooglePointer');
var _GooglePointer2 = _interopRequireDefault(_GooglePointer);
var _GooglePointerCircle = require('./GooglePointerCircle');
var _GooglePointerCircle2 = _interopRequireDefault(_GooglePointerCircle);
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 }; }
test('Google renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Google2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Google onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Google2.default, _extends({}, color.red, { onChange: changeSpy })));
expect(changeSpy).toHaveBeenCalledTimes(0);
});
test('GoogleFields renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_GoogleFields2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('GooglePointer renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_GooglePointer2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('GooglePointerCircle renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_GooglePointerCircle2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Google renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Google2.default, { styles: { default: { picker: { width: '200px' } } } })).toJSON();
expect(tree.props.style.width).toBe('200px');
});
test('Google renders correctly with width', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Google2.default, { width: 200 })).toJSON();
expect(tree.props.style.width).toBe(200);
});
test('Google custom header correctly', function () {
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Google2.default, { header: 'Change the color!!!' }));
expect(tree.instance().props.header).toBe('Change the color!!!');
});

View File

@@ -0,0 +1,27 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Google = require('./Google');
var _Google2 = _interopRequireDefault(_Google);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('GooglePicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Google2.default },
(0, _report.renderWithKnobs)(_Google2.default, {}, null)
);
});

87
node_modules/react-color/lib/components/hue/Hue.js generated vendored Normal file
View File

@@ -0,0 +1,87 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.HuePicker = 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 _HuePointer = require('./HuePointer');
var _HuePointer2 = _interopRequireDefault(_HuePointer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var HuePicker = exports.HuePicker = function HuePicker(_ref) {
var width = _ref.width,
height = _ref.height,
onChange = _ref.onChange,
hsl = _ref.hsl,
direction = _ref.direction,
pointer = _ref.pointer,
_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': {
picker: {
position: 'relative',
width: width,
height: height
},
hue: {
radius: '2px'
}
}
}, passedStyles));
// Overwrite to provide pure hue color
var handleChange = function handleChange(data) {
return onChange({ a: 1, h: data.h, l: 0.5, s: 1 });
};
return _react2.default.createElement(
'div',
{ style: styles.picker, className: 'hue-picker ' + className },
_react2.default.createElement(_common.Hue, _extends({}, styles.hue, {
hsl: hsl,
pointer: pointer,
onChange: handleChange,
direction: direction
}))
);
};
HuePicker.propTypes = {
styles: _propTypes2.default.object
};
HuePicker.defaultProps = {
width: '316px',
height: '16px',
direction: 'horizontal',
pointer: _HuePointer2.default,
styles: {}
};
exports.default = (0, _common.ColorWrap)(HuePicker);

View File

@@ -0,0 +1,42 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SliderPointer = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SliderPointer = exports.SliderPointer = function SliderPointer(_ref) {
var direction = _ref.direction;
var styles = (0, _reactcss2.default)({
'default': {
picker: {
width: '18px',
height: '18px',
borderRadius: '50%',
transform: 'translate(-9px, -1px)',
backgroundColor: 'rgb(248, 248, 248)',
boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'
}
},
'vertical': {
picker: {
transform: 'translate(-3px, -9px)'
}
}
}, { vertical: direction === 'vertical' });
return _react2.default.createElement('div', { style: styles.picker });
};
exports.default = SliderPointer;

43
node_modules/react-color/lib/components/hue/spec.js generated vendored Normal file
View File

@@ -0,0 +1,43 @@
'use strict';
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; }; /* global test, expect */
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _color = require('../../helpers/color');
var _Hue = require('./Hue');
var _Hue2 = _interopRequireDefault(_Hue);
var _HuePointer = require('./HuePointer');
var _HuePointer2 = _interopRequireDefault(_HuePointer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
test('Hue renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Hue2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Hue renders vertically', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Hue2.default, _extends({}, _color.red, { width: 20, height: 200, direction: 'vertical' }))).toJSON();
expect(tree).toMatchSnapshot();
});
test('Hue renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Hue2.default, _extends({}, _color.red, { styles: { default: { picker: { boxShadow: '0 0 10px red' } } } }))).toJSON();
expect(tree.props.style.boxShadow).toBe('0 0 10px red');
});
test('HuePointer renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_HuePointer2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});

View File

@@ -0,0 +1,171 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Material = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _merge = require('lodash/merge');
var _merge2 = _interopRequireDefault(_merge);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _common = require('../common');
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 Material = exports.Material = function Material(_ref) {
var onChange = _ref.onChange,
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': {
material: {
width: '98px',
height: '98px',
padding: '16px',
fontFamily: 'Roboto'
},
HEXwrap: {
position: 'relative'
},
HEXinput: {
width: '100%',
marginTop: '12px',
fontSize: '15px',
color: '#333',
padding: '0px',
border: '0px',
borderBottom: '2px solid ' + hex,
outline: 'none',
height: '30px'
},
HEXlabel: {
position: 'absolute',
top: '0px',
left: '0px',
fontSize: '11px',
color: '#999999',
textTransform: 'capitalize'
},
Hex: {
style: {}
},
RGBwrap: {
position: 'relative'
},
RGBinput: {
width: '100%',
marginTop: '12px',
fontSize: '15px',
color: '#333',
padding: '0px',
border: '0px',
borderBottom: '1px solid #eee',
outline: 'none',
height: '30px'
},
RGBlabel: {
position: 'absolute',
top: '0px',
left: '0px',
fontSize: '11px',
color: '#999999',
textTransform: 'capitalize'
},
split: {
display: 'flex',
marginRight: '-10px',
paddingTop: '11px'
},
third: {
flex: '1',
paddingRight: '10px'
}
}
}, passedStyles));
var handleChange = function handleChange(data, e) {
if (data.hex) {
color.isValidHex(data.hex) && onChange({
hex: data.hex,
source: 'hex'
}, e);
} else if (data.r || data.g || data.b) {
onChange({
r: data.r || rgb.r,
g: data.g || rgb.g,
b: data.b || rgb.b,
source: 'rgb'
}, e);
}
};
return _react2.default.createElement(
_common.Raised,
{ styles: passedStyles },
_react2.default.createElement(
'div',
{ style: styles.material, className: 'material-picker ' + className },
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },
label: 'hex',
value: hex,
onChange: handleChange
}),
_react2.default.createElement(
'div',
{ style: styles.split, className: 'flexbox-fix' },
_react2.default.createElement(
'div',
{ style: styles.third },
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'r', value: rgb.r,
onChange: handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.third },
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'g',
value: rgb.g,
onChange: handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.third },
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'b',
value: rgb.b,
onChange: handleChange
})
)
)
)
);
};
exports.default = (0, _common.ColorWrap)(Material);

View File

@@ -0,0 +1,29 @@
'use strict';
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; }; /* global test, test, expect */
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _color = require('../../helpers/color');
var _Material = require('./Material');
var _Material2 = _interopRequireDefault(_Material);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
test('Material renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Material2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Material renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Material2.default, _extends({}, _color.red, { styles: { default: { wrap: { boxShadow: '0 0 10px red' } } } }))).toJSON();
expect(tree.props.style.boxShadow).toBe('0 0 10px red');
});

View File

@@ -0,0 +1,27 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Material = require('./Material');
var _Material2 = _interopRequireDefault(_Material);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('MaterialPicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Material2.default },
(0, _report.renderWithKnobs)(_Material2.default)
);
});

View File

@@ -0,0 +1,213 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Photoshop = undefined;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
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 _PhotoshopFields = require('./PhotoshopFields');
var _PhotoshopFields2 = _interopRequireDefault(_PhotoshopFields);
var _PhotoshopPointerCircle = require('./PhotoshopPointerCircle');
var _PhotoshopPointerCircle2 = _interopRequireDefault(_PhotoshopPointerCircle);
var _PhotoshopPointer = require('./PhotoshopPointer');
var _PhotoshopPointer2 = _interopRequireDefault(_PhotoshopPointer);
var _PhotoshopButton = require('./PhotoshopButton');
var _PhotoshopButton2 = _interopRequireDefault(_PhotoshopButton);
var _PhotoshopPreviews = require('./PhotoshopPreviews');
var _PhotoshopPreviews2 = _interopRequireDefault(_PhotoshopPreviews);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Photoshop = exports.Photoshop = function (_React$Component) {
_inherits(Photoshop, _React$Component);
function Photoshop(props) {
_classCallCheck(this, Photoshop);
var _this = _possibleConstructorReturn(this, (Photoshop.__proto__ || Object.getPrototypeOf(Photoshop)).call(this));
_this.state = {
currentColor: props.hex
};
return _this;
}
_createClass(Photoshop, [{
key: 'render',
value: function render() {
var _props = this.props,
_props$styles = _props.styles,
passedStyles = _props$styles === undefined ? {} : _props$styles,
_props$className = _props.className,
className = _props$className === undefined ? '' : _props$className;
var styles = (0, _reactcss2.default)((0, _merge2.default)({
'default': {
picker: {
background: '#DCDCDC',
borderRadius: '4px',
boxShadow: '0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)',
boxSizing: 'initial',
width: '513px'
},
head: {
backgroundImage: 'linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)',
borderBottom: '1px solid #B1B1B1',
boxShadow: 'inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)',
height: '23px',
lineHeight: '24px',
borderRadius: '4px 4px 0 0',
fontSize: '13px',
color: '#4D4D4D',
textAlign: 'center'
},
body: {
padding: '15px 15px 0',
display: 'flex'
},
saturation: {
width: '256px',
height: '256px',
position: 'relative',
border: '2px solid #B3B3B3',
borderBottom: '2px solid #F0F0F0',
overflow: 'hidden'
},
hue: {
position: 'relative',
height: '256px',
width: '19px',
marginLeft: '10px',
border: '2px solid #B3B3B3',
borderBottom: '2px solid #F0F0F0'
},
controls: {
width: '180px',
marginLeft: '10px'
},
top: {
display: 'flex'
},
previews: {
width: '60px'
},
actions: {
flex: '1',
marginLeft: '20px'
}
}
}, passedStyles));
return _react2.default.createElement(
'div',
{ style: styles.picker, className: 'photoshop-picker ' + className },
_react2.default.createElement(
'div',
{ style: styles.head },
this.props.header
),
_react2.default.createElement(
'div',
{ style: styles.body, className: 'flexbox-fix' },
_react2.default.createElement(
'div',
{ style: styles.saturation },
_react2.default.createElement(_common.Saturation, {
hsl: this.props.hsl,
hsv: this.props.hsv,
pointer: _PhotoshopPointerCircle2.default,
onChange: this.props.onChange
})
),
_react2.default.createElement(
'div',
{ style: styles.hue },
_react2.default.createElement(_common.Hue, {
direction: 'vertical',
hsl: this.props.hsl,
pointer: _PhotoshopPointer2.default,
onChange: this.props.onChange
})
),
_react2.default.createElement(
'div',
{ style: styles.controls },
_react2.default.createElement(
'div',
{ style: styles.top, className: 'flexbox-fix' },
_react2.default.createElement(
'div',
{ style: styles.previews },
_react2.default.createElement(_PhotoshopPreviews2.default, {
rgb: this.props.rgb,
currentColor: this.state.currentColor
})
),
_react2.default.createElement(
'div',
{ style: styles.actions },
_react2.default.createElement(_PhotoshopButton2.default, { label: 'OK', onClick: this.props.onAccept, active: true }),
_react2.default.createElement(_PhotoshopButton2.default, { label: 'Cancel', onClick: this.props.onCancel }),
_react2.default.createElement(_PhotoshopFields2.default, {
onChange: this.props.onChange,
rgb: this.props.rgb,
hsv: this.props.hsv,
hex: this.props.hex
})
)
)
)
)
);
}
}]);
return Photoshop;
}(_react2.default.Component);
Photoshop.propTypes = {
header: _propTypes2.default.string,
styles: _propTypes2.default.object
};
Photoshop.defaultProps = {
header: 'Color Picker',
styles: {}
};
exports.default = (0, _common.ColorWrap)(Photoshop);

View File

@@ -0,0 +1,54 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PhotoshopButton = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PhotoshopButton = exports.PhotoshopButton = function PhotoshopButton(_ref) {
var onClick = _ref.onClick,
label = _ref.label,
children = _ref.children,
active = _ref.active;
var styles = (0, _reactcss2.default)({
'default': {
button: {
backgroundImage: 'linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)',
border: '1px solid #878787',
borderRadius: '2px',
height: '20px',
boxShadow: '0 1px 0 0 #EAEAEA',
fontSize: '14px',
color: '#000',
lineHeight: '20px',
textAlign: 'center',
marginBottom: '10px',
cursor: 'pointer'
}
},
'active': {
button: {
boxShadow: '0 0 0 1px #878787'
}
}
}, { active: active });
return _react2.default.createElement(
'div',
{ style: styles.button, onClick: onClick },
label || children
);
};
exports.default = PhotoshopButton;

View File

@@ -0,0 +1,196 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PhotoshopPicker = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _common = require('../common');
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 PhotoshopPicker = exports.PhotoshopPicker = function PhotoshopPicker(_ref) {
var onChange = _ref.onChange,
rgb = _ref.rgb,
hsv = _ref.hsv,
hex = _ref.hex;
var styles = (0, _reactcss2.default)({
'default': {
fields: {
paddingTop: '5px',
paddingBottom: '9px',
width: '80px',
position: 'relative'
},
divider: {
height: '5px'
},
RGBwrap: {
position: 'relative'
},
RGBinput: {
marginLeft: '40%',
width: '40%',
height: '18px',
border: '1px solid #888888',
boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',
marginBottom: '5px',
fontSize: '13px',
paddingLeft: '3px',
marginRight: '10px'
},
RGBlabel: {
left: '0px',
top: '0px',
width: '34px',
textTransform: 'uppercase',
fontSize: '13px',
height: '18px',
lineHeight: '22px',
position: 'absolute'
},
HEXwrap: {
position: 'relative'
},
HEXinput: {
marginLeft: '20%',
width: '80%',
height: '18px',
border: '1px solid #888888',
boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',
marginBottom: '6px',
fontSize: '13px',
paddingLeft: '3px'
},
HEXlabel: {
position: 'absolute',
top: '0px',
left: '0px',
width: '14px',
textTransform: 'uppercase',
fontSize: '13px',
height: '18px',
lineHeight: '22px'
},
fieldSymbols: {
position: 'absolute',
top: '5px',
right: '-7px',
fontSize: '13px'
},
symbol: {
height: '20px',
lineHeight: '22px',
paddingBottom: '7px'
}
}
});
var handleChange = function handleChange(data, e) {
if (data['#']) {
color.isValidHex(data['#']) && onChange({
hex: data['#'],
source: 'hex'
}, e);
} else if (data.r || data.g || data.b) {
onChange({
r: data.r || rgb.r,
g: data.g || rgb.g,
b: data.b || rgb.b,
source: 'rgb'
}, e);
} else if (data.h || data.s || data.v) {
onChange({
h: data.h || hsv.h,
s: data.s || hsv.s,
v: data.v || hsv.v,
source: 'hsv'
}, e);
}
};
return _react2.default.createElement(
'div',
{ style: styles.fields },
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'h',
value: Math.round(hsv.h),
onChange: handleChange
}),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 's',
value: Math.round(hsv.s * 100),
onChange: handleChange
}),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'v',
value: Math.round(hsv.v * 100),
onChange: handleChange
}),
_react2.default.createElement('div', { style: styles.divider }),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'r',
value: rgb.r,
onChange: handleChange
}),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'g',
value: rgb.g,
onChange: handleChange
}),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },
label: 'b',
value: rgb.b,
onChange: handleChange
}),
_react2.default.createElement('div', { style: styles.divider }),
_react2.default.createElement(_common.EditableInput, {
style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },
label: '#',
value: hex.replace('#', ''),
onChange: handleChange
}),
_react2.default.createElement(
'div',
{ style: styles.fieldSymbols },
_react2.default.createElement(
'div',
{ style: styles.symbol },
'\xB0'
),
_react2.default.createElement(
'div',
{ style: styles.symbol },
'%'
),
_react2.default.createElement(
'div',
{ style: styles.symbol },
'%'
)
)
);
};
exports.default = PhotoshopPicker;

View File

@@ -0,0 +1,75 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PhotoshopPointerCircle = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PhotoshopPointerCircle = exports.PhotoshopPointerCircle = function PhotoshopPointerCircle() {
var styles = (0, _reactcss2.default)({
'default': {
triangle: {
width: 0,
height: 0,
borderStyle: 'solid',
borderWidth: '4px 0 4px 6px',
borderColor: 'transparent transparent transparent #fff',
position: 'absolute',
top: '1px',
left: '1px'
},
triangleBorder: {
width: 0,
height: 0,
borderStyle: 'solid',
borderWidth: '5px 0 5px 8px',
borderColor: 'transparent transparent transparent #555'
},
left: {
Extend: 'triangleBorder',
transform: 'translate(-13px, -4px)'
},
leftInside: {
Extend: 'triangle',
transform: 'translate(-8px, -5px)'
},
right: {
Extend: 'triangleBorder',
transform: 'translate(20px, -14px) rotate(180deg)'
},
rightInside: {
Extend: 'triangle',
transform: 'translate(-8px, -5px)'
}
}
});
return _react2.default.createElement(
'div',
{ style: styles.pointer },
_react2.default.createElement(
'div',
{ style: styles.left },
_react2.default.createElement('div', { style: styles.leftInside })
),
_react2.default.createElement(
'div',
{ style: styles.right },
_react2.default.createElement('div', { style: styles.rightInside })
)
);
};
exports.default = PhotoshopPointerCircle;

View File

@@ -0,0 +1,41 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PhotoshopPointerCircle = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PhotoshopPointerCircle = exports.PhotoshopPointerCircle = function PhotoshopPointerCircle(_ref) {
var hsl = _ref.hsl;
var styles = (0, _reactcss2.default)({
'default': {
picker: {
width: '12px',
height: '12px',
borderRadius: '6px',
boxShadow: 'inset 0 0 0 1px #fff',
transform: 'translate(-6px, -6px)'
}
},
'black-outline': {
picker: {
boxShadow: 'inset 0 0 0 1px #000'
}
}
}, { 'black-outline': hsl.l > 0.5 });
return _react2.default.createElement('div', { style: styles.picker });
};
exports.default = PhotoshopPointerCircle;

View File

@@ -0,0 +1,70 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PhotoshopPreviews = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PhotoshopPreviews = exports.PhotoshopPreviews = function PhotoshopPreviews(_ref) {
var rgb = _ref.rgb,
currentColor = _ref.currentColor;
var styles = (0, _reactcss2.default)({
'default': {
swatches: {
border: '1px solid #B3B3B3',
borderBottom: '1px solid #F0F0F0',
marginBottom: '2px',
marginTop: '1px'
},
new: {
height: '34px',
background: 'rgb(' + rgb.r + ',' + rgb.g + ', ' + rgb.b + ')',
boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000'
},
current: {
height: '34px',
background: currentColor,
boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000'
},
label: {
fontSize: '14px',
color: '#000',
textAlign: 'center'
}
}
});
return _react2.default.createElement(
'div',
null,
_react2.default.createElement(
'div',
{ style: styles.label },
'new'
),
_react2.default.createElement(
'div',
{ style: styles.swatches },
_react2.default.createElement('div', { style: styles.new }),
_react2.default.createElement('div', { style: styles.current })
),
_react2.default.createElement(
'div',
{ style: styles.label },
'current'
)
);
};
exports.default = PhotoshopPreviews;

View File

@@ -0,0 +1,74 @@
'use strict';
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; }; /* global test, jest, expect */
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _color = require('../../helpers/color');
var _Photoshop = require('./Photoshop');
var _Photoshop2 = _interopRequireDefault(_Photoshop);
var _PhotoshopButton = require('./PhotoshopButton');
var _PhotoshopButton2 = _interopRequireDefault(_PhotoshopButton);
var _PhotoshopFields = require('./PhotoshopFields');
var _PhotoshopFields2 = _interopRequireDefault(_PhotoshopFields);
var _PhotoshopPointer = require('./PhotoshopPointer');
var _PhotoshopPointer2 = _interopRequireDefault(_PhotoshopPointer);
var _PhotoshopPointerCircle = require('./PhotoshopPointerCircle');
var _PhotoshopPointerCircle2 = _interopRequireDefault(_PhotoshopPointerCircle);
var _PhotoshopPreviews = require('./PhotoshopPreviews');
var _PhotoshopPreviews2 = _interopRequireDefault(_PhotoshopPreviews);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
test('Photoshop renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Photoshop2.default, _extends({}, _color.red, { onAccept: function onAccept() {}, onCancel: function onCancel() {} }))).toJSON();
expect(tree).toMatchSnapshot();
});
test('Photoshop renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Photoshop2.default, _extends({}, _color.red, { styles: { default: { picker: { boxShadow: '0 0 10px red' } } } }))).toJSON();
expect(tree.props.style.boxShadow).toBe('0 0 10px red');
});
test('PhotoshopButton renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_PhotoshopButton2.default, { label: 'accept', onClick: function onClick() {} })).toJSON();
expect(tree).toMatchSnapshot();
});
test('PhotoshopFields renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_PhotoshopFields2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('PhotoshopPointer renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_PhotoshopPointer2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('PhotoshopPointerCircle renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_PhotoshopPointerCircle2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('PhotoshopPreviews renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_PhotoshopPreviews2.default, _extends({}, _color.red, { currencColor: '#aeee00' }))).toJSON();
expect(tree).toMatchSnapshot();
});

View File

@@ -0,0 +1,27 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Photoshop = require('./Photoshop');
var _Photoshop2 = _interopRequireDefault(_Photoshop);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('PhotoshopPicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Photoshop2.default },
(0, _report.renderWithKnobs)(_Photoshop2.default)
);
});

View File

@@ -0,0 +1,204 @@
'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);

View File

@@ -0,0 +1,172 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SketchFields = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _common = require('../common');
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 }; }
/* eslint-disable no-param-reassign */
var SketchFields = exports.SketchFields = function SketchFields(_ref) {
var onChange = _ref.onChange,
rgb = _ref.rgb,
hsl = _ref.hsl,
hex = _ref.hex,
disableAlpha = _ref.disableAlpha;
var styles = (0, _reactcss2.default)({
'default': {
fields: {
display: 'flex',
paddingTop: '4px'
},
single: {
flex: '1',
paddingLeft: '6px'
},
alpha: {
flex: '1',
paddingLeft: '6px'
},
double: {
flex: '2'
},
input: {
width: '80%',
padding: '4px 10% 3px',
border: 'none',
boxShadow: 'inset 0 0 0 1px #ccc',
fontSize: '11px'
},
label: {
display: 'block',
textAlign: 'center',
fontSize: '11px',
color: '#222',
paddingTop: '3px',
paddingBottom: '4px',
textTransform: 'capitalize'
}
},
'disableAlpha': {
alpha: {
display: 'none'
}
}
}, { disableAlpha: disableAlpha });
var handleChange = function handleChange(data, e) {
if (data.hex) {
color.isValidHex(data.hex) && onChange({
hex: data.hex,
source: 'hex'
}, e);
} else if (data.r || data.g || data.b) {
onChange({
r: data.r || rgb.r,
g: data.g || rgb.g,
b: data.b || rgb.b,
a: rgb.a,
source: 'rgb'
}, e);
} else if (data.a) {
if (data.a < 0) {
data.a = 0;
} else if (data.a > 100) {
data.a = 100;
}
data.a /= 100;
onChange({
h: hsl.h,
s: hsl.s,
l: hsl.l,
a: data.a,
source: 'rgb'
}, e);
}
};
return _react2.default.createElement(
'div',
{ style: styles.fields, className: 'flexbox-fix' },
_react2.default.createElement(
'div',
{ style: styles.double },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'hex',
value: hex.replace('#', ''),
onChange: handleChange
})
),
_react2.default.createElement(
'div',
{ style: styles.single },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'r',
value: rgb.r,
onChange: handleChange,
dragLabel: 'true',
dragMax: '255'
})
),
_react2.default.createElement(
'div',
{ style: styles.single },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'g',
value: rgb.g,
onChange: handleChange,
dragLabel: 'true',
dragMax: '255'
})
),
_react2.default.createElement(
'div',
{ style: styles.single },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'b',
value: rgb.b,
onChange: handleChange,
dragLabel: 'true',
dragMax: '255'
})
),
_react2.default.createElement(
'div',
{ style: styles.alpha },
_react2.default.createElement(_common.EditableInput, {
style: { input: styles.input, label: styles.label },
label: 'a',
value: Math.round(rgb.a * 100),
onChange: handleChange,
dragLabel: 'true',
dragMax: '100'
})
)
);
};
exports.default = SketchFields;

View File

@@ -0,0 +1,97 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SketchPresetColors = 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 _common = require('../common');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SketchPresetColors = exports.SketchPresetColors = function SketchPresetColors(_ref) {
var colors = _ref.colors,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,
onSwatchHover = _ref.onSwatchHover;
var styles = (0, _reactcss2.default)({
'default': {
colors: {
margin: '0 -10px',
padding: '10px 0 0 10px',
borderTop: '1px solid #eee',
display: 'flex',
flexWrap: 'wrap',
position: 'relative'
},
swatchWrap: {
width: '16px',
height: '16px',
margin: '0 10px 10px 0'
},
swatch: {
borderRadius: '3px',
boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15)'
}
},
'no-presets': {
colors: {
display: 'none'
}
}
}, {
'no-presets': !colors || !colors.length
});
var handleClick = function handleClick(hex, e) {
onClick({
hex: hex,
source: 'hex'
}, e);
};
return _react2.default.createElement(
'div',
{ style: styles.colors, className: 'flexbox-fix' },
colors.map(function (colorObjOrString) {
var c = typeof colorObjOrString === 'string' ? { color: colorObjOrString } : colorObjOrString;
var key = '' + c.color + (c.title || '');
return _react2.default.createElement(
'div',
{ key: key, style: styles.swatchWrap },
_react2.default.createElement(_common.Swatch, _extends({}, c, {
style: styles.swatch,
onClick: handleClick,
onHover: onSwatchHover,
focusStyle: {
boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ' + c.color
}
}))
);
})
);
};
SketchPresetColors.propTypes = {
colors: _propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({
color: _propTypes2.default.string,
title: _propTypes2.default.string
})])).isRequired
};
exports.default = SketchPresetColors;

102
node_modules/react-color/lib/components/sketch/spec.js generated vendored Normal file
View File

@@ -0,0 +1,102 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _enzyme = require('enzyme');
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _Sketch = require('./Sketch');
var _Sketch2 = _interopRequireDefault(_Sketch);
var _SketchFields = require('./SketchFields');
var _SketchFields2 = _interopRequireDefault(_SketchFields);
var _SketchPresetColors = require('./SketchPresetColors');
var _SketchPresetColors2 = _interopRequireDefault(_SketchPresetColors);
var _common = require('../common');
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 }; }
// import canvas from 'canvas'
/* global test, jest, expect */
test('Sketch renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Sketch2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
// test('Sketch renders on server correctly', () => {
// const tree = renderer.create(
// <Sketch renderers={{ canvas }} { ...color.red } />
// ).toJSON()
// expect(tree).toMatchSnapshot()
// })
test('Sketch onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Sketch2.default, { onChange: changeSpy }));
expect(changeSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('click');
expect(changeSpy).toHaveBeenCalled();
});
test('Sketch with onSwatchHover events correctly', function () {
var hoverSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Sketch2.default, { onSwatchHover: hoverSpy }));
expect(hoverSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('mouseOver');
expect(hoverSpy).toHaveBeenCalled();
});
test('Sketch renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Sketch2.default, { styles: { default: { picker: { boxShadow: 'none' } } } })).toJSON();
expect(tree.props.style.boxShadow).toBe('none');
});
test('SketchFields renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SketchFields2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('SketchPresetColors renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SketchPresetColors2.default, { colors: ['#fff', '#999', '#000'] })).toJSON();
expect(tree).toMatchSnapshot();
});
test('SketchPresetColors with custom titles renders correctly', function () {
var colors = [{
color: '#fff',
title: 'white'
}, {
color: '#999',
title: 'gray'
}, {
color: '#000'
}, '#f00'];
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SketchPresetColors2.default, { colors: colors })).toJSON();
expect(tree).toMatchSnapshot();
});

View File

@@ -0,0 +1,45 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Sketch = require('./Sketch');
var _Sketch2 = _interopRequireDefault(_Sketch);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('SketchPicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Sketch2.default },
(0, _report.renderWithKnobs)(_Sketch2.default, {}, null, {
width: { range: true, min: 140, max: 500, step: 1 }
})
);
}).add('SketchPicker Custom Styles', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Sketch2.default },
(0, _report.renderWithKnobs)(_Sketch2.default, {
styles: {
default: {
picker: {
boxShadow: 'none'
}
}
}
}, null, {
width: { range: true, min: 140, max: 500, step: 1 }
})
);
});

View File

@@ -0,0 +1,86 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Slider = 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 _SliderSwatches = require('./SliderSwatches');
var _SliderSwatches2 = _interopRequireDefault(_SliderSwatches);
var _SliderPointer = require('./SliderPointer');
var _SliderPointer2 = _interopRequireDefault(_SliderPointer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Slider = exports.Slider = function Slider(_ref) {
var hsl = _ref.hsl,
onChange = _ref.onChange,
pointer = _ref.pointer,
_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': {
hue: {
height: '12px',
position: 'relative'
},
Hue: {
radius: '2px'
}
}
}, passedStyles));
return _react2.default.createElement(
'div',
{ style: styles.wrap || {}, className: 'slider-picker ' + className },
_react2.default.createElement(
'div',
{ style: styles.hue },
_react2.default.createElement(_common.Hue, {
style: styles.Hue,
hsl: hsl,
pointer: pointer,
onChange: onChange
})
),
_react2.default.createElement(
'div',
{ style: styles.swatches },
_react2.default.createElement(_SliderSwatches2.default, { hsl: hsl, onClick: onChange })
)
);
};
Slider.propTypes = {
styles: _propTypes2.default.object
};
Slider.defaultProps = {
pointer: _SliderPointer2.default,
styles: {}
};
exports.default = (0, _common.ColorWrap)(Slider);

View File

@@ -0,0 +1,35 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SliderPointer = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SliderPointer = exports.SliderPointer = function SliderPointer() {
var styles = (0, _reactcss2.default)({
'default': {
picker: {
width: '14px',
height: '14px',
borderRadius: '6px',
transform: 'translate(-7px, -1px)',
backgroundColor: 'rgb(248, 248, 248)',
boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'
}
}
});
return _react2.default.createElement('div', { style: styles.picker });
};
exports.default = SliderPointer;

View File

@@ -0,0 +1,65 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SliderSwatch = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SliderSwatch = exports.SliderSwatch = function SliderSwatch(_ref) {
var hsl = _ref.hsl,
offset = _ref.offset,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,
active = _ref.active,
first = _ref.first,
last = _ref.last;
var styles = (0, _reactcss2.default)({
'default': {
swatch: {
height: '12px',
background: 'hsl(' + hsl.h + ', 50%, ' + offset * 100 + '%)',
cursor: 'pointer'
}
},
'first': {
swatch: {
borderRadius: '2px 0 0 2px'
}
},
'last': {
swatch: {
borderRadius: '0 2px 2px 0'
}
},
'active': {
swatch: {
transform: 'scaleY(1.8)',
borderRadius: '3.6px/2px'
}
}
}, { active: active, first: first, last: last });
var handleClick = function handleClick(e) {
return onClick({
h: hsl.h,
s: 0.5,
l: offset,
source: 'hsl'
}, e);
};
return _react2.default.createElement('div', { style: styles.swatch, onClick: handleClick });
};
exports.default = SliderSwatch;

View File

@@ -0,0 +1,105 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SliderSwatches = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _SliderSwatch = require('./SliderSwatch');
var _SliderSwatch2 = _interopRequireDefault(_SliderSwatch);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SliderSwatches = exports.SliderSwatches = function SliderSwatches(_ref) {
var onClick = _ref.onClick,
hsl = _ref.hsl;
var styles = (0, _reactcss2.default)({
'default': {
swatches: {
marginTop: '20px'
},
swatch: {
boxSizing: 'border-box',
width: '20%',
paddingRight: '1px',
float: 'left'
},
clear: {
clear: 'both'
}
}
});
// Acceptible difference in floating point equality
var epsilon = 0.1;
return _react2.default.createElement(
'div',
{ style: styles.swatches },
_react2.default.createElement(
'div',
{ style: styles.swatch },
_react2.default.createElement(_SliderSwatch2.default, {
hsl: hsl,
offset: '.80',
active: Math.abs(hsl.l - 0.80) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,
onClick: onClick,
first: true
})
),
_react2.default.createElement(
'div',
{ style: styles.swatch },
_react2.default.createElement(_SliderSwatch2.default, {
hsl: hsl,
offset: '.65',
active: Math.abs(hsl.l - 0.65) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,
onClick: onClick
})
),
_react2.default.createElement(
'div',
{ style: styles.swatch },
_react2.default.createElement(_SliderSwatch2.default, {
hsl: hsl,
offset: '.50',
active: Math.abs(hsl.l - 0.50) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,
onClick: onClick
})
),
_react2.default.createElement(
'div',
{ style: styles.swatch },
_react2.default.createElement(_SliderSwatch2.default, {
hsl: hsl,
offset: '.35',
active: Math.abs(hsl.l - 0.35) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,
onClick: onClick
})
),
_react2.default.createElement(
'div',
{ style: styles.swatch },
_react2.default.createElement(_SliderSwatch2.default, {
hsl: hsl,
offset: '.20',
active: Math.abs(hsl.l - 0.20) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,
onClick: onClick,
last: true
})
),
_react2.default.createElement('div', { style: styles.clear })
);
};
exports.default = SliderSwatches;

54
node_modules/react-color/lib/components/slider/spec.js generated vendored Normal file
View File

@@ -0,0 +1,54 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _color = require('../../helpers/color');
var _Slider = require('./Slider');
var _Slider2 = _interopRequireDefault(_Slider);
var _SliderPointer = require('./SliderPointer');
var _SliderPointer2 = _interopRequireDefault(_SliderPointer);
var _SliderSwatch = require('./SliderSwatch');
var _SliderSwatch2 = _interopRequireDefault(_SliderSwatch);
var _SliderSwatches = require('./SliderSwatches');
var _SliderSwatches2 = _interopRequireDefault(_SliderSwatches);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
test('Slider renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Slider2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
}); /* global test, expect */
test('Slider renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Slider2.default, { styles: { default: { wrap: { boxShadow: 'none' } } } })).toJSON();
expect(tree.props.style.boxShadow).toBe('none');
});
test('SliderPointer renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SliderPointer2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('SliderSwatch renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SliderSwatch2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('SliderSwatches renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SliderSwatches2.default, _color.red)).toJSON();
expect(tree).toMatchSnapshot();
});

View File

@@ -0,0 +1,119 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Swatches = 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 _materialColors = require('material-colors');
var material = _interopRequireWildcard(_materialColors);
var _common = require('../common');
var _SwatchesGroup = require('./SwatchesGroup');
var _SwatchesGroup2 = _interopRequireDefault(_SwatchesGroup);
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 Swatches = exports.Swatches = function Swatches(_ref) {
var width = _ref.width,
height = _ref.height,
onChange = _ref.onChange,
onSwatchHover = _ref.onSwatchHover,
colors = _ref.colors,
hex = _ref.hex,
_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': {
picker: {
width: width,
height: height
},
overflow: {
height: height,
overflowY: 'scroll'
},
body: {
padding: '16px 0 6px 16px'
},
clear: {
clear: 'both'
}
}
}, passedStyles));
var handleChange = function handleChange(data, e) {
return onChange({ hex: data, source: 'hex' }, e);
};
return _react2.default.createElement(
'div',
{ style: styles.picker, className: 'swatches-picker ' + className },
_react2.default.createElement(
_common.Raised,
null,
_react2.default.createElement(
'div',
{ style: styles.overflow },
_react2.default.createElement(
'div',
{ style: styles.body },
(0, _map2.default)(colors, function (group) {
return _react2.default.createElement(_SwatchesGroup2.default, {
key: group.toString(),
group: group,
active: hex,
onClick: handleChange,
onSwatchHover: onSwatchHover
});
}),
_react2.default.createElement('div', { style: styles.clear })
)
)
)
);
};
Swatches.propTypes = {
width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
colors: _propTypes2.default.arrayOf(_propTypes2.default.arrayOf(_propTypes2.default.string)),
styles: _propTypes2.default.object
/* eslint-disable max-len */
};Swatches.defaultProps = {
width: 320,
height: 240,
colors: [[material.red['900'], material.red['700'], material.red['500'], material.red['300'], material.red['100']], [material.pink['900'], material.pink['700'], material.pink['500'], material.pink['300'], material.pink['100']], [material.purple['900'], material.purple['700'], material.purple['500'], material.purple['300'], material.purple['100']], [material.deepPurple['900'], material.deepPurple['700'], material.deepPurple['500'], material.deepPurple['300'], material.deepPurple['100']], [material.indigo['900'], material.indigo['700'], material.indigo['500'], material.indigo['300'], material.indigo['100']], [material.blue['900'], material.blue['700'], material.blue['500'], material.blue['300'], material.blue['100']], [material.lightBlue['900'], material.lightBlue['700'], material.lightBlue['500'], material.lightBlue['300'], material.lightBlue['100']], [material.cyan['900'], material.cyan['700'], material.cyan['500'], material.cyan['300'], material.cyan['100']], [material.teal['900'], material.teal['700'], material.teal['500'], material.teal['300'], material.teal['100']], ['#194D33', material.green['700'], material.green['500'], material.green['300'], material.green['100']], [material.lightGreen['900'], material.lightGreen['700'], material.lightGreen['500'], material.lightGreen['300'], material.lightGreen['100']], [material.lime['900'], material.lime['700'], material.lime['500'], material.lime['300'], material.lime['100']], [material.yellow['900'], material.yellow['700'], material.yellow['500'], material.yellow['300'], material.yellow['100']], [material.amber['900'], material.amber['700'], material.amber['500'], material.amber['300'], material.amber['100']], [material.orange['900'], material.orange['700'], material.orange['500'], material.orange['300'], material.orange['100']], [material.deepOrange['900'], material.deepOrange['700'], material.deepOrange['500'], material.deepOrange['300'], material.deepOrange['100']], [material.brown['900'], material.brown['700'], material.brown['500'], material.brown['300'], material.brown['100']], [material.blueGrey['900'], material.blueGrey['700'], material.blueGrey['500'], material.blueGrey['300'], material.blueGrey['100']], ['#000000', '#525252', '#969696', '#D9D9D9', '#FFFFFF']],
styles: {}
};
exports.default = (0, _common.ColorWrap)(Swatches);

View File

@@ -0,0 +1,109 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SwatchesColor = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactcss = require('reactcss');
var _reactcss2 = _interopRequireDefault(_reactcss);
var _color = require('../../helpers/color');
var colorUtils = _interopRequireWildcard(_color);
var _common = require('../common');
var _CheckIcon = require('@icons/material/CheckIcon');
var _CheckIcon2 = _interopRequireDefault(_CheckIcon);
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 SwatchesColor = exports.SwatchesColor = function SwatchesColor(_ref) {
var color = _ref.color,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,
onSwatchHover = _ref.onSwatchHover,
first = _ref.first,
last = _ref.last,
active = _ref.active;
var styles = (0, _reactcss2.default)({
'default': {
color: {
width: '40px',
height: '24px',
cursor: 'pointer',
background: color,
marginBottom: '1px'
},
check: {
color: colorUtils.getContrastingColor(color),
marginLeft: '8px',
display: 'none'
}
},
'first': {
color: {
overflow: 'hidden',
borderRadius: '2px 2px 0 0'
}
},
'last': {
color: {
overflow: 'hidden',
borderRadius: '0 0 2px 2px'
}
},
'active': {
check: {
display: 'block'
}
},
'color-#FFFFFF': {
color: {
boxShadow: 'inset 0 0 0 1px #ddd'
},
check: {
color: '#333'
}
},
'transparent': {
check: {
color: '#333'
}
}
}, {
first: first,
last: last,
active: active,
'color-#FFFFFF': color === '#FFFFFF',
'transparent': color === 'transparent'
});
return _react2.default.createElement(
_common.Swatch,
{
color: color,
style: styles.color,
onClick: onClick,
onHover: onSwatchHover,
focusStyle: { boxShadow: '0 0 4px ' + color }
},
_react2.default.createElement(
'div',
{ style: styles.check },
_react2.default.createElement(_CheckIcon2.default, null)
)
);
};
exports.default = SwatchesColor;

View File

@@ -0,0 +1,60 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SwatchesGroup = 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 _SwatchesColor = require('./SwatchesColor');
var _SwatchesColor2 = _interopRequireDefault(_SwatchesColor);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SwatchesGroup = exports.SwatchesGroup = function SwatchesGroup(_ref) {
var onClick = _ref.onClick,
onSwatchHover = _ref.onSwatchHover,
group = _ref.group,
active = _ref.active;
var styles = (0, _reactcss2.default)({
'default': {
group: {
paddingBottom: '10px',
width: '40px',
float: 'left',
marginRight: '10px'
}
}
});
return _react2.default.createElement(
'div',
{ style: styles.group },
(0, _map2.default)(group, function (color, i) {
return _react2.default.createElement(_SwatchesColor2.default, {
key: color,
color: color,
active: color.toLowerCase() === active,
first: i === 0,
last: i === group.length - 1,
onClick: onClick,
onSwatchHover: onSwatchHover
});
})
);
};
exports.default = SwatchesGroup;

View File

@@ -0,0 +1,84 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _enzyme = require('enzyme');
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _Swatches = require('./Swatches');
var _Swatches2 = _interopRequireDefault(_Swatches);
var _SwatchesColor = require('./SwatchesColor');
var _SwatchesColor2 = _interopRequireDefault(_SwatchesColor);
var _SwatchesGroup = require('./SwatchesGroup');
var _SwatchesGroup2 = _interopRequireDefault(_SwatchesGroup);
var _common = require('../common');
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 }; }
/* global test, jest, expect */
test('Swatches renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Swatches2.default, { hex: color.red.hex, colors: [['#fff'], ['#333']] })).toJSON();
expect(tree).toMatchSnapshot();
});
test('Swatches renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Swatches2.default, { hex: color.red.hex, colors: [['#fff'], ['#333']], styles: { default: { picker: { boxShadow: '0 0 10px red' } } } })).toJSON();
expect(tree.props.style.boxShadow).toBe('0 0 10px red');
});
test('Swatches onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Swatches2.default, { onChange: changeSpy }));
expect(changeSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('click');
expect(changeSpy).toHaveBeenCalled();
});
test('Swatches with onSwatchHover events correctly', function () {
var hoverSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Swatches2.default, { onSwatchHover: hoverSpy }));
expect(hoverSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('mouseOver');
expect(hoverSpy).toHaveBeenCalled();
});
test('SwatchesColor renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SwatchesColor2.default, null)).toJSON();
expect(tree).toMatchSnapshot();
});
test('SwatchesColor renders with props', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SwatchesColor2.default, { active: true, first: true, last: true })).toJSON();
expect(tree).toMatchSnapshot();
});
test('SwatchesGroup renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_SwatchesGroup2.default, { active: color.red.hex, group: ['#fff'] })).toJSON();
expect(tree).toMatchSnapshot();
});

View File

@@ -0,0 +1,30 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Swatches = require('./Swatches');
var _Swatches2 = _interopRequireDefault(_Swatches);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('SwatchesPicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Swatches2.default },
(0, _report.renderWithKnobs)(_Swatches2.default, {}, null, {
width: { range: true, min: 140, max: 500, step: 1 },
height: { range: true, min: 140, max: 500, step: 1 }
})
);
});

View File

@@ -0,0 +1,210 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Twitter = 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');
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 Twitter = exports.Twitter = function Twitter(_ref) {
var onChange = _ref.onChange,
onSwatchHover = _ref.onSwatchHover,
hex = _ref.hex,
colors = _ref.colors,
width = _ref.width,
triangle = _ref.triangle,
_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': {
card: {
width: width,
background: '#fff',
border: '0 solid rgba(0,0,0,0.25)',
boxShadow: '0 1px 4px rgba(0,0,0,0.25)',
borderRadius: '4px',
position: 'relative'
},
body: {
padding: '15px 9px 9px 15px'
},
label: {
fontSize: '18px',
color: '#fff'
},
triangle: {
width: '0px',
height: '0px',
borderStyle: 'solid',
borderWidth: '0 9px 10px 9px',
borderColor: 'transparent transparent #fff transparent',
position: 'absolute'
},
triangleShadow: {
width: '0px',
height: '0px',
borderStyle: 'solid',
borderWidth: '0 9px 10px 9px',
borderColor: 'transparent transparent rgba(0,0,0,.1) transparent',
position: 'absolute'
},
hash: {
background: '#F0F0F0',
height: '30px',
width: '30px',
borderRadius: '4px 0 0 4px',
float: 'left',
color: '#98A1A4',
display: 'flex',
alignItems: 'center',
justifyContent: 'center'
},
input: {
width: '100px',
fontSize: '14px',
color: '#666',
border: '0px',
outline: 'none',
height: '28px',
boxShadow: 'inset 0 0 0 1px #F0F0F0',
boxSizing: 'content-box',
borderRadius: '0 4px 4px 0',
float: 'left',
paddingLeft: '8px'
},
swatch: {
width: '30px',
height: '30px',
float: 'left',
borderRadius: '4px',
margin: '0 6px 6px 0'
},
clear: {
clear: 'both'
}
},
'hide-triangle': {
triangle: {
display: 'none'
},
triangleShadow: {
display: 'none'
}
},
'top-left-triangle': {
triangle: {
top: '-10px',
left: '12px'
},
triangleShadow: {
top: '-11px',
left: '12px'
}
},
'top-right-triangle': {
triangle: {
top: '-10px',
right: '12px'
},
triangleShadow: {
top: '-11px',
right: '12px'
}
}
}, passedStyles), {
'hide-triangle': triangle === 'hide',
'top-left-triangle': triangle === 'top-left',
'top-right-triangle': triangle === 'top-right'
});
var handleChange = function handleChange(hexcode, e) {
color.isValidHex(hexcode) && onChange({
hex: hexcode,
source: 'hex'
}, e);
};
return _react2.default.createElement(
'div',
{ style: styles.card, className: 'twitter-picker ' + className },
_react2.default.createElement('div', { style: styles.triangleShadow }),
_react2.default.createElement('div', { style: styles.triangle }),
_react2.default.createElement(
'div',
{ style: styles.body },
(0, _map2.default)(colors, function (c, i) {
return _react2.default.createElement(_common.Swatch, {
key: i,
color: c,
hex: c,
style: styles.swatch,
onClick: handleChange,
onHover: onSwatchHover,
focusStyle: {
boxShadow: '0 0 4px ' + c
}
});
}),
_react2.default.createElement(
'div',
{ style: styles.hash },
'#'
),
_react2.default.createElement(_common.EditableInput, {
label: null,
style: { input: styles.input },
value: hex.replace('#', ''),
onChange: handleChange
}),
_react2.default.createElement('div', { style: styles.clear })
)
);
};
Twitter.propTypes = {
width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
triangle: _propTypes2.default.oneOf(['hide', 'top-left', 'top-right']),
colors: _propTypes2.default.arrayOf(_propTypes2.default.string),
styles: _propTypes2.default.object
};
Twitter.defaultProps = {
width: 276,
colors: ['#FF6900', '#FCB900', '#7BDCB5', '#00D084', '#8ED1FC', '#0693E3', '#ABB8C3', '#EB144C', '#F78DA7', '#9900EF'],
triangle: 'top-left',
styles: {}
};
exports.default = (0, _common.ColorWrap)(Twitter);

View File

@@ -0,0 +1,71 @@
'use strict';
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; }; /* global test, jest, expect */
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _enzyme = require('enzyme');
var _color = require('../../helpers/color');
var color = _interopRequireWildcard(_color);
var _Twitter = require('./Twitter');
var _Twitter2 = _interopRequireDefault(_Twitter);
var _common = require('../common');
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 }; }
test('Twitter renders correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Twitter2.default, color.red)).toJSON();
expect(tree).toMatchSnapshot();
});
test('Material renders custom styles correctly', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Twitter2.default, _extends({}, color.red, { styles: { default: { card: { boxShadow: '0 0 10px red' } } } }))).toJSON();
expect(tree.props.style.boxShadow).toBe('0 0 10px red');
});
test('Twitter `triangle="hide"`', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Twitter2.default, _extends({}, color.red, { triangle: 'hide' }))).toJSON();
expect(tree).toMatchSnapshot();
});
test('Twitter `triangle="top-right"`', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(_Twitter2.default, _extends({}, color.red, { triangle: 'top-right' }))).toJSON();
expect(tree).toMatchSnapshot();
});
test('Twitter onChange events correctly', function () {
var changeSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Twitter2.default, _extends({}, color.red, { onChange: changeSpy })));
expect(changeSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('click');
expect(changeSpy).toHaveBeenCalled();
});
test('Twitter with onSwatchHover events correctly', function () {
var hoverSpy = jest.fn(function (data) {
expect(color.simpleCheckForValidColor(data)).toBeTruthy();
});
var tree = (0, _enzyme.mount)(_react2.default.createElement(_Twitter2.default, _extends({}, color.red, { onSwatchHover: hoverSpy })));
expect(hoverSpy).toHaveBeenCalledTimes(0);
var swatches = tree.find(_common.Swatch);
swatches.at(0).childAt(0).simulate('mouseOver');
expect(hoverSpy).toHaveBeenCalled();
});

View File

@@ -0,0 +1,29 @@
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _react3 = require('@storybook/react');
var _report = require('../../../.storybook/report');
var _SyncColorField = require('../../../.storybook/SyncColorField');
var _SyncColorField2 = _interopRequireDefault(_SyncColorField);
var _Twitter = require('./Twitter');
var _Twitter2 = _interopRequireDefault(_Twitter);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _react3.storiesOf)('Pickers', module).add('TwitterPicker', function () {
return _react2.default.createElement(
_SyncColorField2.default,
{ component: _Twitter2.default },
(0, _report.renderWithKnobs)(_Twitter2.default, {}, null, {
width: { range: true, min: 140, max: 500, step: 1 }
})
);
});

54
node_modules/react-color/lib/helpers/alpha.js generated vendored Normal file
View File

@@ -0,0 +1,54 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var calculateChange = exports.calculateChange = function calculateChange(e, hsl, direction, initialA, container) {
var containerWidth = container.clientWidth;
var containerHeight = container.clientHeight;
var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;
var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;
var left = x - (container.getBoundingClientRect().left + window.pageXOffset);
var top = y - (container.getBoundingClientRect().top + window.pageYOffset);
if (direction === 'vertical') {
var a = void 0;
if (top < 0) {
a = 0;
} else if (top > containerHeight) {
a = 1;
} else {
a = Math.round(top * 100 / containerHeight) / 100;
}
if (hsl.a !== a) {
return {
h: hsl.h,
s: hsl.s,
l: hsl.l,
a: a,
source: 'rgb'
};
}
} else {
var _a = void 0;
if (left < 0) {
_a = 0;
} else if (left > containerWidth) {
_a = 1;
} else {
_a = Math.round(left * 100 / containerWidth) / 100;
}
if (initialA !== _a) {
return {
h: hsl.h,
s: hsl.s,
l: hsl.l,
a: _a,
source: 'rgb'
};
}
}
return null;
};

38
node_modules/react-color/lib/helpers/checkboard.js generated vendored Normal file
View File

@@ -0,0 +1,38 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var checkboardCache = {};
var render = exports.render = function render(c1, c2, size, serverCanvas) {
if (typeof document === 'undefined' && !serverCanvas) {
return null;
}
var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas');
canvas.width = size * 2;
canvas.height = size * 2;
var ctx = canvas.getContext('2d');
if (!ctx) {
return null;
} // If no context can be found, return early.
ctx.fillStyle = c1;
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = c2;
ctx.fillRect(0, 0, size, size);
ctx.translate(size, size);
ctx.fillRect(0, 0, size, size);
return canvas.toDataURL();
};
var get = exports.get = function get(c1, c2, size, serverCanvas) {
var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : '');
if (checkboardCache[key]) {
return checkboardCache[key];
}
var checkboard = render(c1, c2, size, serverCanvas);
checkboardCache[key] = checkboard;
return checkboard;
};

92
node_modules/react-color/lib/helpers/color.js generated vendored Normal file
View File

@@ -0,0 +1,92 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isvalidColorString = exports.red = exports.getContrastingColor = exports.isValidHex = exports.toState = exports.simpleCheckForValidColor = undefined;
var _each = require('lodash/each');
var _each2 = _interopRequireDefault(_each);
var _tinycolor = require('tinycolor2');
var _tinycolor2 = _interopRequireDefault(_tinycolor);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var simpleCheckForValidColor = exports.simpleCheckForValidColor = function simpleCheckForValidColor(data) {
var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];
var checked = 0;
var passed = 0;
(0, _each2.default)(keysToCheck, function (letter) {
if (data[letter]) {
checked += 1;
if (!isNaN(data[letter])) {
passed += 1;
}
if (letter === 's' || letter === 'l') {
var percentPatt = /^\d+%$/;
if (percentPatt.test(data[letter])) {
passed += 1;
}
}
}
});
return checked === passed ? data : false;
};
var toState = exports.toState = function toState(data, oldHue) {
var color = data.hex ? (0, _tinycolor2.default)(data.hex) : (0, _tinycolor2.default)(data);
var hsl = color.toHsl();
var hsv = color.toHsv();
var rgb = color.toRgb();
var hex = color.toHex();
if (hsl.s === 0) {
hsl.h = oldHue || 0;
hsv.h = oldHue || 0;
}
var transparent = hex === '000000' && rgb.a === 0;
return {
hsl: hsl,
hex: transparent ? 'transparent' : '#' + hex,
rgb: rgb,
hsv: hsv,
oldHue: data.h || oldHue || hsl.h,
source: data.source
};
};
var isValidHex = exports.isValidHex = function isValidHex(hex) {
if (hex === 'transparent') {
return true;
}
// disable hex4 and hex8
var lh = String(hex).charAt(0) === '#' ? 1 : 0;
return hex.length !== 4 + lh && hex.length < 7 + lh && (0, _tinycolor2.default)(hex).isValid();
};
var getContrastingColor = exports.getContrastingColor = function getContrastingColor(data) {
if (!data) {
return '#fff';
}
var col = toState(data);
if (col.hex === 'transparent') {
return 'rgba(0,0,0,0.4)';
}
var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;
return yiq >= 128 ? '#000' : '#fff';
};
var red = exports.red = {
hsl: { a: 1, h: 0, l: 0.5, s: 1 },
hex: '#ff0000',
rgb: { r: 255, g: 0, b: 0, a: 1 },
hsv: { h: 0, s: 1, v: 1, a: 1 }
};
var isvalidColorString = exports.isvalidColorString = function isvalidColorString(string, type) {
var stringWithoutDegree = string.replace('°', '');
return (0, _tinycolor2.default)(type + ' (' + stringWithoutDegree + ')')._ok;
};

56
node_modules/react-color/lib/helpers/hue.js generated vendored Normal file
View File

@@ -0,0 +1,56 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var calculateChange = exports.calculateChange = function calculateChange(e, direction, hsl, container) {
var containerWidth = container.clientWidth;
var containerHeight = container.clientHeight;
var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;
var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;
var left = x - (container.getBoundingClientRect().left + window.pageXOffset);
var top = y - (container.getBoundingClientRect().top + window.pageYOffset);
if (direction === 'vertical') {
var h = void 0;
if (top < 0) {
h = 359;
} else if (top > containerHeight) {
h = 0;
} else {
var percent = -(top * 100 / containerHeight) + 100;
h = 360 * percent / 100;
}
if (hsl.h !== h) {
return {
h: h,
s: hsl.s,
l: hsl.l,
a: hsl.a,
source: 'hsl'
};
}
} else {
var _h = void 0;
if (left < 0) {
_h = 0;
} else if (left > containerWidth) {
_h = 359;
} else {
var _percent = left * 100 / containerWidth;
_h = 360 * _percent / 100;
}
if (hsl.h !== _h) {
return {
h: _h,
s: hsl.s,
l: hsl.l,
a: hsl.a,
source: 'hsl'
};
}
}
return null;
};

29
node_modules/react-color/lib/helpers/index.js generated vendored Normal file
View File

@@ -0,0 +1,29 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _checkboard = require('./checkboard');
Object.keys(_checkboard).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _checkboard[key];
}
});
});
var _color = require('./color');
Object.keys(_color).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _color[key];
}
});
});

61
node_modules/react-color/lib/helpers/interaction.js generated vendored Normal file
View File

@@ -0,0 +1,61 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.handleFocus = 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 _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable no-invalid-this */
var handleFocus = exports.handleFocus = function handleFocus(Component) {
var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';
return function (_React$Component) {
_inherits(Focus, _React$Component);
function Focus() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, Focus);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Focus.__proto__ || Object.getPrototypeOf(Focus)).call.apply(_ref, [this].concat(args))), _this), _this.state = { focus: false }, _this.handleFocus = function () {
return _this.setState({ focus: true });
}, _this.handleBlur = function () {
return _this.setState({ focus: false });
}, _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(Focus, [{
key: 'render',
value: function render() {
return _react2.default.createElement(
Span,
{ onFocus: this.handleFocus, onBlur: this.handleBlur },
_react2.default.createElement(Component, _extends({}, this.props, this.state))
);
}
}]);
return Focus;
}(_react2.default.Component);
};

38
node_modules/react-color/lib/helpers/saturation.js generated vendored Normal file
View File

@@ -0,0 +1,38 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var calculateChange = exports.calculateChange = function calculateChange(e, hsl, container) {
var _container$getBoundin = container.getBoundingClientRect(),
containerWidth = _container$getBoundin.width,
containerHeight = _container$getBoundin.height;
var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;
var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;
var left = x - (container.getBoundingClientRect().left + window.pageXOffset);
var top = y - (container.getBoundingClientRect().top + window.pageYOffset);
if (left < 0) {
left = 0;
} else if (left > containerWidth) {
left = containerWidth;
}
if (top < 0) {
top = 0;
} else if (top > containerHeight) {
top = containerHeight;
}
var saturation = left / containerWidth;
var bright = 1 - top / containerHeight;
return {
h: hsl.h,
s: saturation,
v: bright,
a: hsl.a,
source: 'hsv'
};
};

197
node_modules/react-color/lib/helpers/spec.js generated vendored Normal file
View File

@@ -0,0 +1,197 @@
'use strict';
var _color = require('./color');
var color = _interopRequireWildcard(_color);
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; } }
describe('helpers/color', function () {
describe('simpleCheckForValidColor', function () {
test('throws on null', function () {
var data = null;
expect(function () {
return color.simpleCheckForValidColor(data);
}).toThrowError(TypeError);
});
test('throws on undefined', function () {
var data = undefined;
expect(function () {
return color.simpleCheckForValidColor(data);
}).toThrowError(TypeError);
});
test('no-op on number', function () {
var data = 255;
expect(color.simpleCheckForValidColor(data)).toEqual(data);
});
test('no-op on NaN', function () {
var data = NaN;
expect(isNaN(color.simpleCheckForValidColor(data))).toBeTruthy();
});
test('no-op on string', function () {
var data = 'ffffff';
expect(color.simpleCheckForValidColor(data)).toEqual(data);
});
test('no-op on array', function () {
var data = [];
expect(color.simpleCheckForValidColor(data)).toEqual(data);
});
test('no-op on rgb objects with numeric keys', function () {
var data = { r: 0, g: 0, b: 0 };
expect(color.simpleCheckForValidColor(data)).toEqual(data);
});
test('no-op on an object with an r g b a h s v key mapped to a NaN value', function () {
var data = { r: NaN };
expect(color.simpleCheckForValidColor(data)).toEqual(data);
});
test('no-op on hsl "s" percentage', function () {
var data = { s: '15%' };
expect(color.simpleCheckForValidColor(data)).toEqual(data);
});
test('no-op on hsl "l" percentage', function () {
var data = { l: '100%' };
expect(color.simpleCheckForValidColor(data)).toEqual(data);
});
test('should return false for invalid percentage', function () {
var data = { l: '100%2' };
expect(color.simpleCheckForValidColor(data)).toBe(false);
});
});
describe('toState', function () {
test('returns an object giving a color in all formats', function () {
expect(color.toState('red')).toEqual({
hsl: { a: 1, h: 0, l: 0.5, s: 1 },
hex: '#ff0000',
rgb: { r: 255, g: 0, b: 0, a: 1 },
hsv: { h: 0, s: 1, v: 1, a: 1 },
oldHue: 0,
source: undefined
});
});
test('gives hex color with leading hash', function () {
expect(color.toState('blue').hex).toEqual('#0000ff');
});
test('doesn\'t mutate hsl color object', function () {
var originalData = { h: 0, s: 0, l: 0, a: 1 };
var data = Object.assign({}, originalData);
color.toState(data);
expect(data).toEqual(originalData);
});
test('doesn\'t mutate hsv color object', function () {
var originalData = { h: 0, s: 0, v: 0, a: 1 };
var data = Object.assign({}, originalData);
color.toState(data);
expect(data).toEqual(originalData);
});
});
describe('isValidHex', function () {
test('allows strings of length 3 or 6', function () {
expect(color.isValidHex('f')).toBeFalsy();
expect(color.isValidHex('ff')).toBeFalsy();
expect(color.isValidHex('fff')).toBeTruthy();
expect(color.isValidHex('ffff')).toBeFalsy();
expect(color.isValidHex('fffff')).toBeFalsy();
expect(color.isValidHex('ffffff')).toBeTruthy();
expect(color.isValidHex('fffffff')).toBeFalsy();
expect(color.isValidHex('ffffffff')).toBeFalsy();
expect(color.isValidHex('fffffffff')).toBeFalsy();
expect(color.isValidHex('ffffffffff')).toBeFalsy();
expect(color.isValidHex('fffffffffff')).toBeFalsy();
expect(color.isValidHex('ffffffffffff')).toBeFalsy();
});
test('allows strings without leading hash', function () {
// Check a sample of possible colors - doing all takes too long.
for (var i = 0; i <= 0xffffff; i += 0x010101) {
var hex = ('000000' + i.toString(16)).slice(-6);
expect(color.isValidHex(hex)).toBeTruthy();
}
});
test('allows strings with leading hash', function () {
// Check a sample of possible colors - doing all takes too long.
for (var i = 0; i <= 0xffffff; i += 0x010101) {
var hex = ('000000' + i.toString(16)).slice(-6);
expect(color.isValidHex('#' + hex)).toBeTruthy();
}
});
test('is case-insensitive', function () {
expect(color.isValidHex('ffffff')).toBeTruthy();
expect(color.isValidHex('FfFffF')).toBeTruthy();
expect(color.isValidHex('FFFFFF')).toBeTruthy();
});
test('allow transparent color', function () {
expect(color.isValidHex('transparent')).toBeTruthy();
});
test('does not allow non-hex characters', function () {
expect(color.isValidHex('gggggg')).toBeFalsy();
});
test('does not allow numbers', function () {
expect(color.isValidHex(0xffffff)).toBeFalsy();
});
});
describe('getContrastingColor', function () {
test('returns a light color for a giving dark color', function () {
expect(color.getContrastingColor('red')).toEqual('#fff');
});
test('returns a dark color for a giving light color', function () {
expect(color.getContrastingColor('white')).toEqual('#000');
});
test('returns a predefined color for Transparent', function () {
expect(color.getContrastingColor('transparent')).toEqual('rgba(0,0,0,0.4)');
});
test('returns a light color as default for undefined', function () {
expect(color.getContrastingColor(undefined)).toEqual('#fff');
});
});
}); /* global test, expect, describe */
describe('validColorString', function () {
test('checks for valid RGB string', function () {
expect(color.isvalidColorString('23, 32, 3', 'rgb')).toBeTruthy();
expect(color.isvalidColorString('290, 302, 3', 'rgb')).toBeTruthy();
expect(color.isvalidColorString('23', 'rgb')).toBeFalsy();
expect(color.isvalidColorString('230, 32', 'rgb')).toBeFalsy();
});
test('checks for valid HSL string', function () {
expect(color.isvalidColorString('200, 12, 93', 'hsl')).toBeTruthy();
expect(color.isvalidColorString('200, 12%, 93%', 'hsl')).toBeTruthy();
expect(color.isvalidColorString('200, 120, 93%', 'hsl')).toBeTruthy();
expect(color.isvalidColorString('335°, 64%, 99%', 'hsl')).toBeTruthy();
expect(color.isvalidColorString('100', 'hsl')).toBeFalsy();
expect(color.isvalidColorString('20, 32', 'hsl')).toBeFalsy();
});
test('checks for valid HSV string', function () {
expect(color.isvalidColorString('200, 12, 93', 'hsv')).toBeTruthy();
expect(color.isvalidColorString('200, 120, 93%', 'hsv')).toBeTruthy();
expect(color.isvalidColorString('200°, 6%, 100%', 'hsv')).toBeTruthy();
expect(color.isvalidColorString('1', 'hsv')).toBeFalsy();
expect(color.isvalidColorString('20, 32', 'hsv')).toBeFalsy();
expect(color.isvalidColorString('200°, ee3, 100%', 'hsv')).toBeFalsy();
});
});

147
node_modules/react-color/lib/index.js generated vendored Normal file
View File

@@ -0,0 +1,147 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CustomPicker = exports.GooglePicker = exports.TwitterPicker = exports.SwatchesPicker = exports.SliderPicker = exports.SketchPicker = exports.PhotoshopPicker = exports.MaterialPicker = exports.HuePicker = exports.GithubPicker = exports.CompactPicker = exports.ChromePicker = exports.default = exports.CirclePicker = exports.BlockPicker = exports.AlphaPicker = undefined;
var _Alpha = require('./components/alpha/Alpha');
Object.defineProperty(exports, 'AlphaPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Alpha).default;
}
});
var _Block = require('./components/block/Block');
Object.defineProperty(exports, 'BlockPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Block).default;
}
});
var _Circle = require('./components/circle/Circle');
Object.defineProperty(exports, 'CirclePicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Circle).default;
}
});
var _Chrome = require('./components/chrome/Chrome');
Object.defineProperty(exports, 'ChromePicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Chrome).default;
}
});
var _Compact = require('./components/compact/Compact');
Object.defineProperty(exports, 'CompactPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Compact).default;
}
});
var _Github = require('./components/github/Github');
Object.defineProperty(exports, 'GithubPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Github).default;
}
});
var _Hue = require('./components/hue/Hue');
Object.defineProperty(exports, 'HuePicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Hue).default;
}
});
var _Material = require('./components/material/Material');
Object.defineProperty(exports, 'MaterialPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Material).default;
}
});
var _Photoshop = require('./components/photoshop/Photoshop');
Object.defineProperty(exports, 'PhotoshopPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Photoshop).default;
}
});
var _Sketch = require('./components/sketch/Sketch');
Object.defineProperty(exports, 'SketchPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Sketch).default;
}
});
var _Slider = require('./components/slider/Slider');
Object.defineProperty(exports, 'SliderPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Slider).default;
}
});
var _Swatches = require('./components/swatches/Swatches');
Object.defineProperty(exports, 'SwatchesPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Swatches).default;
}
});
var _Twitter = require('./components/twitter/Twitter');
Object.defineProperty(exports, 'TwitterPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Twitter).default;
}
});
var _Google = require('./components/google/Google');
Object.defineProperty(exports, 'GooglePicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Google).default;
}
});
var _ColorWrap = require('./components/common/ColorWrap');
Object.defineProperty(exports, 'CustomPicker', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_ColorWrap).default;
}
});
var _Chrome2 = _interopRequireDefault(_Chrome);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Chrome2.default;