pouncejs
Version:
A collection of UI components from Panther labs
54 lines (43 loc) • 1.84 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 _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireDefault(require("react"));
var _reactTextareaAutosize = _interopRequireDefault(require("react-textarea-autosize"));
var _Input = require("../utils/Input");
var _helpers = require("../../utils/helpers");
var TextArea = /*#__PURE__*/_react.default.forwardRef(function TextArea(_ref, ref) {
var label = _ref.label,
invalid = _ref.invalid,
required = _ref.required,
disabled = _ref.disabled,
hidden = _ref.hidden,
id = _ref.id,
name = _ref.name,
value = _ref.value,
_ref$variant = _ref.variant,
variant = _ref$variant === void 0 ? 'outline' : _ref$variant,
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["label", "invalid", "required", "disabled", "hidden", "id", "name", "value", "variant"]);
var identifier = id || name || (0, _helpers.slugify)(label);
return /*#__PURE__*/_react.default.createElement(_Input.InputControl, {
variant: variant,
invalid: invalid,
disabled: disabled,
required: required,
hidden: hidden
}, /*#__PURE__*/_react.default.createElement(_Input.InputElement, (0, _extends2.default)({
as: _reactTextareaAutosize.default,
id: identifier,
name: name,
value: value
}, rest, {
ref: ref
})), /*#__PURE__*/_react.default.createElement(_Input.InputLabel, {
raised: !!value,
htmlFor: identifier
}, label));
});
var _default = /*#__PURE__*/_react.default.memo(TextArea);
exports.default = _default;