UNPKG

@bimeister/pupakit.forms

Version:
60 lines (59 loc) 3.15 kB
import { ElementRef, OnChanges } from '@angular/core'; import { NgControl } from '@angular/forms'; import { ComponentChanges } from '@bimeister/pupakit.common'; import { Nullable } from '@bimeister/utilities'; import { BehaviorSubject, Observable } from 'rxjs'; import { TextareaCounterVisibility } from '../../types/textarea-counter-visibility-mode.type'; import { TextareaSize } from '../../types/textarea-size.type'; import { InputBaseControlValueAccessor } from './input-base-control-value-accessor.abstract'; import * as i0 from "@angular/core"; export declare abstract class TextareaBase extends InputBaseControlValueAccessor<string> implements OnChanges { protected readonly lineHeightSourceRef: ElementRef<HTMLTextAreaElement>; protected readonly textareaElementRef: ElementRef<HTMLTextAreaElement>; size: TextareaSize; readonly size$: BehaviorSubject<TextareaSize>; readonly placeholder: string; readonly placeholder$: BehaviorSubject<string>; readonly autocomplete: boolean; readonly autocomplete$: BehaviorSubject<boolean>; readonly isPatched: boolean; readonly isPatched$: BehaviorSubject<boolean>; minRows: number; private readonly minRows$; readonly minHeightPx$: Observable<number>; maxRows: number; private readonly maxRows$; readonly maxHeightPx$: Observable<Nullable<number>>; maxLength: Nullable<number>; readonly maxLength$: BehaviorSubject<Nullable<number>>; counterVisibility: TextareaCounterVisibility; readonly counterVisibility$: BehaviorSubject<TextareaCounterVisibility>; private readonly focus; private readonly blur; enterKeyPrevented: boolean; readonly enterKeyPrevented$: BehaviorSubject<boolean>; readonly isInvalid$: Observable<boolean>; private readonly valueLength$; readonly counterValue$: Observable<string>; readonly isCounterVisible$: Observable<boolean>; constructor(ngControl: NgControl); protected setValue(value: Nullable<string>): void; ngOnChanges(changes: ComponentChanges<this>): void; emitFocusEvent(focusEvent: FocusEvent): void; emitBlurEvent(blurEvent: FocusEvent): void; preventEnterKeyEvent(event: MouseEvent): void; focusOnTextareaElement(): void; processMouseDown(event: MouseEvent): void; private processSizeChange; private processPlaceholderChange; private processAutocompleteChange; private processIsPatchedChange; private processMaxLengthChange; private processMaxRowsChange; private processMinRowsChange; private processCounterVisibilityChange; private processEnterKeyDisabledChange; private static getHeightPxByRowsCount; static ɵfac: i0.ɵɵFactoryDeclaration<TextareaBase, [{ optional: true; }]>; static ɵdir: i0.ɵɵDirectiveDeclaration<TextareaBase, never, never, { "size": "size"; "placeholder": "placeholder"; "autocomplete": "autocomplete"; "isPatched": "isPatched"; "minRows": "minRows"; "maxRows": "maxRows"; "maxLength": "maxLength"; "counterVisibility": "counterVisibility"; "enterKeyPrevented": "enterKeyPrevented"; }, { "focus": "focus"; "blur": "blur"; }, never, never, false>; }