import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { NgControl, UntypedFormControl } from '@angular/forms'; import { TranslocoScope } from '@jsverse/transloco'; import { Subject } from 'rxjs'; import type { InputmaskOptions } from '@sebgroup/green-angular/src/v-angular/input-mask'; import { NggvBaseControlValueAccessorComponent } from '@sebgroup/green-angular/src/v-angular/base-control-value-accessor'; import * as i0 from "@angular/core"; /** * Input fields allow users to add and edit text. * https://designlibrary.sebgroup.com/components/component-input */ export declare class NggvInputComponent extends NggvBaseControlValueAccessorComponent implements OnInit, OnDestroy { ngControl: NgControl; protected translocoScope: TranslocoScope; protected cdr: ChangeDetectorRef; element: ElementRef; /** * Adding .gds-form-item as a class to host element */ class: string; /** * Adding .gds-form-item--small class based on size input for styling */ size: 'small' | 'large'; /** * Special property used for selecting DOM elements during automated UI testing. */ thook: string | null | undefined; /** * Type of input field. Should avoid types that modify field too much such as range. */ type: string; /** * Text shown before input has a written value. */ placeholder?: string; /** * If set to "on", hint for form autofill feature. */ autocomplete: string; /** * If set to true, the value will not be editable. */ readonly: boolean; /** * If set to true, enables the Angular template-driven email validator. */ email: boolean; /** * Minimum value required for numeric input types. */ min: number; /** * Maximum value required for numeric input types. */ max: number; /** * Incremental values that are valid for numeric input types. */ step: number; /** * Minimum length (number of characters) of value. */ set minLength(length: number); /** * Minimum length (number of characters) of value. * @deprecated minlength triggers angular-template-validation. Use @Input() minLength instead. */ set minlength(length: number); get minlength(): number; /** Maximum length (number of characters) of value. */ set maxLength(length: number); get maxlength(): number; /** * Maximum length (number of characters) of value. * @deprecated maxlength triggers angular-template-validation. Use @Input() maxLength instead. */ set maxlength(length: number); private _maxlength; private _minlength; /** Wether to show label that tells how many characters are still left to be entered. Will only be set if maxLength is also set */ private _showCharacterCountDown; set showCharacterCountdown(option: boolean); get showCharacterCountdown(): boolean; /** Pattern the value must match to be valid. */ pattern: string; /** Amount of time to wait until emitting (nggvINput) event */ debounceTime: number; /** Settings for input mask if requested */ private _inputMask; set inputMask(newInputMask: InputmaskOptions); get inputMask(): InputmaskOptions; /** Emits every time the value of the inner input field changes, independantly of updates on the formcontroller */ nggvInput: EventEmitter; private _formControl; get control(): UntypedFormControl; /** Returns if maxlength is used */ get hasMaxLength(): boolean; /** Toggler for showing or hiding the input field */ hideInput$: Subject; protected inputChange$: Subject; protected _destroy$: Subject; constructor(ngControl: NgControl, translocoScope: TranslocoScope, cdr: ChangeDetectorRef, element: ElementRef); ngOnInit(): void; ngOnDestroy(): void; writeValue(value: any): void; cutTextAfterMaxLength(value: any): any; /** @internal */ onInput(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }