@magaya/react-components
Version:
Magaya React Components Library
62 lines (61 loc) • 2.82 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FormInput = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _FieldWrapper = require("./FieldWrapper");
var _Labels = require("../Labels");
var _Inputs = require("../Inputs");
var _excluded = ["validationMessage", "touched", "label", "id", "valid", "disabled", "hint", "type", "required", "max", "value"];
var FormInput = function FormInput(fieldRenderProps) {
var validationMessage = fieldRenderProps.validationMessage,
touched = fieldRenderProps.touched,
label = fieldRenderProps.label,
id = fieldRenderProps.id,
valid = fieldRenderProps.valid,
disabled = fieldRenderProps.disabled,
hint = fieldRenderProps.hint,
type = fieldRenderProps.type,
required = fieldRenderProps.required,
max = fieldRenderProps.max,
value = fieldRenderProps.value,
others = (0, _objectWithoutProperties2["default"])(fieldRenderProps, _excluded);
var showValidationMessage = touched && validationMessage;
var showHint = !showValidationMessage && hint;
var hintId = showHint ? "".concat(id, "_hint") : '';
var errorId = showValidationMessage ? "".concat(id, "_error") : '';
var remainingCharacters = max - (value === null || value === void 0 ? void 0 : value.length);
var showRemainingCharacters = remainingCharacters > 0;
return /*#__PURE__*/_react["default"].createElement(_FieldWrapper.FieldWrapper, null, /*#__PURE__*/_react["default"].createElement(_Labels.Label, {
editorId: id,
editorDisabled: disabled
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "k-label-text"
}, label), required && /*#__PURE__*/_react["default"].createElement("span", {
className: "k-label-required"
}, "(required)"), showRemainingCharacters && /*#__PURE__*/_react["default"].createElement(_Labels.Hint, {
direction: 'end',
style: {
position: 'absolute',
right: 0
}
}, remainingCharacters)), /*#__PURE__*/_react["default"].createElement("div", {
className: 'k-form-field-wrap'
}, /*#__PURE__*/_react["default"].createElement(_Inputs.Input, Object.assign({
valid: valid,
type: type,
id: id,
disabled: disabled,
maxLength: max,
value: value,
ariaDescribedBy: "".concat(hintId, " ").concat(errorId)
}, others)), showHint && /*#__PURE__*/_react["default"].createElement(_Labels.Hint, {
id: hintId
}, hint), showValidationMessage && /*#__PURE__*/_react["default"].createElement(_Labels.Error, {
id: errorId
}, validationMessage)));
};
exports.FormInput = FormInput;