@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
26 lines (23 loc) • 1.5 kB
JavaScript
import React from 'react';
import { TextArea } from '@carbon/react';
import { Information } from '@carbon/react/icons';
import TooltipHover from '../TooltipHover/TooltipHover.js';
import { prefix } from '../../internal/settings.js';
/*
IBM Confidential
694970X, 69497O0
© Copyright IBM Corp. 2022, 2024
*/
const TextAreaComponent = React.forwardRef(function TextAreaComponent({ id, label, labelText, max, maxCount, tooltipClassName = `${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.createElement("div", { key: id, className: `${prefix}--bmrg-text-area` },
React.createElement(TextArea, { id: id, labelText: labelValue && (React.createElement("div", { style: { display: "flex" } },
React.createElement("div", null, labelValue),
tooltipContent && (React.createElement("div", { className: tooltipClassName },
React.createElement(TooltipHover, { ...tooltipProps, tooltipText: tooltipContent },
React.createElement(Information, { size: 16, fill: "currentColor" })))))), ref: ref, value: value, maxCount: maxValue, enableCounter: enableCounter, ...textAreaProps })));
});
export { TextAreaComponent as default };