import * as i0 from '@angular/core'; import { ElementRef, AfterViewInit, OnChanges, Renderer2, SimpleChanges, OnInit, EventEmitter, OnDestroy, ChangeDetectorRef, AfterContentChecked, AfterContentInit, QueryList } from '@angular/core'; import { PlatformService } from '@kirbydesign/designsystem/helpers'; import { TranslationService, ResizeObserverService } from '@kirbydesign/designsystem/shared'; import { FormFieldControl, WindowRef } from '@kirbydesign/designsystem/types'; import { DropdownComponent } from '@kirbydesign/designsystem/dropdown'; import { ControlValueAccessor } from '@angular/forms'; import * as i1 from '@angular/common'; import * as i3 from '@kirbydesign/designsystem/icon'; declare class AffixDirective { el: ElementRef; type: 'prefix' | 'suffix'; constructor(el: ElementRef); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DateInputDirective implements AfterViewInit, OnChanges { private elementRef; private renderer; private locale; onInput(): void; prefillYear: boolean; useNativeDatePicker: boolean; dateValue: string; private maskingElement; private inputmask; /** * `isDateInput` is used to avoid removing the type attribute on the input element and calling updateMask() * when the directive is not used on a date input. * This is needed for the standalone component 'InputComponent', which includes the directive * using the `hostDirectives` component decorator prop. Angular ignores the selector of directives * applied in the `hostDirectives` property which effectively applies the directive to all kirby-inputs, not only date inputs. * This check prevents the directive from executing it's masking on non-date inputs. * See: https://angular.io/guide/directive-composition-api */ private isDateInput; /** * Inputmask should be enabled exclusively when _not_ using the platform * native date picker. * * `enableInputMask` should be ignored if the type attribute of the `` * element is different from 'date' and/or the platform native date picker is * explicitly enabled. * * @private * @memberof DateInputDirective */ private enableInputMask; constructor(elementRef: ElementRef, renderer: Renderer2, locale: string, valueAccessors: ControlValueAccessor[]); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; private initMask; private getInputFormat; private getPlaceholder; private appendMaskingElement; private wrapElement; private updateMask; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare enum InputSize { medium = "md", large = "lg" } declare class InputComponent implements OnChanges, OnInit, FormFieldControl { private elementRef; kirbyChange: EventEmitter; private _hasError; set type(value: string); size: InputSize | `${InputSize}`; /** * Removes padding, width, rounded borders and drop-shadow when set to `true`. */ borderless: boolean; get hasError(): boolean; set hasError(value: boolean); autocomplete: 'on' | 'off'; autocorrect: 'on' | 'off'; value: string; maxlength: number; inputmode: string; get nativeValue(): string; hasErrorChange: EventEmitter; constructor(elementRef: ElementRef, builtInValueAccessors: ControlValueAccessor[]); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; private static typeToInputmodeMap; _onKeyUp(value: string): void; _onCutPaste(target: HTMLInputElement): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TextareaComponent implements OnChanges, FormFieldControl, OnInit { private elementRef; kirbyChange: EventEmitter; private _hasError; value: string; /** * Removes padding, width, rounded borders and drop-shadow when set to `true`. */ borderless: boolean; get hasError(): boolean; set hasError(value: boolean); autocomplete: 'on' | 'off'; autocorrect: 'on' | 'off'; maxlength: number; get nativeValue(): string; hasErrorChange: EventEmitter; constructor(elementRef: ElementRef, builtInValueAccessors: ControlValueAccessor[]); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; _onKeyUp(value: string): void; _onCutPaste(target: HTMLInputElement): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class InputCounterComponent implements AfterViewInit, OnDestroy { private translations; private cdr; listenTo: InputComponent | TextareaComponent; length: number; maxlength: number | undefined; private _inputChangeSubscription; textToAnnounce: string; lastAnnouncedLength: number; skipNextAnnouncement: boolean; get text(): string; constructor(translations: TranslationService, cdr: ChangeDetectorRef); ngAfterViewInit(): void; private skipAnnouncement; ngOnDestroy(): void; announceText(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class FormFieldComponent implements AfterContentChecked, AfterContentInit, OnInit, OnDestroy { private platform; private renderer; private windowRef; private resizeObserverService; private cdr; private isRegistered; private element; private isTouch; private nestedInteractiveElement; private nestedInteractiveErrorSubscription; private _message; private _label; showDefaultCalendarIcon: boolean; _nestedInteractiveHasError: boolean; _labelId: string; _errorMessageId: string; _messageId: string; get label(): string | undefined; set label(value: string | undefined); get message(): string | null | undefined; set message(value: string | null | undefined); affixElements: QueryList; counter: InputCounterComponent; private radioGroupComponent; inputComponent: InputComponent; dropdownComponent: DropdownComponent; textareaComponent: TextareaComponent; private radioGroupElement; input: ElementRef; dropdown: ElementRef; textarea: ElementRef; dateInput: DateInputDirective; constructor(elementRef: ElementRef, platform: PlatformService, renderer: Renderer2, windowRef: WindowRef, resizeObserverService: ResizeObserverService, cdr: ChangeDetectorRef); get _wrapContentInLabel(): boolean; private dispatchLoadEvent; _onRegisterFormField(): void; onLabelClick(): void; focus(): void; ngOnInit(): void; ngAfterContentInit(): void; ngAfterContentChecked(): void; ngOnDestroy(): void; private registerNestedInteractive; private getNestedInteractiveElement; private setNestedInteractiveMessageAttributes; private setNestedInteractiveLabelAttributes; private subscribeToNestedInteractiveError; private shouldShowDefaultCalendarIcon; private handleAffixOffset; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class FormFieldMessageComponent { text: string; position: 'left' | 'right'; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface InputMask { unmaskedvalue: () => string; setValue: (val: string) => void; } declare class DecimalMaskDirective implements OnInit { private elementRef; private locale; private valueAccessors; min: number; max: number; precision: number; setMaxOnOverflow: boolean; alignment: 'left' | 'right'; padPrecisionDigits: boolean; set allowMinus(allowMinus: boolean); set disableGroupSeperator(disabled: string); set maxlength(maxlength: number); groupSeparator: string; radixPoint: string; inputmask: InputMask; _allowMinus: boolean; _maxlength: number; _groupSeperatorDisabled: boolean; constructor(elementRef: ElementRef, locale: string, valueAccessors: ControlValueAccessor[]); ngOnInit(): void; private initMask; private getMax; private getMin; private extendBuiltinValueAccessor; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class FormFieldModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { AffixDirective, DateInputDirective, DecimalMaskDirective, FormFieldComponent, FormFieldMessageComponent, FormFieldModule, InputComponent, InputCounterComponent, InputSize, TextareaComponent }; //# sourceMappingURL=kirbydesign-designsystem-form-field.d.ts.map