import { GenericFormElement } from '../../internal/mixin/genericFormElement'; /** * `dap-ds-textarea` * @summary A textarea is a multi-line text input field. * @element dap-ds-textarea * @title - Textarea * * @property {'xs' | 'sm' | 'lg'} size - The size of the textarea. Default is `md`. * @property {boolean} disabled - The disabled state of the textarea. * @property {number} minlength - The minimum length of the textarea. * @property {string} value - The value of the textarea. * @property {string} tooltip - The tooltip of the textarea. * @property {'top' | 'right' | 'bottom' | 'left'} tooltipPlacement - The tooltip placement of the textarea. * @property {InputStatus} status - The status of the textarea. Can be `success` or `error`. * @property {boolean} readonly - The readonly state of the textarea. * @property {boolean} required - The required state of the textarea. * @property {string} label - The label of the textarea. * @property {string} description - The description of the textarea. * @property {string} feedback - The feedback of the textarea. * @property {'negative' | 'positive' | 'warning'} feedbackType - The feedback type of the textarea. Can be `negative`, `positive`, or `warning`. * @property {boolean} optional - The optional state of the textarea. * @property {string} optionalLabel - The optional label of the textarea. * @property {boolean} subtle - The weight of the label. Default is `false` * @property {boolean} autofocus - The autofocus state of the textarea. * * @event {{ value: number }} dds-count-change - Fires when the count of the textarea changes. * @event {{ value: string }} dds-change - Fired when the textarea value changes. * @event {{ value: string }} dds-input - Fired when the textarea value changes. * @event {{ value: string, originalEvent: Event }} dds-keydown - Fired when a key is pressed down. * @event {{ void }} dds-blur - Fired when the textarea loses focus. * @event {{ void }} dds-focus - Emitted when the textarea gains focus. * @event {{ value: string }} dds-select - Emitted when select text in textarea. * * @slot feedback-icon - The custom icon of the feedback. * * @csspart base - The main textarea container. * @csspart input - The native input of the textarea. * @csspart counter - The counter of the textarea. * @csspart counter-base - The base of the counter. * @csspart feedback - The feedback of the textarea. * @csspart feedback-base - The base of the feedback. * @csspart feedback-text - The text of the feedback. * @csspart feedback-icon - The icon of the feedback. * * @cssproperty --dds-textarea-min-rows - Minimum number of rows in the textarea. (default: 2) * @cssproperty --dds-textarea-spacing - Gap between elements in the textarea container. (default: var(--dds-spacing-200)) * @cssproperty --dds-textarea-gap - Gap between elements in the textarea container. (default: var(--dds-spacing-200)) * @cssproperty --dds-textarea-margin-top - Top margin of the textarea. (default: var(--dds-spacing-200)) * @cssproperty --dds-textarea-padding - Padding of the textarea control. (default: var(--dds-spacing-200) var(--dds-spacing-300)) * @cssproperty --dds-textarea-border-width - Border width of the textarea. (default: var(--dds-border-width-base)) * @cssproperty --dds-textarea-border-color - Border color of the textarea. (default: var(--dds-border-neutral-base)) * @cssproperty --dds-textarea-background - Background color of the textarea. (default: var(--dds-fields-background-default)) * @cssproperty --dds-textarea-color - Text color of the textarea. (default: var(--dds-text-neutral-base)) * @cssproperty --dds-textarea-border-radius - Border radius of the textarea. (default: var(--dds-radius-base)) * @cssproperty --dds-textarea-disabled-bg - Background color when disabled. (default: var(--dds-fields-background-disabled)) * @cssproperty --dds-textarea-disabled-color - Text color when disabled. (default: var(--dds-text-neutral-disabled)) * @cssproperty --dds-textarea-readonly-bg - Background color when readonly. (default: var(--dds-fields-background-read-only)) * @cssproperty --dds-textarea-readonly-color - Text color when readonly. (default: var(--dds-text-neutral-subtle)) * @cssproperty --dds-textarea-error-border - Border color when in error state. (default: var(--dds-border-negative-base)) * @cssproperty --dds-textarea-success-border - Border color when in success state. (default: var(--dds-border-positive-base)) */ export default class DapDSTextarea extends GenericFormElement { private static nextId; private readonly inputId; private readonly labelId; private readonly descriptionId; private readonly counterId; /**@ignore */ input: HTMLTextAreaElement; /** Hide character counter. */ hideCounter: boolean; /** The minimum length of the textarea. */ minlength?: number; /** The maximum length of the textarea. */ maxlength?: number; /** The number of rows in the textarea. */ rows?: number; /** The number of columns in the textarea. */ cols?: number; /** The placeholder of the textarea. */ placeholder: string; /** Indicates how the control should wrap the value for form submission. */ wrap: 'hard' | 'soft'; /**@ignore */ count: number; static readonly styles: import('lit').CSSResult; constructor(); get focusElement(): HTMLTextAreaElement; private _handleSlotChange; connectedCallback(): Promise; attributeChangedCallback(name: string, oldValue: any, newValue: any): void; onInput(): void; onChange(): void; onSelect(e: Event): void; formResetCallback(): void; handleInvalid(event: Event): void; private _renderFooter; render(): unknown; private _renderFeedback; }