import * as i0 from '@angular/core'; import { ElementRef, OnChanges, OnInit, DoCheck, AfterContentInit, ChangeDetectorRef, EventEmitter, Renderer2, SimpleChanges } from '@angular/core'; import { NgControl, NgForm, FormGroupDirective } from '@angular/forms'; import * as i1 from '@usitsdasdesign/dds-ng/core/focus-handler'; import { DestroyCtor, I18nCtor, FormAccessorCtor, ErrorStateCtor } from '@usitsdasdesign/dds-ng/core/common-behaviors'; import { ThemeClassesMap } from '@usitsdasdesign/dds-ng/core/theme'; import { LabelPosition, ErrorState, Size, MaxLengthPositions, ThousandSeparators, DecimalMarkers, PositionState, Themes } from '@usitsdasdesign/dds-ng/shared'; import { DdsConfigService } from '@usitsdasdesign/dds-ng/shared/dds-config'; import { I18nService, ITranslation } from '@usitsdasdesign/dds-ng/shared/i18n'; import { TooltipType, InvokeType } from '@usitsdasdesign/dds-ng/tooltip'; declare class InputFieldDirective { ngControl: NgControl; parentForm: NgForm; parentFormGroup: FormGroupDirective; elementRef: ElementRef; inputField: boolean; constructor(ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, elementRef: ElementRef); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface InputOptions { label?: string; labelPosition?: LabelPosition | string; placeholder?: string; value?: string; customClass?: string; disabled?: boolean; isInverse?: boolean; isFocused?: boolean; isError?: boolean; isRequired?: boolean; isTrimValue?: boolean; errorState?: ErrorState | string; size?: Size | string; description?: string; errorMessage?: string; descriptionType?: DescriptionType | string; maxLength?: number; maxLengthPosition?: MaxLengthPositions | string; textAlign?: TextAlign | string; ariaLabel?: string; type?: string; mask?: string; prefix?: string; suffix?: string; thousandSeparator?: ThousandSeparators | string; decimalMarker?: DecimalMarkers | '.' | ','; allowNegativeNumbers?: boolean; dropSpecialCharacters?: boolean; showMaskTyped?: boolean; customPatterns?: MaskPatterns; accept?: string; alt?: string; autocomplete?: string; autofocus?: boolean; capture?: string; checked?: boolean; dirname?: string; form?: string; height?: number; list?: string; max?: number; min?: number; minlength?: number; multiple?: boolean; name?: string; pattern?: string; readonly?: boolean; src?: string; step?: number; width?: number; tooltipIcon?: string; tooltipCustomClass?: string; tooltipWidth?: number; tooltipShift?: number; tooltipShowDelay?: number; tooltipHideDelay?: number; tooltipIsDisabled?: boolean; tooltipIsOutsideClick?: boolean; tooltipType?: TooltipType | string; tooltipSize?: Size | string; tooltipHasBeak?: boolean; tooltipIndent?: number; tooltipInvokeType?: InvokeType | string; tooltipPosition?: PositionState | string; tooltipTheme?: Themes | string; } interface MaskPatterns { [character: string]: MaskPattern; } interface MaskPattern { pattern: RegExp; optional?: boolean; symbol?: string; } declare enum DescriptionType { tooltip = "tooltip", text = "text" } declare enum TextAlign { left = "left", right = "right" } declare const MASK_DEFAULT_OPTIONS: { patterns: { '0': { pattern: RegExp; }; '9': { pattern: RegExp; optional: boolean; }; X: { pattern: RegExp; symbol: string; }; A: { pattern: RegExp; }; S: { pattern: RegExp; }; d: { pattern: RegExp; }; m: { pattern: RegExp; }; M: { pattern: RegExp; }; H: { pattern: RegExp; }; h: { pattern: RegExp; }; s: { pattern: RegExp; }; }; }; declare const InputBase: DestroyCtor & I18nCtor & FormAccessorCtor & ErrorStateCtor; declare class InputComponent extends InputBase implements OnChanges, OnInit, DoCheck, AfterContentInit { ngControl: NgControl; parentForm: NgForm; parentFormGroup: FormGroupDirective; cdr: ChangeDetectorRef; i18n: I18nService; private ddsConfig; private renderer; disabled: boolean | undefined; isFocused: boolean | undefined; isEmptyValue: boolean; inputField: ElementRef; inputFieldExternal: InputFieldDirective; label: string | undefined; description: string | undefined; errorMessage: string | undefined; customClass: string | undefined; labelPosition: LabelPosition | string | undefined; size: Size | string | undefined; descriptionType: DescriptionType | string | undefined; maxLengthPosition: MaxLengthPositions | string | undefined; maxLength: number | undefined; isError: boolean | undefined; isInverse: boolean | undefined; errorState: string | ErrorState | undefined; textAlign: TextAlign | string | undefined; placeholder: string | undefined; ariaLabel: string | undefined; isRequired: boolean | undefined; isTrimValue: boolean | undefined; type: string | undefined; set value(value: string | undefined); get value(): string | undefined; mask: string | undefined; prefix: string | undefined; suffix: string | undefined; thousandSeparator: ThousandSeparators | string | undefined; decimalMarker: DecimalMarkers | string | undefined; allowNegativeNumbers: boolean | undefined; dropSpecialCharacters: boolean | undefined; showMaskTyped: boolean | undefined; customPatterns: MaskPatterns | undefined; accept: string | undefined; alt: string | undefined; autocomplete: string | undefined; autofocus: boolean | undefined; capture: string | undefined; checked: boolean | undefined; dirname: string | undefined; form: string | undefined; height: number | undefined; list: string | undefined; max: number | undefined; min: number | undefined; minlength: number | undefined; multiple: boolean | undefined; name: string | undefined; pattern: string | undefined; readonly: boolean | undefined; src: string | undefined; step: number | undefined; width: number | undefined; tooltipIcon: string | undefined; tooltipCustomClass: string | undefined; tooltipWidth: number | undefined; tooltipShift: number | undefined; tooltipIsDisabled: boolean | undefined; tooltipIsOutsideClick: boolean | undefined; tooltipType: TooltipType | string | undefined; tooltipSize: Size | string | undefined; tooltipHasBeak: boolean | undefined; tooltipIndent: number | undefined; tooltipShowDelay: number | undefined; tooltipHideDelay: number | undefined; tooltipInvokeType: InvokeType | string | undefined; tooltipPosition: PositionState | string | undefined; tooltipTheme: Themes | string | undefined; valueChanged: EventEmitter; onBlur: EventEmitter; onFocus: EventEmitter; onEnterEvent: EventEmitter; maxLengthValue: string; characterLimitText: string[]; isExternalLabel: boolean; isTextAlignRight: boolean; themeConfig: ThemeClassesMap; patterns: MaskPatterns; defaultPlaceholder: string; maxLimitText: string; id: string; private _value; get isDescriptionTypeTooltip(): boolean; get isErrorMessageShown(): boolean; get isHeaderShown(): boolean; get maxLengthError(): boolean; get isMaxLengthRight(): boolean; get isMaxLengthTopLeft(): boolean; get isMaxLengthTopRight(): boolean; get isMaxLengthBottom(): boolean; get isMaxLengthBottomRight(): boolean; get isFooterMaxLengthShown(): boolean; get tooltipText(): string; get tooltipTypeValue(): TooltipType | string; get ariaDescription(): string; constructor(ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, cdr: ChangeDetectorRef, i18n: I18nService, ddsConfig: DdsConfigService, renderer: Renderer2); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngDoCheck(): void; ngAfterContentInit(): void; handleKeydown(event: KeyboardEvent): void; handleKeyup(event: KeyboardEvent): void; changeHandle(e: Event): void; writeValue(value: string): void; setDisabledState(disabled: boolean): void; reset(): void; blur(e: Event): void; focus(): void; getAriaLabel(): string; checkError(): void; private genMaxLengthValue; private updPatterns; private updTooltipOptions; private checkIsEmpty; private checkLabelPosition; private externalInputSetAttr; protected setI18nTexts(translation: ITranslation): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class InputModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { DescriptionType, InputComponent, InputFieldDirective, InputModule, MASK_DEFAULT_OPTIONS, TextAlign }; export type { InputOptions, MaskPatterns };