megadraft
Version:
Rich Text editor built on top of draft.js
63 lines (51 loc) • 2.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = BlockInput;
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _icons = _interopRequireDefault(require("../../icons"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _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; }; return _extends.apply(this, arguments); }
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 BlockInput(props) {
var _classNames;
function renderError(error) {
if (!error) {
return;
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: "block__input__error-text"
}, error);
}
function _handleDrop(event) {
event.preventDefault();
event.stopPropagation();
}
var value = props.value,
error = props.error,
_props$styles = props.styles;
_props$styles = _props$styles === void 0 ? {} : _props$styles;
var padding = _props$styles.padding,
text = _props$styles.text,
readOnly = props.readOnly;
var className = (0, _classnames["default"])((_classNames = {
block__input: true,
"block__input--empty": !value,
"block__input--error": error
}, _defineProperty(_classNames, "block__input--".concat(padding, "-padding"), padding), _defineProperty(_classNames, "block__input--".concat(text, "-text"), text), _defineProperty(_classNames, "block__input--readonly", readOnly), _classNames));
return /*#__PURE__*/_react["default"].createElement("div", {
className: "block__input__row"
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "block__input__wrapper"
}, /*#__PURE__*/_react["default"].createElement("input", _extends({}, props, {
value: value,
type: props.type || "text",
className: className,
onDrop: _handleDrop,
readOnly: readOnly
})), /*#__PURE__*/_react["default"].createElement(_icons["default"].EditIcon, {
className: "block__input__icon"
})), renderError(error));
}