import { Property } from 'csstype'; import { type ChangeEvent } from 'react'; import { type DataTestId, type MaskingProps, type StylingProps } from '@dynatrace/strato-components/core'; import type { FocusEvents, KeyboardEvents } from '../../core/types/events.js'; import type { FormControlProps } from '../../core/types/form-control-props.js'; import type { FormControlRef } from '../shared-types.js'; /** * @public */ export type TextAreaProps = FormControlProps) => void | never> & FocusEvents & StylingProps & DataTestId & MaskingProps & KeyboardEvents & { placeholder?: string; /** * This attribute indicates whether the textarea is resizable by the user, and, if so, in which direction. * @defaultValue 'both' */ resize?: 'both' | 'vertical' | 'horizontal' | 'none'; /** * The visible width of the text control, in average character widths. * If it is specified, it must be a positive integer. * @defaultValue 20 */ cols?: number; /** * The number of visible text lines for the control. If it is specified, it must be a positive integer. * @defaultValue 2 */ rows?: number; /** * The minimum number of characters required that the user should enter. * Doesn't stop the user from removing characters so that the number entered goes past the minimum, * but it does make the value entered into the