UNPKG

@vtex/styleguide

Version:

> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))

136 lines (102 loc) 3.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); var _Gradient = require("./Gradient"); var _Gradient2 = _interopRequireDefault(_Gradient); var _Saturation = require("./Saturation"); var _Saturation2 = _interopRequireDefault(_Saturation); var _Alpha = require("./Alpha"); var _Alpha2 = _interopRequireDefault(_Alpha); var _RGBInput = require("./RGBInput"); var _RGBInput2 = _interopRequireDefault(_RGBInput); var _HSVInput = require("./HSVInput"); var _HSVInput2 = _interopRequireDefault(_HSVInput); var _Dropdown = require("../Dropdown"); var _Dropdown2 = _interopRequireDefault(_Dropdown); var _ColorHistory = require("./ColorHistory"); var _ColorHistory2 = _interopRequireDefault(_ColorHistory); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } /** HSV Key to Dropdown */ var HSV_INPUT = 'HSV_KEY'; /** RGB Key to Dropdown */ var RGB_INPUT = 'RGB_KEY'; /** * ColorOptions Component */ var ColorOptions = /*#__PURE__*/ function (_React$Component) { _inheritsLoose(ColorOptions, _React$Component); function ColorOptions() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; _this.state = { currentInput: RGB_INPUT }; _this.handleOnChangeInput = function (e) { _this.setState({ currentInput: e.target.value }); }; return _this; } var _proto = ColorOptions.prototype; /** * Render ColorOptions Component */ _proto.render = function render() { return _react2.default.createElement("div", { className: "absolute pa3 w-100 z-5 bg-base options-container br2" }, _react2.default.createElement("div", { className: "mv3 relative items-end flex w-100" }, _react2.default.createElement("div", { className: "w-75" }, this.state.currentInput === RGB_INPUT ? _react2.default.createElement(_RGBInput2.default, { color: this.props.color.rgba, onChange: this.props.onColorChange }) : _react2.default.createElement(_HSVInput2.default, { color: this.props.color.hsva, onChange: this.props.onColorChange })), _react2.default.createElement("div", { className: "w-25 mb3" }, _react2.default.createElement(_Dropdown2.default, { size: "small", options: [{ value: RGB_INPUT, label: 'RGB' }, { value: HSV_INPUT, label: 'HSV' }], value: this.state.currentInput, onChange: this.handleOnChangeInput }))), _react2.default.createElement(_Saturation2.default, { color: this.props.color.rgba, onChangeComplete: this.props.onColorChange }), _react2.default.createElement(_Gradient2.default, { color: this.props.color.rgba, onChangeComplete: this.props.onColorChange }), _react2.default.createElement(_Alpha2.default, { color: this.props.color.rgba, onChangeComplete: this.props.onColorChange }), _react2.default.createElement(_ColorHistory2.default, this.props)); }; return ColorOptions; }(_react2.default.Component); exports.default = ColorOptions; ColorOptions.propTypes = { /** Color input */ color: _propTypes2.default.object.isRequired, /** ColorChange event */ onColorChange: _propTypes2.default.func };