/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { default as PropTypes } from 'prop-types'; import { AutoCompleteProps } from './AutoCompleteProps.js'; import { DropDownStateBase, InternalState } from './../common/settings.js'; import { default as DropDownBase } from '../common/DropDownBase.js'; import { FormComponent, FormComponentValidity } from '@progress/kendo-react-common'; import * as React from 'react'; /** * @hidden */ export interface AutoCompleteState extends DropDownStateBase { focusedItem?: any; value?: string; windowWidth?: number; } /** * @hidden */ export interface AutoCompleteInternalState extends InternalState { data: AutoCompleteState; } /** @hidden */ export declare class AutoCompleteWithoutContext extends React.Component implements FormComponent { static displayName: string; /** * @hidden */ static propTypes: { size: PropTypes.Requireable<"small" | "medium" | "large" | undefined>; rounded: PropTypes.Requireable<"small" | "none" | "medium" | "large" | "full" | undefined>; fillMode: PropTypes.Requireable<"flat" | "solid" | "outline" | undefined>; groupField: PropTypes.Requireable; suggest: PropTypes.Requireable>; placeholder: PropTypes.Requireable; value: PropTypes.Requireable; defaultValue: PropTypes.Requireable; validationMessage: PropTypes.Requireable; required: PropTypes.Requireable; readonly: PropTypes.Requireable; clearButton: PropTypes.Requireable; valueRender: PropTypes.Requireable<(...args: any[]) => any>; id: PropTypes.Requireable; ariaLabelledBy: PropTypes.Requireable; ariaDescribedBy: PropTypes.Requireable; list: PropTypes.Requireable; adaptive: PropTypes.Requireable; adaptiveTitle: PropTypes.Requireable; adaptiveSubtitle: PropTypes.Requireable; onCancel: PropTypes.Requireable<(...args: any[]) => any>; skipDisabledItems: PropTypes.Requireable; inputAttributes: PropTypes.Requireable; opened: PropTypes.Requireable; disabled: PropTypes.Requireable; dir: PropTypes.Requireable; tabIndex: PropTypes.Requireable; accessKey: PropTypes.Requireable; data: PropTypes.Requireable; textField: PropTypes.Requireable; className: PropTypes.Requireable; label: PropTypes.Requireable; loading: PropTypes.Requireable; popupSettings: PropTypes.Requireable; closeDuration: PropTypes.Requireable; }> | null | undefined>>; popupClass: PropTypes.Requireable; className: PropTypes.Requireable; appendTo: PropTypes.Requireable; width: PropTypes.Requireable>; height: PropTypes.Requireable>; }>>; onOpen: PropTypes.Requireable<(...args: any[]) => any>; onClose: PropTypes.Requireable<(...args: any[]) => any>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; onChange: PropTypes.Requireable<(...args: any[]) => any>; itemRender: PropTypes.Requireable<(...args: any[]) => any>; listNoDataRender: PropTypes.Requireable<(...args: any[]) => any>; focusedItemIndex: PropTypes.Requireable<(...args: any[]) => any>; header: PropTypes.Requireable; footer: PropTypes.Requireable; }; /** * @hidden */ static defaultProps: { size: "small" | "medium" | "large" | undefined; rounded: "small" | "none" | "medium" | "large" | "full" | undefined; fillMode: "flat" | "solid" | "outline" | undefined; skipDisabledItems: boolean; prefix: undefined; suffix: undefined; popupSettings: { height: string; }; required: boolean; validityStyles: boolean; }; /** * @hidden */ readonly state: AutoCompleteState; protected readonly base: DropDownBase; private _element; private get _inputId(); private _suggested; private _input; private _adaptiveInput; private _skipFocusEvent; private _valueDuringOnChange?; private _isScrolling; private itemHeight; private observerResize?; private KendoPasteSubscription?; private get document(); /** * @hidden */ focus: () => void; /** * @hidden */ get element(): HTMLSpanElement | null; /** * The value of the AutoComplete. */ get value(): string; /** * Gets the `name` property of the AutoComplete. */ get name(): string | undefined; /** * Represents the validity state into which the AutoComplete is set. */ get validity(): FormComponentValidity; /** @hidden */ get opened(): boolean; /** * The mobile mode of the AutoComplete. */ get mobileMode(): boolean; /** * @hidden */ protected get validityStyles(): boolean; /** * @hidden */ protected get required(): boolean; /** * @hidden */ componentDidUpdate(prevProps: AutoCompleteProps, prevState: AutoCompleteState): void; /** * @hidden */ componentDidMount(): void; /** * @hidden */ componentWillUnmount(): void; private readonly handleKendoPasteValue; /** * @hidden */ render(): React.JSX.Element; /** * @hidden */ handleItemSelect: (index: number, state: AutoCompleteInternalState) => void; /** * @hidden */ itemFocus: (index: number, state: AutoCompleteInternalState) => void; /** * @hidden */ togglePopup: (state: InternalState) => void; /** * @hidden */ onNavigate(state: AutoCompleteInternalState, keyCode: number, skipItems?: number): void; /** * @hidden */ applyInputValue(value: string, state: AutoCompleteInternalState, eventKey?: number): void; private setValidity; private renderSearchBar; private renderAdaptiveListContainer; private onCancel; private renderListContainer; private listContainerContent; private renderList; private onScroll; private handleItemClick; private onChangeHandler; private clearButtonClick; private onInputKeyDown; private handleFocus; private handleBlur; private handleWrapperClick; private triggerOnChange; private focusElement; private applyState; private suggestValue; private focusedIndex; private calculateMedia; } /** * Represents the PropsContext of the `AutoComplete` component. * Used for global configuration of all `AutoComplete` instances. * * For more information, refer to the [Dropdowns Props Context](https://www.telerik.com/kendo-react-ui/components/dropdowns/props-context) article. */ export declare const AutoCompletePropsContext: React.Context<(p: AutoCompleteProps) => AutoCompleteProps>; /** * Represent the `ref` of the AutoComplete component. */ export interface AutoCompleteHandle extends Pick { /** * The AutoComplete element. */ element: HTMLSpanElement | null; /** * Gets the mobile mode of the AutoComplete component. */ mobileMode: boolean; /** * Gets the `name` property of the AutoComplete. */ name: string | undefined; /** * Gets whether the AutoComplete popup is open. */ opened: boolean; /** * Represents the validity state into which the AutoComplete is set. */ validity: FormComponentValidity; /** * The value of the AutoComplete. */ value: string; } /** @hidden */ export type AutoComplete = AutoCompleteHandle; /** * Represents the [KendoReact AutoComplete component](https://www.telerik.com/kendo-react-ui/components/dropdowns/autocomplete). * * Accepts properties of type [AutoCompleteProps](https://www.telerik.com/kendo-react-ui/components/dropdowns/api/autocompleteprops). * Obtaining the `ref` returns an object of type [AutoCompleteHandle](https://www.telerik.com/kendo-react-ui/components/dropdowns/api/autocompletehandle). * * @example * ```jsx * const App = () => { * const autocomplete = React.useRef(null); * return ( *
* * *
* ); * } * ``` */ export declare const AutoComplete: React.ForwardRefExoticComponent>;