@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
34 lines (27 loc) • 1.91 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var react = require('@carbon/react');
var icons = require('@carbon/react/icons');
var TooltipHover = require('../TooltipHover/TooltipHover.js');
var settings = require('../../internal/settings.js');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
/*
IBM Confidential
694970X, 69497O0
© Copyright IBM Corp. 2022, 2024
*/
const TextAreaComponent = React__default.default.forwardRef(function TextAreaComponent({ id, label, labelText, max, maxCount, tooltipClassName = `${settings.prefix}--bmrg-text-area__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, value, ...textAreaProps }, ref) {
const labelValue = label || labelText;
const maxValue = max ?? maxCount;
// False for null and undefined. We help consumers out by allowing them to pass a max
const enableCounter = maxValue != null;
return (React__default.default.createElement("div", { key: id, className: `${settings.prefix}--bmrg-text-area` },
React__default.default.createElement(react.TextArea, { id: id, labelText: labelValue && (React__default.default.createElement("div", { style: { display: "flex" } },
React__default.default.createElement("div", null, labelValue),
tooltipContent && (React__default.default.createElement("div", { className: tooltipClassName },
React__default.default.createElement(TooltipHover.default, { ...tooltipProps, tooltipText: tooltipContent },
React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" })))))), ref: ref, value: value, maxCount: maxValue, enableCounter: enableCounter, ...textAreaProps })));
});
exports.default = TextAreaComponent;