import { EventEmitter } from '../../stencil-public-runtime'; import { FormFieldValidationRule } from '../../helpers/validator/rules/form-field-validation-rule'; import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core'; import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer'; import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer'; import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer'; import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics'; import { LabelSuffixButtonConfig } from '../vega-field-label/types'; import { Nullable } from '../../types/general'; /** * @vegaVersion 1.11.0 */ export declare class VegaTextarea { protected readonly globalSlimmers: GlobalSlimmers; protected readonly formFieldController: FormFieldControllerSlimmer; protected changeEventEmitter: EventEmitSlimmerBase; protected blurEventEmitter: EventEmitSlimmerBase; protected labelButtonClickEventEmitter: EventEmitSlimmerBase; protected textareaEventPrevent: ChildNodesEventPreventSlimmer; protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer; private textareaRef; private inputContainerRef; host: HTMLVegaTextareaElement; currentCharCount: number; /** * Specifies a placeholder string that displays as a temporary hint or * example within the text area. The placeholder text is shown when the * field is empty and disappears once the user begins typing. * * Use this to indicate the expected format or content of the input, * for example `'Enter your comments here...'`. * * @default '' * @vegaVersion 1.11.0 */ placeholder: string; /** * Provides a supplementary helper message displayed below the text area * that assists users in understanding the expected value or format. * * The hint is visible at all times (not just on focus) and is typically * used for guidance such as character requirements or formatting rules. * * @default '' * @vegaVersion 1.11.0 */ hint: string; /** * Specifies whether the text area is disabled. When `true`, the text area * is non-interactive — the user cannot type, focus, or select the field. * The disabled state is reflected as an HTML attribute for CSS styling. * * @default false * @vegaVersion 1.11.0 */ disabled: boolean; /** * Specifies the visible label text rendered above the text area. The label * helps identify the purpose or content expected within the field and also * serves as the accessible `aria-label` for screen readers when present. * * Clicking the label will focus the text area. * * @default '' * @vegaVersion 1.11.0 */ label: string; /** * Configuration object for an optional suffix button rendered beside the * field label. Use this to provide an inline action (e.g., a help or info * button) next to the label text. * * When the button is clicked, the `vegaLabelButtonClick` event is emitted. * Set to `null` to hide the suffix button. * * @default null * @vegaVersion 2.68.0 */ labelSuffixButtonConfig: Nullable; /** * Determines whether to display a live character counter below the text area. * * When `true`, the counter shows the current character count. If `maxLength` * is also set, the counter displays in the format `current/max` and visually * highlights when the limit is exceeded. * * @default false * @vegaVersion 1.11.0 */ showCounter: boolean; /** * The current value (content) of the text area field. * * This property is mutable and will be updated programmatically when the * user types into the text area. It can also be set externally to * pre-populate or reset the field. Changes to this property trigger the * `vegaChange` event and update the character counter if `showCounter` * is enabled. Supports two-way binding in framework wrappers. * * @default '' * @vegaVersion 1.11.0 */ value: string; watchValue(value: string): void; /** * Reflects the current validation status of the text area. * * - `true` — the field value passes all validation rules. * - `false` — one or more validation rules have failed. * - `null` — the field has not been validated yet (initial state). * * This property is mutable: it is updated automatically when * `autoValidation` is enabled, but can also be set manually to override * the validation state. The value is reflected as an HTML attribute. * * @default null * @vegaVersion 1.11.0 */ isValid: boolean; /** * Determines whether the text area should be validated automatically as the * user types. When `true`, validation rules (including `required`, `minLength`, * `maxLength`, and custom `validationRules`) are evaluated on blur and the * `isValid` property is updated accordingly. * * Set to `false` to handle validation manually. * * @default true * @vegaVersion 1.11.0 */ autoValidation: boolean; /** * Determines whether the text area must have a non-empty value before the * form can be submitted. When `true`, a required-field indicator is shown * on the label and the built-in `RequiredFieldRule` is applied during * validation. * * @default false * @vegaVersion 1.11.0 */ required: boolean; /** * Specifies the maximum number of characters (UTF-16 code units) that the * user can enter in the text area. The native `maxlength` attribute is * applied to the inner `