@nekobird/controls
Version:
A collection of opinionated user-interface controls.
41 lines (40 loc) • 1.36 kB
TypeScript
import { TextBoxModel } from '@nekobird/rocket';
export interface TextAreaFieldConfig {
element?: HTMLTextAreaElement;
disableLineBreaks: boolean;
disableTabs: boolean;
limitNumberOfCharacters: boolean;
removeLeadingWhitespaces: boolean;
removeMultipleWhitespaces: boolean;
onBlur: (textareafield: TextAreaField) => void;
onFocus: (textareafield: TextAreaField) => void;
onInput: (textareafield: TextAreaField) => void;
onPaste: (textareafield: TextAreaField) => void;
onGrow: (height: number, textareafield: TextAreaField) => void;
}
export declare class TextAreaField {
textBoxModel: TextBoxModel;
config: TextAreaFieldConfig;
isInFocus: boolean;
previousKeyCode?: number;
constructor(config?: Partial<TextAreaFieldConfig>);
setConfig(config?: Partial<TextAreaFieldConfig>): this;
initialize(): this;
readonly selected: string;
insert(string: string): this;
value: string;
readonly isSingleLine: boolean;
readonly lineCount: number;
getHeight(text?: string): number;
filterAndGrow(): this;
grow(): this;
filterInput(): this;
private handleBlur;
private handleFocus;
private handleInput;
private handleKeydown;
private handlePaste;
private listen;
stopListen(): this;
static isHTMLTextAreaElement(element: any): boolean;
}