You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Hydro/packages/ui-default/components/scratchpad/DataInputComponent.jsx

40 lines
975 B
React

import PropTypes from 'prop-types';
import classNames from 'classnames';
export default function DataInputComponent(props) {
const {
html,
title,
value,
onChange,
className,
...rest
} = props;
const cn = classNames(className, 'flex-col flex-fill');
return (
<div {...rest} className={cn}>
{html // eslint-disable-next-line react/no-danger
3 years ago
? <div className="scratchpad__data-input" wrap="off"><pre dangerouslySetInnerHTML={{ __html: value }} /></div>
: (
<textarea
className="scratchpad__data-input"
wrap="off"
value={value}
onChange={(ev) => {
ev.stopPropagation();
onChange(ev.target.value);
}}
placeholder={title}
/>
)}
</div>
);
}
DataInputComponent.propTypes = {
title: PropTypes.node,
value: PropTypes.string,
onChange: PropTypes.func,
className: PropTypes.string,
};