UNPKG

@talend/react-forms

Version:

React forms library based on json schema form.

91 lines (89 loc) 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = TextArea; var _propTypes = _interopRequireDefault(require("prop-types")); var _designSystem = require("@talend/design-system"); var _labels = require("../../utils/labels"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /* eslint-disable jsx-a11y/no-autofocus */ function TextArea({ id, isValid, errorMessage, onChange, onFinish, schema, value, valueIsUpdating }) { const { autoFocus, description, disabled = false, placeholder, readOnly = false, rows = 5, title, labelProps } = schema; return /*#__PURE__*/(0, _jsxRuntime.jsx)(_designSystem.Form.Textarea, { id: id, autoFocus: autoFocus, label: (0, _labels.getLabelProps)(title, labelProps, schema.hint, schema.required), required: schema.required, disabled: disabled || valueIsUpdating, placeholder: placeholder, onBlur: event => onFinish(event, { schema }), onChange: event => onChange(event, { schema, value: event.target.value }), readOnly: readOnly, rows: rows, value: value, description: errorMessage || description, hasError: !isValid, "aria-invalid": !isValid, "aria-required": schema.required }); } if (process.env.NODE_ENV !== 'production') { TextArea.propTypes = { id: _propTypes.default.string, isValid: _propTypes.default.bool, errorMessage: _propTypes.default.string, onChange: _propTypes.default.func.isRequired, onFinish: _propTypes.default.func.isRequired, schema: _propTypes.default.shape({ className: _propTypes.default.string, autoFocus: _propTypes.default.bool, description: _propTypes.default.string, disabled: _propTypes.default.bool, placeholder: _propTypes.default.string, readOnly: _propTypes.default.bool, required: _propTypes.default.bool, rows: _propTypes.default.number, title: _propTypes.default.string, labelProps: _propTypes.default.object, hint: _propTypes.default.shape({ icon: _propTypes.default.string, className: _propTypes.default.string, overlayComponent: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]).isRequired, overlayPlacement: _propTypes.default.string }) }), value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), valueIsUpdating: _propTypes.default.bool }; } TextArea.defaultProps = { isValid: true, schema: {}, value: '' }; //# sourceMappingURL=TextArea.component.js.map