neumorphic-peripheral
Version:
A lightweight, framework-agnostic JavaScript/TypeScript library for beautiful neumorphic styling
42 lines • 1.43 kB
TypeScript
import { TextareaConfig, InputInstance } from '../types';
import { BaseComponent } from './base';
export declare class TextareaComponent extends BaseComponent implements InputInstance {
private _textareaConfig;
private _validationResult;
private _debouncedValidate;
private _resizeObserver?;
constructor(element: HTMLElement, config?: TextareaConfig);
get textareaElement(): HTMLTextAreaElement;
protected init(): void;
protected bindEvents(): void;
private applyTextareaStyles;
private applyPlaceholderStyles;
private setupInteractionEffects;
private setupAutoResize;
private autoResize;
private handleFocus;
private handleBlur;
private setupValidation;
private performValidation;
private updateValidationState;
validate(): any;
getValue(): string;
setValue(value: string): void;
clearErrors(): void;
focus(): void;
blur(): void;
select(): void;
isValid(): boolean;
getValidationResult(): any;
insertAtCursor(text: string): void;
getSelection(): {
start: number;
end: number;
text: string;
};
setSelection(start: number, end: number): void;
protected onUpdate(newConfig: Partial<TextareaConfig>): void;
protected onDestroy(): void;
}
export declare function textarea(element: HTMLElement, config?: TextareaConfig): TextareaComponent;
//# sourceMappingURL=textarea.d.ts.map