/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Subscription } from 'rxjs'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { ElementRef, EventEmitter, NgZone, ChangeDetectorRef, Injector, Renderer2, SimpleChanges, QueryList } from '@angular/core'; import { IconShowOptions } from './models/icon-show-options'; import { SuffixTemplateDirective, PrefixTemplateDirective } from '@progress/kendo-angular-common'; import { TextBoxSuffixTemplateDirective } from './textbox-suffix.directive'; import { TextBoxPrefixTemplateDirective } from './textbox-prefix.directive'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { SVGIcon } from '@progress/kendo-angular-icons'; import { InputSize, InputRounded, InputFillMode, InputType } from '../common/models'; import * as i0 from "@angular/core"; /** * Represents the Kendo UI TextBox component for Angular. * Use this component to create styled and feature-rich text input fields. * * @example * ```html * * ``` * * @remarks * Supported children components are: {@link TextBoxCustomMessagesComponent}. */ export declare class TextBoxComponent implements ControlValueAccessor { private localizationService; private ngZone; private changeDetector; protected renderer: Renderer2; private injector; hostElement: ElementRef; /** * @hidden */ focusableId: string; /** * Sets the `title` attribute of the `input` element of the TextBox. * * @remarks * This property is related to accessibility. */ title: string; /** * Sets the `type` attribute of the `input` element of the TextBox. * @default 'text' */ type: InputType; /** * Sets the disabled state of the TextBox. To disable the component in reactive forms, see [Forms Support](https://www.telerik.com/kendo-angular-ui/components/inputs/textbox/forms#managing-the-textbox-disabled-state-in-reactive-forms). * @default false */ disabled: boolean; /** * Sets the read-only state of the component. * @default false */ readonly: boolean; /** * Specifies the `tabindex` of the TextBox. * @default 0 */ tabindex: number; /** * Provides a value for the TextBox. */ value: string; /** * Highlights the whole value when you click the TextBox. * @default false */ selectOnFocus: boolean; /** * Specifies when to show the Success icon ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textbox/validation-icons)). * * @default false */ showSuccessIcon: IconShowOptions; /** * Specifies when to show the Error icon ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textbox/validation-icons)). * * @default false */ showErrorIcon: IconShowOptions; /** * Shows a **Clear** button in the TextBox. * @default false */ clearButton: boolean; /** * Sets a custom icon for valid user input. */ successIcon: string; /** * Sets a custom SVG icon for valid user input. */ successSvgIcon: SVGIcon; /** * Sets a custom icon for invalid user input. */ errorIcon: string; /** * Sets a custom SVG icon for invalid user input. */ errorSvgIcon: SVGIcon; /** * Sets a custom icon for the **Clear** button. */ clearButtonIcon: string; /** * Sets a custom SVG icon for the **Clear** button. */ clearButtonSvgIcon: SVGIcon; /** * Sets the padding of the TextBox internal input element ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textbox/appearance#size)). The default value is set by the Kendo theme. */ set size(size: InputSize); get size(): InputSize; /** * Sets the border radius of the TextBox ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textbox/appearance#roundness)). The default value is set by the Kendo theme. */ set rounded(rounded: InputRounded); get rounded(): InputRounded; /** * Sets the background and border styles of the TextBox ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textbox/appearance#fill-mode)). The default value is set by the Kendo theme. */ set fillMode(fillMode: InputFillMode); get fillMode(): InputFillMode; /** * @hidden */ set tabIndex(tabIndex: number); get tabIndex(): number; /** * Sets the placeholder text displayed when the component is empty. */ placeholder: string; /** * Sets the maximum length of the TextBox value. */ maxlength: number; /** * Sets the HTML attributes of the inner focusable input element. You cannot change attributes that are essential for component functionality. */ set inputAttributes(attributes: { [key: string]: string; }); get inputAttributes(): { [key: string]: string; }; /** * Fires when the value changes—when the component is blurred or the value is cleared through the **Clear** button ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textbox/events)). * Does not fire when you change the value programmatically through `ngModel` or `formControl`. */ valueChange: EventEmitter; /** * Fires when the user focuses the `input` element. */ inputFocus: EventEmitter; /** * Fires when the `input` element is blurred. */ inputBlur: EventEmitter; /** * Fires when the user focuses the TextBox component. * */ onFocus: EventEmitter; /** * Fires when the TextBox component is blurred. * */ onBlur: EventEmitter; /** * Gets a reference to the visible `input` element of the TextBox. */ input: ElementRef; /** * @hidden */ textBoxSuffixTemplate: QueryList; /** * @hidden */ textBoxPrefixTemplate: QueryList; /** * @hidden */ suffixTemplate: SuffixTemplateDirective; /** * @hidden */ prefixTemplate: PrefixTemplateDirective; get disabledClass(): boolean; hostClasses: boolean; direction: string; /** * @hidden */ showClearButton: boolean; /** * @hidden */ clearButtonClicked: boolean; /** * @hidden */ suffix: TextBoxSuffixTemplateDirective | SuffixTemplateDirective; /** * @hidden */ prefix: TextBoxPrefixTemplateDirective | PrefixTemplateDirective; protected control: NgControl; protected subscriptions: Subscription; private _isFocused; private focusChangedProgrammatically; private _inputAttributes; private _size; private _rounded; private _fillMode; private parsedAttributes; private get defaultAttributes(); constructor(localizationService: LocalizationService, ngZone: NgZone, changeDetector: ChangeDetectorRef, renderer: Renderer2, injector: Injector, hostElement: ElementRef); ngOnInit(): void; ngAfterViewInit(): void; ngAfterContentInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; /** * @hidden */ svgIcon(name: string): SVGIcon; /** * Focuses the TextBox. */ focus(): void; /** * Removes focus from the TextBox. */ blur(): void; /** * @hidden */ handleInputFocus: () => void; /** * @hidden */ handleInputBlur: () => void; /** * @hidden */ handleInput: (ev: any) => void; /** * @hidden */ clearTitle(): string; /** * @hidden */ checkClearButton(): void; /** * @hidden */ clearValue(ev?: any): void; /** * @hidden */ writeValue(value: string): void; /** * @hidden */ registerOnChange(fn: () => any): void; /** * @hidden */ registerOnTouched(fn: () => any): void; /** * @hidden * Called when the status of the component changes to or from `disabled`. * Depending on the value, it enables or disables the appropriate DOM element. * * @param isDisabled */ setDisabledState(isDisabled: boolean): void; /** * @hidden */ showErrorsInitial(): boolean; /** * @hidden */ private showSuccessInitial; /** * @hidden */ get isControlInvalid(): boolean; /** * @hidden */ get successIconClasses(): string; /** * @hidden */ get customSuccessIconClasses(): string; /** * @hidden */ get errorIconClasses(): string; /** * @hidden */ get customIconClasses(): string; /** * @hidden */ get customClearButtonClasses(): string; /** * @hidden */ get clearButtonClass(): string; /** * @hidden */ get hasErrors(): boolean; /** * @hidden */ get isSuccessful(): boolean; /** * @hidden */ get isFocused(): boolean; /** * @hidden */ set isFocused(value: boolean); /** * @hidden */ get isControlRequired(): boolean; private ngChange; private ngTouched; private setSelection; private selectAll; private updateValue; /** * @hidden */ handleFocus(): void; /** * @hidden */ handleBlur(): void; private handleClasses; private configureAdornments; private setInputAttributes; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }