import React from 'react'; import { StyleProp, ViewStyle, TextStyle } from 'react-native'; import { Ux4gInputFieldStatus } from '../input-field/InputField'; export type Ux4gTextAreaSize = 'small' | 'large'; export type Ux4gTextAreaMinHeight = 'small' | 'medium' | 'large' | number; export declare const Ux4gTextAreaMinHeightMap: Record<'small' | 'medium' | 'large', number>; export interface Ux4gTextAreaProps { /** * Current text string inside the text area. */ value: string; /** * Callback invoked when text changes. */ onValueChange: (value: string) => void; /** * Padding sizing (`small` = 12px, `large` = 16px). * @default 'large' */ size?: Ux4gTextAreaSize; /** * Minimum height token (`small`=80, `medium`=120, `large`=160) or exact number in px. * @default 'medium' */ minHeight?: Ux4gTextAreaMinHeight; /** * Semantic validation status (`defaultStatus`, `error`, `warning`, `success`). * @default 'defaultStatus' */ status?: Ux4gInputFieldStatus; /** * Optional top label displayed above the text area. */ label?: string; /** * Whether to display a red asterisk (`*`) next to the label. * @default false */ required?: boolean; /** * Placeholder hint text displayed when empty. */ placeholder?: string; /** * Helper or status caption displayed below the text area. */ caption?: string; /** * Whether to show semantic status icon next to the caption. * @default true */ showCaptionIcon?: boolean; /** * Optional trailing icon/node placed next to the label string. */ trailingIconLabel?: React.ReactNode; /** * Custom string override for character count text (e.g. "0/500 words"). */ characterCountText?: string; /** * Whether the text area is enabled and interactive. * @default true */ enabled?: boolean; /** * Whether the text area is read-only. * @default false */ readOnly?: boolean; /** * Maximum character length limit. */ maxLength?: number; /** * Custom style for the inner `TextInput`. */ style?: StyleProp; /** * Custom style for the outer container. */ containerStyle?: StyleProp; /** * Custom style for the top label. */ labelStyle?: StyleProp; /** * Custom style for the bottom caption. */ captionStyle?: StyleProp; /** * Custom placeholder text color. */ placeholderTextColor?: string; /** * Test identifier for automated testing. */ testID?: string; } /** * **Ux4gTextArea** * * Multiline text area component mirroring the Flutter `Ux4gTextArea` component (`text_area.dart`), * supporting semantic statuses (`error`, `warning`, `success`), customizable `minHeight` tokens (`small`, `medium`, `large`), * character counting (`maxLength`), and visual resize grip indicators. */ export declare const Ux4gTextArea: React.FC; //# sourceMappingURL=TextArea.d.ts.map