wix-style-react
Version:
wix-style-react
110 lines (109 loc) • 3.37 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Input = _interopRequireDefault(require("../Input"));
var _ColorPickerConverterSt = require("./ColorPickerConverter.st.css");
var _ColorPickerConverterViewer = _interopRequireDefault(require("./ColorPickerConverterViewer"));
var _utils = require("./utils");
var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/ColorPicker/ColorPickerConverterHex.js";
class ColorPickerConverterHex extends _react.default.PureComponent {
constructor() {
super(...arguments);
this.state = {
hex: (0, _utils.getHexOrEmpty)(this.props.current),
inFocus: false
};
this.change = _ref => {
var {
target: {
value
}
} = _ref;
this.setState({
hex: value
}, () => {
var _color = (0, _utils.safeColor)(value, this.props.allowEmpty);
if (_color) {
this.props.onChange(_color);
}
});
};
this.handleOnFocus = () => {
this.setState({
inFocus: true
});
};
this.handleOnBlur = () => {
this.setState({
inFocus: false,
hex: (0, _utils.getHexOrEmpty)(this.props.current)
});
};
this.handleKeyDown = event => {
var {
key
} = event;
if (key === 'Enter') {
this.props.onEnter();
}
};
}
render() {
var {
dataHook
} = this.props;
return /*#__PURE__*/_react.default.createElement("div", {
className: (0, _ColorPickerConverterSt.st)(_ColorPickerConverterSt.classes.root),
"data-hook": dataHook,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 24,
columnNumber: 7
}
}, /*#__PURE__*/_react.default.createElement(_Input.default, {
size: "small",
value: this.state.hex,
placeholder: this.props.placeholder,
onChange: this.change,
onFocus: this.handleOnFocus,
onBlur: this.handleOnBlur,
onKeyDown: this.handleKeyDown,
className: _ColorPickerConverterSt.classes.colorInput,
onInputClicked: e => e.stopPropagation(),
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 25,
columnNumber: 9
}
}), /*#__PURE__*/_react.default.createElement(_ColorPickerConverterViewer.default, (0, _extends2.default)({}, this.props, {
color: this.props.current,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 36,
columnNumber: 9
}
})));
}
UNSAFE_componentWillReceiveProps(props) {
var hex = (0, _utils.getHexOrEmpty)(props.current);
if (!this.state.inFocus && this.state.hex !== hex) {
this.setState({
hex
});
}
}
}
exports.default = ColorPickerConverterHex;
ColorPickerConverterHex.propTypes = {
current: _propTypes.default.object.isRequired,
onChange: _propTypes.default.func.isRequired,
placeholder: _propTypes.default.string
};
//# sourceMappingURL=ColorPickerConverterHex.js.map