import { EventEmitter } from '../../stencil-public-runtime'; import { IxInputFieldComponent, ValidationResults } from '../utils/input'; import type { TextareaResizeBehavior } from './textarea.types'; /** * @form-ready */ export declare class Textarea implements IxInputFieldComponent { hostElement: HTMLIxTextareaElement; formInternals: ElementInternals; /** * The name of the textarea field. */ name?: string; /** * The placeholder text for the textarea field. */ placeholder?: string; /** * The value of the textarea field. */ value: string; /** * Determines if the textarea field is required. */ required: boolean; /** * Determines if the textarea field is disabled. */ disabled: boolean; /** * Determines if the textarea field is readonly. */ readonly: boolean; /** * The helper text for the textarea field. */ helperText?: string; /** * The info text for the textarea field. */ infoText?: string; /** * Determines if the text should be displayed as a tooltip. */ showTextAsTooltip?: boolean; /** * The valid text for the textarea field. */ validText?: string; /** * The warning text for the textarea field. */ warningText?: string; /** * The label for the textarea field. */ label?: string; /** * The error text for the textarea field. */ invalidText?: string; /** * The height of the textarea field (e.g. "52px"). * Will take precedence over `textareaRows` prop if both are set. */ textareaHeight?: string; /** * The width of the textarea field (e.g. "200px"). * Will take precedence over `textareaCols` prop if both are set. */ textareaWidth?: string; /** * The height of the textarea specified by number of rows. * Will be overridden by `textareaHeight` prop if both are set. */ textareaRows?: number; /** * The width of the textarea specified by number of characters. * Will be overridden by `textareaWidth` prop if both are set. */ textareaCols?: number; /** * Determines the resize behavior of the textarea field. * Resizing can be enabled in one direction, both directions or completely disabled. */ resizeBehavior: TextareaResizeBehavior; /** * The maximum length of the textarea field. */ maxLength?: number; /** * The minimum length of the textarea field. */ minLength?: number; /** * Event emitted when the value of the textarea field changes. */ valueChange: EventEmitter; /** * Event emitted when the validity state of the textarea field changes. */ validityStateChange: EventEmitter; /** * Event emitted when the textarea field loses focus. */ ixBlur: EventEmitter; /** * Event emitted when the textarea field loses focus and the value has changed. *@since 4.4.0 */ ixChange: EventEmitter; isInvalid: boolean; isValid: boolean; isInfo: boolean; isWarning: boolean; isInvalidByRequired: boolean; private readonly textAreaRef; private readonly inputId; private touched; /** @internal */ initialValue?: string; private resizeObserver?; private isManuallyResized; private manualHeight?; private manualWidth?; private isProgrammaticResize; private lastObservedInlineHeight?; private lastObservedInlineWidth?; updateClassMappings(result: ValidationResults): void; onDimensionPropsChange(): void; onResizeBehaviorChange(): void; componentWillLoad(): void; disconnectedCallback(): void; private resetManualResizeState; private updateLastObservedInlineStyles; private hasInlineStyleChange; private initResizeObserver; updateFormInternalValue(value: string): void; /** @internal */ getAssociatedFormElement(): Promise; /** @internal */ hasValidValue(): Promise; /** * Get the native textarea element. */ getNativeInputElement(): Promise; /** * Focuses the input field */ focusInput(): Promise; /** * Check if the textarea field has been touched. * @internal * */ isTouched(): Promise; private getTextareaHeight; private getTextareaWidth; render(): any; }