geoview-core
    Preparing search index...

    Interface AutocompletePropsExtend<T, Multiple, DisableClearable, FreeSolo>

    Properties for the Autocomplete component extending Material-UI's AutocompleteProps

    interface AutocompletePropsExtend<
        T,
        Multiple extends boolean | undefined = undefined,
        DisableClearable extends boolean | undefined = undefined,
        FreeSolo extends boolean | undefined = undefined,
    > {
        about?: string;
        accessKey?: string;
        "aria-activedescendant"?: string;
        "aria-atomic"?: Booleanish;
        "aria-autocomplete"?: "none" | "list" | "inline" | "both";
        "aria-braillelabel"?: string;
        "aria-brailleroledescription"?: string;
        "aria-busy"?: Booleanish;
        "aria-checked"?: boolean | "mixed" | "false" | "true";
        "aria-colcount"?: number;
        "aria-colindex"?: number;
        "aria-colindextext"?: string;
        "aria-colspan"?: number;
        "aria-controls"?: string;
        "aria-current"?:
            | boolean
            | "date"
            | "time"
            | "step"
            | "page"
            | "false"
            | "true"
            | "location";
        "aria-describedby"?: string;
        "aria-description"?: string;
        "aria-details"?: string;
        "aria-disabled"?: Booleanish;
        "aria-dropeffect"?: "none"
        | "link"
        | "copy"
        | "move"
        | "execute"
        | "popup";
        "aria-errormessage"?: string;
        "aria-expanded"?: Booleanish;
        "aria-flowto"?: string;
        "aria-grabbed"?: Booleanish;
        "aria-haspopup"?:
            | boolean
            | "dialog"
            | "menu"
            | "grid"
            | "listbox"
            | "false"
            | "true"
            | "tree";
        "aria-hidden"?: Booleanish;
        "aria-invalid"?: boolean
        | "false"
        | "true"
        | "grammar"
        | "spelling";
        "aria-keyshortcuts"?: string;
        "aria-label"?: string;
        "aria-labelledby"?: string;
        "aria-level"?: number;
        "aria-live"?: "off" | "assertive" | "polite";
        "aria-modal"?: Booleanish;
        "aria-multiline"?: Booleanish;
        "aria-multiselectable"?: Booleanish;
        "aria-orientation"?: "horizontal" | "vertical";
        "aria-owns"?: string;
        "aria-placeholder"?: string;
        "aria-posinset"?: number;
        "aria-pressed"?: boolean | "mixed" | "false" | "true";
        "aria-readonly"?: Booleanish;
        "aria-relevant"?:
            | "text"
            | "all"
            | "additions"
            | "additions removals"
            | "additions text"
            | "removals"
            | "removals additions"
            | "removals text"
            | "text additions"
            | "text removals";
        "aria-required"?: Booleanish;
        "aria-roledescription"?: string;
        "aria-rowcount"?: number;
        "aria-rowindex"?: number;
        "aria-rowindextext"?: string;
        "aria-rowspan"?: number;
        "aria-selected"?: Booleanish;
        "aria-setsize"?: number;
        "aria-sort"?: "none"
        | "ascending"
        | "descending"
        | "other";
        "aria-valuemax"?: number;
        "aria-valuemin"?: number;
        "aria-valuenow"?: number;
        "aria-valuetext"?: string;
        autoCapitalize?:
            | "none"
            | string & {}
            | "off"
            | "on"
            | "sentences"
            | "words"
            | "characters";
        autoComplete?: boolean;
        autoCorrect?: string;
        autoFocus?: boolean;
        autoHighlight?: boolean;
        autoSave?: string;
        autoSelect?: boolean;
        blurOnSelect?: boolean
        | "touch"
        | "mouse";
        ChipProps?: ChipProps<"div">;
        classes?: Partial<AutocompleteClasses>;
        className?: string;
        clearIcon?: ReactNode;
        clearOnBlur?: boolean;
        clearOnEscape?: boolean;
        clearText?: string;
        closeText?: string;
        color?: string;
        componentName?: string;
        componentsProps?: {
            clearIndicator?: Partial<IconButtonProps>;
            paper?: PaperProps;
            popper?: Partial<PopperProps>;
            popupIndicator?: Partial<IconButtonProps>;
        };
        content?: string;
        contentEditable?: "inherit"
        | Booleanish
        | "plaintext-only";
        contextMenu?: string;
        dangerouslySetInnerHTML?: { __html: string | TrustedHTML };
        datatype?: string;
        defaultChecked?: boolean;
        defaultValue?: AutocompleteValue<T, Multiple, DisableClearable, FreeSolo>;
        dir?: string;
        disableClearable?: DisableClearable;
        disableCloseOnSelect?: boolean;
        disabled?: boolean;
        disabledItemsFocusable?: boolean;
        disableListWrap?: boolean;
        disablePortal?: boolean;
        draggable?: Booleanish;
        enterKeyHint?:
            | "search"
            | "next"
            | "enter"
            | "done"
            | "go"
            | "previous"
            | "send";
        exportparts?: string;
        filterOptions?: (options: T[], state: FilterOptionsState<T>) => T[];
        filterSelectedOptions?: boolean;
        forcePopupIcon?: boolean | "auto";
        freeSolo?: FreeSolo;
        fullWidth: boolean;
        getLimitTagsText?: (more: number) => ReactNode;
        getOptionDisabled?: (option: T) => boolean;
        getOptionKey?: (
            option: T | AutocompleteFreeSoloValueMapping<FreeSolo>,
        ) => string | number;
        getOptionLabel?: (
            option: T | AutocompleteFreeSoloValueMapping<FreeSolo>,
        ) => string;
        groupBy?: (option: T) => string;
        handleHomeEndKeys?: boolean;
        hidden?: boolean;
        id?: string;
        includeInputInList?: boolean;
        inlist?: any;
        inputMode?:
            | "none"
            | "search"
            | "text"
            | "tel"
            | "url"
            | "email"
            | "numeric"
            | "decimal";
        inputValue?: string;
        is?: string;
        isOptionEqualToValue?: (option: T, value: T) => boolean;
        itemID?: string;
        itemProp?: string;
        itemRef?: string;
        itemScope?: boolean;
        itemType?: string;
        lang?: string;
        limitTags?: number;
        ListboxComponent?: JSXElementConstructor<HTMLAttributes<HTMLElement>>;
        ListboxProps?: HTMLAttributes<HTMLUListElement> & {
            ref?: Ref<Element>;
            sx?: SxProps<Theme>;
        };
        loading?: boolean;
        loadingText?: ReactNode;
        multiple?: Multiple;
        nonce?: string;
        noOptionsText?: ReactNode;
        onAbort?: ReactEventHandler<HTMLDivElement>;
        onAbortCapture?: ReactEventHandler<HTMLDivElement>;
        onAnimationEnd?: AnimationEventHandler<HTMLDivElement>;
        onAnimationEndCapture?: AnimationEventHandler<HTMLDivElement>;
        onAnimationIteration?: AnimationEventHandler<HTMLDivElement>;
        onAnimationIterationCapture?: AnimationEventHandler<HTMLDivElement>;
        onAnimationStart?: AnimationEventHandler<HTMLDivElement>;
        onAnimationStartCapture?: AnimationEventHandler<HTMLDivElement>;
        onAuxClick?: MouseEventHandler<HTMLDivElement>;
        onAuxClickCapture?: MouseEventHandler<HTMLDivElement>;
        onBeforeInput?: InputEventHandler<HTMLDivElement>;
        onBeforeInputCapture?: FormEventHandler<HTMLDivElement>;
        onBlur?: FocusEventHandler<HTMLDivElement>;
        onBlurCapture?: FocusEventHandler<HTMLDivElement>;
        onCanPlay?: ReactEventHandler<HTMLDivElement>;
        onCanPlayCapture?: ReactEventHandler<HTMLDivElement>;
        onCanPlayThrough?: ReactEventHandler<HTMLDivElement>;
        onCanPlayThroughCapture?: ReactEventHandler<HTMLDivElement>;
        onChange?: (
            event: SyntheticEvent,
            value: AutocompleteValue<T, Multiple, DisableClearable, FreeSolo>,
            reason: AutocompleteChangeReason,
            details?: AutocompleteChangeDetails<T>,
        ) => void;
        onChangeCapture?: FormEventHandler<HTMLDivElement>;
        onClick?: MouseEventHandler<HTMLDivElement>;
        onClickCapture?: MouseEventHandler<HTMLDivElement>;
        onClose?: (event: SyntheticEvent, reason: AutocompleteCloseReason) => void;
        onCompositionEnd?: CompositionEventHandler<HTMLDivElement>;
        onCompositionEndCapture?: CompositionEventHandler<HTMLDivElement>;
        onCompositionStart?: CompositionEventHandler<HTMLDivElement>;
        onCompositionStartCapture?: CompositionEventHandler<HTMLDivElement>;
        onCompositionUpdate?: CompositionEventHandler<HTMLDivElement>;
        onCompositionUpdateCapture?: CompositionEventHandler<HTMLDivElement>;
        onContextMenu?: MouseEventHandler<HTMLDivElement>;
        onContextMenuCapture?: MouseEventHandler<HTMLDivElement>;
        onCopy?: ClipboardEventHandler<HTMLDivElement>;
        onCopyCapture?: ClipboardEventHandler<HTMLDivElement>;
        onCut?: ClipboardEventHandler<HTMLDivElement>;
        onCutCapture?: ClipboardEventHandler<HTMLDivElement>;
        onDoubleClick?: MouseEventHandler<HTMLDivElement>;
        onDoubleClickCapture?: MouseEventHandler<HTMLDivElement>;
        onDrag?: DragEventHandler<HTMLDivElement>;
        onDragCapture?: DragEventHandler<HTMLDivElement>;
        onDragEnd?: DragEventHandler<HTMLDivElement>;
        onDragEndCapture?: DragEventHandler<HTMLDivElement>;
        onDragEnter?: DragEventHandler<HTMLDivElement>;
        onDragEnterCapture?: DragEventHandler<HTMLDivElement>;
        onDragExit?: DragEventHandler<HTMLDivElement>;
        onDragExitCapture?: DragEventHandler<HTMLDivElement>;
        onDragLeave?: DragEventHandler<HTMLDivElement>;
        onDragLeaveCapture?: DragEventHandler<HTMLDivElement>;
        onDragOver?: DragEventHandler<HTMLDivElement>;
        onDragOverCapture?: DragEventHandler<HTMLDivElement>;
        onDragStart?: DragEventHandler<HTMLDivElement>;
        onDragStartCapture?: DragEventHandler<HTMLDivElement>;
        onDrop?: DragEventHandler<HTMLDivElement>;
        onDropCapture?: DragEventHandler<HTMLDivElement>;
        onDurationChange?: ReactEventHandler<HTMLDivElement>;
        onDurationChangeCapture?: ReactEventHandler<HTMLDivElement>;
        onEmptied?: ReactEventHandler<HTMLDivElement>;
        onEmptiedCapture?: ReactEventHandler<HTMLDivElement>;
        onEncrypted?: ReactEventHandler<HTMLDivElement>;
        onEncryptedCapture?: ReactEventHandler<HTMLDivElement>;
        onEnded?: ReactEventHandler<HTMLDivElement>;
        onEndedCapture?: ReactEventHandler<HTMLDivElement>;
        onError?: ReactEventHandler<HTMLDivElement>;
        onErrorCapture?: ReactEventHandler<HTMLDivElement>;
        onFocus?: FocusEventHandler<HTMLDivElement>;
        onFocusCapture?: FocusEventHandler<HTMLDivElement>;
        onGotPointerCapture?: PointerEventHandler<HTMLDivElement>;
        onGotPointerCaptureCapture?: PointerEventHandler<HTMLDivElement>;
        onHighlightChange?: (
            event: SyntheticEvent,
            option: T | null,
            reason: AutocompleteHighlightChangeReason,
        ) => void;
        onInput?: FormEventHandler<HTMLDivElement>;
        onInputCapture?: FormEventHandler<HTMLDivElement>;
        onInputChange?: (
            event: SyntheticEvent,
            value: string,
            reason: AutocompleteInputChangeReason,
        ) => void;
        onInvalid?: FormEventHandler<HTMLDivElement>;
        onInvalidCapture?: FormEventHandler<HTMLDivElement>;
        onKeyDown?: (
            event: KeyboardEvent<HTMLDivElement> & {
                defaultMuiPrevented?: boolean;
            },
        ) => void;
        onKeyDownCapture?: KeyboardEventHandler<HTMLDivElement>;
        onKeyPress?: KeyboardEventHandler<HTMLDivElement>;
        onKeyPressCapture?: KeyboardEventHandler<HTMLDivElement>;
        onKeyUp?: KeyboardEventHandler<HTMLDivElement>;
        onKeyUpCapture?: KeyboardEventHandler<HTMLDivElement>;
        onLoad?: ReactEventHandler<HTMLDivElement>;
        onLoadCapture?: ReactEventHandler<HTMLDivElement>;
        onLoadedData?: ReactEventHandler<HTMLDivElement>;
        onLoadedDataCapture?: ReactEventHandler<HTMLDivElement>;
        onLoadedMetadata?: ReactEventHandler<HTMLDivElement>;
        onLoadedMetadataCapture?: ReactEventHandler<HTMLDivElement>;
        onLoadStart?: ReactEventHandler<HTMLDivElement>;
        onLoadStartCapture?: ReactEventHandler<HTMLDivElement>;
        onLostPointerCapture?: PointerEventHandler<HTMLDivElement>;
        onLostPointerCaptureCapture?: PointerEventHandler<HTMLDivElement>;
        onMouseDown?: MouseEventHandler<HTMLDivElement>;
        onMouseDownCapture?: MouseEventHandler<HTMLDivElement>;
        onMouseEnter?: MouseEventHandler<HTMLDivElement>;
        onMouseLeave?: MouseEventHandler<HTMLDivElement>;
        onMouseMove?: MouseEventHandler<HTMLDivElement>;
        onMouseMoveCapture?: MouseEventHandler<HTMLDivElement>;
        onMouseOut?: MouseEventHandler<HTMLDivElement>;
        onMouseOutCapture?: MouseEventHandler<HTMLDivElement>;
        onMouseOver?: MouseEventHandler<HTMLDivElement>;
        onMouseOverCapture?: MouseEventHandler<HTMLDivElement>;
        onMouseUp?: MouseEventHandler<HTMLDivElement>;
        onMouseUpCapture?: MouseEventHandler<HTMLDivElement>;
        onOpen?: (event: SyntheticEvent) => void;
        onPaste?: ClipboardEventHandler<HTMLDivElement>;
        onPasteCapture?: ClipboardEventHandler<HTMLDivElement>;
        onPause?: ReactEventHandler<HTMLDivElement>;
        onPauseCapture?: ReactEventHandler<HTMLDivElement>;
        onPlay?: ReactEventHandler<HTMLDivElement>;
        onPlayCapture?: ReactEventHandler<HTMLDivElement>;
        onPlaying?: ReactEventHandler<HTMLDivElement>;
        onPlayingCapture?: ReactEventHandler<HTMLDivElement>;
        onPointerCancel?: PointerEventHandler<HTMLDivElement>;
        onPointerCancelCapture?: PointerEventHandler<HTMLDivElement>;
        onPointerDown?: PointerEventHandler<HTMLDivElement>;
        onPointerDownCapture?: PointerEventHandler<HTMLDivElement>;
        onPointerEnter?: PointerEventHandler<HTMLDivElement>;
        onPointerLeave?: PointerEventHandler<HTMLDivElement>;
        onPointerMove?: PointerEventHandler<HTMLDivElement>;
        onPointerMoveCapture?: PointerEventHandler<HTMLDivElement>;
        onPointerOut?: PointerEventHandler<HTMLDivElement>;
        onPointerOutCapture?: PointerEventHandler<HTMLDivElement>;
        onPointerOver?: PointerEventHandler<HTMLDivElement>;
        onPointerOverCapture?: PointerEventHandler<HTMLDivElement>;
        onPointerUp?: PointerEventHandler<HTMLDivElement>;
        onPointerUpCapture?: PointerEventHandler<HTMLDivElement>;
        onProgress?: ReactEventHandler<HTMLDivElement>;
        onProgressCapture?: ReactEventHandler<HTMLDivElement>;
        onRateChange?: ReactEventHandler<HTMLDivElement>;
        onRateChangeCapture?: ReactEventHandler<HTMLDivElement>;
        onReset?: FormEventHandler<HTMLDivElement>;
        onResetCapture?: FormEventHandler<HTMLDivElement>;
        onScroll?: UIEventHandler<HTMLDivElement>;
        onScrollCapture?: UIEventHandler<HTMLDivElement>;
        onSeeked?: ReactEventHandler<HTMLDivElement>;
        onSeekedCapture?: ReactEventHandler<HTMLDivElement>;
        onSeeking?: ReactEventHandler<HTMLDivElement>;
        onSeekingCapture?: ReactEventHandler<HTMLDivElement>;
        onSelect?: ReactEventHandler<HTMLDivElement>;
        onSelectCapture?: ReactEventHandler<HTMLDivElement>;
        onStalled?: ReactEventHandler<HTMLDivElement>;
        onStalledCapture?: ReactEventHandler<HTMLDivElement>;
        onSubmit?: FormEventHandler<HTMLDivElement>;
        onSubmitCapture?: FormEventHandler<HTMLDivElement>;
        onSuspend?: ReactEventHandler<HTMLDivElement>;
        onSuspendCapture?: ReactEventHandler<HTMLDivElement>;
        onTimeUpdate?: ReactEventHandler<HTMLDivElement>;
        onTimeUpdateCapture?: ReactEventHandler<HTMLDivElement>;
        onTouchCancel?: TouchEventHandler<HTMLDivElement>;
        onTouchCancelCapture?: TouchEventHandler<HTMLDivElement>;
        onTouchEnd?: TouchEventHandler<HTMLDivElement>;
        onTouchEndCapture?: TouchEventHandler<HTMLDivElement>;
        onTouchMove?: TouchEventHandler<HTMLDivElement>;
        onTouchMoveCapture?: TouchEventHandler<HTMLDivElement>;
        onTouchStart?: TouchEventHandler<HTMLDivElement>;
        onTouchStartCapture?: TouchEventHandler<HTMLDivElement>;
        onTransitionEnd?: TransitionEventHandler<HTMLDivElement>;
        onTransitionEndCapture?: TransitionEventHandler<HTMLDivElement>;
        onVolumeChange?: ReactEventHandler<HTMLDivElement>;
        onVolumeChangeCapture?: ReactEventHandler<HTMLDivElement>;
        onWaiting?: ReactEventHandler<HTMLDivElement>;
        onWaitingCapture?: ReactEventHandler<HTMLDivElement>;
        onWheel?: WheelEventHandler<HTMLDivElement>;
        onWheelCapture?: WheelEventHandler<HTMLDivElement>;
        open?: boolean;
        openOnFocus?: boolean;
        openText?: string;
        options: readonly T[];
        PaperComponent?: JSXElementConstructor<HTMLAttributes<HTMLElement>>;
        part?: string;
        PopperComponent?: JSXElementConstructor<PopperProps>;
        popupIcon?: ReactNode;
        prefix?: string;
        property?: string;
        radioGroup?: string;
        readOnly?: boolean;
        ref?: Ref<unknown>;
        rel?: string;
        renderGroup?: (params: AutocompleteRenderGroupParams) => ReactNode;
        renderInput: (params: AutocompleteRenderInputParams) => ReactNode;
        renderOption?: (
            props: HTMLAttributes<HTMLLIElement> & { key: any },
            option: T,
            state: AutocompleteRenderOptionState,
            ownerState: AutocompleteOwnerState<
                T,
                Multiple,
                DisableClearable,
                FreeSolo,
                "div",
            >,
        ) => ReactNode;
        renderTags?: (
            value: T[],
            getTagProps: AutocompleteRenderGetTagProps,
            ownerState: AutocompleteOwnerState<
                T,
                Multiple,
                DisableClearable,
                FreeSolo,
                "div",
            >,
        ) => ReactNode;
        renderValue?: (
            value: AutocompleteRenderValue<T, Multiple, FreeSolo>,
            getItemProps: AutocompleteRenderValueGetItemProps<Multiple>,
            ownerState: AutocompleteOwnerState<
                T,
                Multiple,
                DisableClearable,
                FreeSolo,
                "div",
            >,
        ) => ReactNode;
        resource?: string;
        results?: number;
        rev?: string;
        role?: AriaRole;
        security?: string;
        selectOnFocus?: boolean;
        size?: OverridableStringUnion<
            "small"
            | "medium",
            AutocompletePropsSizeOverrides,
        >;
        slot?: string;
        slotProps?: {
            chip?: SlotProps<
                ElementType<Partial<ChipProps<"div">>, (keyof IntrinsicElements)>,
                {},
                AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
            >;
            clearIndicator?: SlotProps<
                ElementType<Partial<IconButtonProps>, (keyof IntrinsicElements)>,
                {},
                AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
            >;
            listbox?: SlotProps<
                ComponentType<
                    HTMLAttributes<HTMLUListElement> & {
                        ref?: Ref<Element> | undefined;
                        sx?: SxProps<Theme> | undefined;
                    },
                >,
                {},
                AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
            >;
            paper?: SlotProps<
                ElementType<Partial<PaperProps>, (keyof IntrinsicElements)>,
                AutocompletePaperSlotPropsOverrides,
                AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
            >;
            popper?: SlotProps<
                ElementType<Partial<PopperProps>, (keyof IntrinsicElements)>,
                AutocompletePopperSlotPropsOverrides,
                AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
            >;
            popupIndicator?: SlotProps<
                ElementType<Partial<IconButtonProps>, (keyof IntrinsicElements)>,
                {},
                AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
            >;
        };
        slots?: Partial<AutocompleteSlots>;
        spellCheck?: Booleanish;
        style?: CSSProperties;
        suppressContentEditableWarning?: boolean;
        suppressHydrationWarning?: boolean;
        sx?: SxProps<Theme>;
        tabIndex?: number;
        title?: string;
        translate?: "yes" | "no";
        typeof?: string;
        unselectable?: "off" | "on";
        unstable_classNamePrefix?: string;
        unstable_isActiveElementInListbox?: (
            listbox: RefObject<HTMLElement | null>,
        ) => boolean;
        value?: AutocompleteValue<T, Multiple, DisableClearable, FreeSolo>;
        vocab?: string;
    }

    Type Parameters

    • T
    • Multiple extends boolean | undefined = undefined
    • DisableClearable extends boolean | undefined = undefined
    • FreeSolo extends boolean | undefined = undefined

    Hierarchy

    Index

    Properties

    about? accessKey? aria-activedescendant? aria-atomic? aria-autocomplete? aria-braillelabel? aria-brailleroledescription? aria-busy? aria-checked? aria-colcount? aria-colindex? aria-colindextext? aria-colspan? aria-controls? aria-current? aria-describedby? aria-description? aria-details? aria-disabled? aria-dropeffect? aria-errormessage? aria-expanded? aria-flowto? aria-grabbed? aria-haspopup? aria-hidden? aria-invalid? aria-keyshortcuts? aria-label? aria-labelledby? aria-level? aria-live? aria-modal? aria-multiline? aria-multiselectable? aria-orientation? aria-owns? aria-placeholder? aria-posinset? aria-pressed? aria-readonly? aria-relevant? aria-required? aria-roledescription? aria-rowcount? aria-rowindex? aria-rowindextext? aria-rowspan? aria-selected? aria-setsize? aria-sort? aria-valuemax? aria-valuemin? aria-valuenow? aria-valuetext? autoCapitalize? autoComplete? autoCorrect? autoFocus? autoHighlight? autoSave? autoSelect? blurOnSelect? ChipProps? classes? className? clearIcon? clearOnBlur? clearOnEscape? clearText? closeText? color? componentName? componentsProps? content? contentEditable? contextMenu? dangerouslySetInnerHTML? datatype? defaultChecked? defaultValue? dir? disableClearable? disableCloseOnSelect? disabled? disabledItemsFocusable? disableListWrap? disablePortal? draggable? enterKeyHint? exportparts? filterOptions? filterSelectedOptions? forcePopupIcon? freeSolo? fullWidth getLimitTagsText? getOptionDisabled? getOptionKey? getOptionLabel? groupBy? handleHomeEndKeys? hidden? id? includeInputInList? inlist? inputMode? inputValue? is? isOptionEqualToValue? itemID? itemProp? itemRef? itemScope? itemType? lang? limitTags? ListboxComponent? ListboxProps? loading? loadingText? multiple? nonce? noOptionsText? onAbort? onAbortCapture? onAnimationEnd? onAnimationEndCapture? onAnimationIteration? onAnimationIterationCapture? onAnimationStart? onAnimationStartCapture? onAuxClick? onAuxClickCapture? onBeforeInput? onBeforeInputCapture? onBlur? onBlurCapture? onCanPlay? onCanPlayCapture? onCanPlayThrough? onCanPlayThroughCapture? onChange? onChangeCapture? onClick? onClickCapture? onClose? onCompositionEnd? onCompositionEndCapture? onCompositionStart? onCompositionStartCapture? onCompositionUpdate? onCompositionUpdateCapture? onContextMenu? onContextMenuCapture? onCopy? onCopyCapture? onCut? onCutCapture? onDoubleClick? onDoubleClickCapture? onDrag? onDragCapture? onDragEnd? onDragEndCapture? onDragEnter? onDragEnterCapture? onDragExit? onDragExitCapture? onDragLeave? onDragLeaveCapture? onDragOver? onDragOverCapture? onDragStart? onDragStartCapture? onDrop? onDropCapture? onDurationChange? onDurationChangeCapture? onEmptied? onEmptiedCapture? onEncrypted? onEncryptedCapture? onEnded? onEndedCapture? onError? onErrorCapture? onFocus? onFocusCapture? onGotPointerCapture? onGotPointerCaptureCapture? onHighlightChange? onInput? onInputCapture? onInputChange? onInvalid? onInvalidCapture? onKeyDown? onKeyDownCapture? onKeyPress? onKeyPressCapture? onKeyUp? onKeyUpCapture? onLoad? onLoadCapture? onLoadedData? onLoadedDataCapture? onLoadedMetadata? onLoadedMetadataCapture? onLoadStart? onLoadStartCapture? onLostPointerCapture? onLostPointerCaptureCapture? onMouseDown? onMouseDownCapture? onMouseEnter? onMouseLeave? onMouseMove? onMouseMoveCapture? onMouseOut? onMouseOutCapture? onMouseOver? onMouseOverCapture? onMouseUp? onMouseUpCapture? onOpen? onPaste? onPasteCapture? onPause? onPauseCapture? onPlay? onPlayCapture? onPlaying? onPlayingCapture? onPointerCancel? onPointerCancelCapture? onPointerDown? onPointerDownCapture? onPointerEnter? onPointerLeave? onPointerMove? onPointerMoveCapture? onPointerOut? onPointerOutCapture? onPointerOver? onPointerOverCapture? onPointerUp? onPointerUpCapture? onProgress? onProgressCapture? onRateChange? onRateChangeCapture? onReset? onResetCapture? onScroll? onScrollCapture? onSeeked? onSeekedCapture? onSeeking? onSeekingCapture? onSelect? onSelectCapture? onStalled? onStalledCapture? onSubmit? onSubmitCapture? onSuspend? onSuspendCapture? onTimeUpdate? onTimeUpdateCapture? onTouchCancel? onTouchCancelCapture? onTouchEnd? onTouchEndCapture? onTouchMove? onTouchMoveCapture? onTouchStart? onTouchStartCapture? onTransitionEnd? onTransitionEndCapture? onVolumeChange? onVolumeChangeCapture? onWaiting? onWaitingCapture? onWheel? onWheelCapture? open? openOnFocus? openText? options PaperComponent? part? PopperComponent? popupIcon? prefix? property? radioGroup? readOnly? ref? rel? renderGroup? renderInput renderOption? renderTags? renderValue? resource? results? rev? role? security? selectOnFocus? size? slot? slotProps? slots? spellCheck? style? suppressContentEditableWarning? suppressHydrationWarning? sx? tabIndex? title? translate? typeof? unselectable? unstable_classNamePrefix? unstable_isActiveElementInListbox? value? vocab?

    Properties

    about?: string
    accessKey?: string
    "aria-activedescendant"?: string

    Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

    "aria-atomic"?: Booleanish

    Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

    "aria-autocomplete"?: "none" | "list" | "inline" | "both"

    Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made.

    "aria-braillelabel"?: string

    Defines a string value that labels the current element, which is intended to be converted into Braille.

    aria-label.

    "aria-brailleroledescription"?: string

    Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille.

    aria-roledescription.

    "aria-busy"?: Booleanish
    "aria-checked"?: boolean | "mixed" | "false" | "true"

    Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

    • aria-pressed
    • aria-selected.
    "aria-colcount"?: number

    Defines the total number of columns in a table, grid, or treegrid.

    aria-colindex.

    "aria-colindex"?: number

    Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

    • aria-colcount
    • aria-colspan.
    "aria-colindextext"?: string

    Defines a human readable text alternative of aria-colindex.

    aria-rowindextext.

    "aria-colspan"?: number

    Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

    • aria-colindex
    • aria-rowspan.
    "aria-controls"?: string

    Identifies the element (or elements) whose contents or presence are controlled by the current element.

    aria-owns.

    "aria-current"?:
        | boolean
        | "date"
        | "time"
        | "step"
        | "page"
        | "false"
        | "true"
        | "location"

    Indicates the element that represents the current item within a container or set of related elements.

    "aria-describedby"?: string

    Identifies the element (or elements) that describes the object.

    aria-labelledby

    "aria-description"?: string

    Defines a string value that describes or annotates the current element.

    related aria-describedby.

    "aria-details"?: string

    Identifies the element that provides a detailed, extended description for the object.

    aria-describedby.

    "aria-disabled"?: Booleanish

    Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

    • aria-hidden
    • aria-readonly.
    "aria-dropeffect"?: "none" | "link" | "copy" | "move" | "execute" | "popup"

    Indicates what functions can be performed when a dragged object is released on the drop target.

    in ARIA 1.1

    "aria-errormessage"?: string

    Identifies the element that provides an error message for the object.

    • aria-invalid
    • aria-describedby.
    "aria-expanded"?: Booleanish

    Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

    "aria-flowto"?: string

    Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

    "aria-grabbed"?: Booleanish

    Indicates an element's "grabbed" state in a drag-and-drop operation.

    in ARIA 1.1

    "aria-haspopup"?:
        | boolean
        | "dialog"
        | "menu"
        | "grid"
        | "listbox"
        | "false"
        | "true"
        | "tree"

    Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

    "aria-hidden"?: Booleanish

    Indicates whether the element is exposed to an accessibility API.

    aria-disabled.

    "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling"

    Indicates the entered value does not conform to the format expected by the application.

    aria-errormessage.

    "aria-keyshortcuts"?: string

    Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

    "aria-label"?: string

    Defines a string value that labels the current element.

    aria-labelledby.

    "aria-labelledby"?: string

    Identifies the element (or elements) that labels the current element.

    aria-describedby.

    "aria-level"?: number

    Defines the hierarchical level of an element within a structure.

    "aria-live"?: "off" | "assertive" | "polite"

    Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

    "aria-modal"?: Booleanish

    Indicates whether an element is modal when displayed.

    "aria-multiline"?: Booleanish

    Indicates whether a text box accepts multiple lines of input or only a single line.

    "aria-multiselectable"?: Booleanish

    Indicates that the user may select more than one item from the current selectable descendants.

    "aria-orientation"?: "horizontal" | "vertical"

    Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

    "aria-owns"?: string

    Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

    aria-controls.

    "aria-placeholder"?: string

    Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.

    "aria-posinset"?: number

    Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

    aria-setsize.

    "aria-pressed"?: boolean | "mixed" | "false" | "true"

    Indicates the current "pressed" state of toggle buttons.

    • aria-checked
    • aria-selected.
    "aria-readonly"?: Booleanish

    Indicates that the element is not editable, but is otherwise operable.

    aria-disabled.

    "aria-relevant"?:
        | "text"
        | "all"
        | "additions"
        | "additions removals"
        | "additions text"
        | "removals"
        | "removals additions"
        | "removals text"
        | "text additions"
        | "text removals"

    Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

    aria-atomic.

    "aria-required"?: Booleanish

    Indicates that user input is required on the element before a form may be submitted.

    "aria-roledescription"?: string

    Defines a human-readable, author-localized description for the role of an element.

    "aria-rowcount"?: number

    Defines the total number of rows in a table, grid, or treegrid.

    aria-rowindex.

    "aria-rowindex"?: number

    Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

    • aria-rowcount
    • aria-rowspan.
    "aria-rowindextext"?: string

    Defines a human readable text alternative of aria-rowindex.

    aria-colindextext.

    "aria-rowspan"?: number

    Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

    • aria-rowindex
    • aria-colspan.
    "aria-selected"?: Booleanish

    Indicates the current "selected" state of various widgets.

    • aria-checked
    • aria-pressed.
    "aria-setsize"?: number

    Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

    aria-posinset.

    "aria-sort"?: "none" | "ascending" | "descending" | "other"

    Indicates if items in a table or grid are sorted in ascending or descending order.

    "aria-valuemax"?: number

    Defines the maximum allowed value for a range widget.

    "aria-valuemin"?: number

    Defines the minimum allowed value for a range widget.

    "aria-valuenow"?: number

    Defines the current value for a range widget.

    aria-valuetext.

    "aria-valuetext"?: string

    Defines the human readable text alternative of aria-valuenow for a range widget.

    autoCapitalize?:
        | "none"
        | string & {}
        | "off"
        | "on"
        | "sentences"
        | "words"
        | "characters"
    autoComplete?: boolean

    If true, the portion of the selected suggestion that the user hasn't typed, known as the completion string, appears inline after the input cursor in the textbox. The inline completion string is visually highlighted and has a selected state.

    false
    
    autoCorrect?: string
    autoFocus?: boolean
    autoHighlight?: boolean

    If true, the first option is automatically highlighted.

    false
    
    autoSave?: string
    autoSelect?: boolean

    If true, the selected option becomes the value of the input when the Autocomplete loses focus unless the user chooses a different option or changes the character string in the input.

    When using the freeSolo mode, the typed value will be the input value if the Autocomplete loses focus without highlighting an option.

    false
    
    blurOnSelect?: boolean | "touch" | "mouse"

    Control if the input should be blurred when an option is selected:

    • false the input is not blurred.
    • true the input is always blurred.
    • touch the input is blurred after a touch event.
    • mouse the input is blurred after a mouse event.
    false
    
    ChipProps?: ChipProps<"div">

    Props applied to the Chip element.

    Use slotProps.chip instead. This prop will be removed in a future major release. See Migrating from deprecated APIs for more details.

    classes?: Partial<AutocompleteClasses>

    Override or extend the styles applied to the component.

    className?: string
    clearIcon?: ReactNode

    The icon to display in place of the default clear icon.

    <ClearIcon fontSize="small" />
    
    clearOnBlur?: boolean

    If true, the input's text is cleared on blur if no value is selected.

    Set it to true if you want to help the user enter a new value. Set it to false if you want to help the user resume their search.

    !props.freeSolo
    
    clearOnEscape?: boolean

    If true, clear all values when the user presses escape and the popup is closed.

    false
    
    clearText?: string

    Override the default text for the clear icon button.

    For localization purposes, you can use the provided translations.

    'Clear'
    
    closeText?: string

    Override the default text for the close popup icon button.

    For localization purposes, you can use the provided translations.

    'Close'
    
    color?: string
    componentName?: string

    The component name that is using this hook. Used for warnings.

    componentsProps?: {
        clearIndicator?: Partial<IconButtonProps>;
        paper?: PaperProps;
        popper?: Partial<PopperProps>;
        popupIndicator?: Partial<IconButtonProps>;
    }

    The props used for each slot inside.

    Use the slotProps prop instead. This prop will be removed in a future major release. See Migrating from deprecated APIs for more details.

    content?: string
    contentEditable?: "inherit" | Booleanish | "plaintext-only"
    contextMenu?: string
    dangerouslySetInnerHTML?: { __html: string | TrustedHTML }
    datatype?: string
    defaultChecked?: boolean
    defaultValue?: AutocompleteValue<T, Multiple, DisableClearable, FreeSolo>

    The default value. Use when the component is not controlled.

    props.multiple ? [] : null
    
    dir?: string
    disableClearable?: DisableClearable

    If true, the input can't be cleared.

    false
    
    disableCloseOnSelect?: boolean

    If true, the popup won't close when a value is selected.

    false
    
    disabled?: boolean

    If true, the component is disabled.

    false
    
    disabledItemsFocusable?: boolean

    If true, will allow focus on disabled items.

    false
    
    disableListWrap?: boolean

    If true, the list box in the popup will not wrap focus.

    false
    
    disablePortal?: boolean

    If true, the Popper content will be under the DOM hierarchy of the parent component.

    false
    
    draggable?: Booleanish
    enterKeyHint?: "search" | "next" | "enter" | "done" | "go" | "previous" | "send"
    exportparts?: string
    filterOptions?: (options: T[], state: FilterOptionsState<T>) => T[]

    A function that determines the filtered options to be rendered on search.

    Type Declaration

      • (options: T[], state: FilterOptionsState<T>): T[]
      • Parameters

        • options: T[]

          The options to render.

        • state: FilterOptionsState<T>

          The state of the component.

        Returns T[]

    createFilterOptions()
    
    filterSelectedOptions?: boolean

    If true, hide the selected options from the list box.

    false
    
    forcePopupIcon?: boolean | "auto"

    Force the visibility display of the popup icon.

    'auto'
    
    freeSolo?: FreeSolo

    If true, the Autocomplete is free solo, meaning that the user input is not bound to provided options.

    false
    
    fullWidth: boolean

    If true, the input will take up the full width of its container.

    false
    
    getLimitTagsText?: (more: number) => ReactNode

    The label to display when the tags are truncated (limitTags).

    Type Declaration

      • (more: number): ReactNode
      • Parameters

        • more: number

          The number of truncated tags.

        Returns ReactNode

    (more) => +${more}

    getOptionDisabled?: (option: T) => boolean

    Used to determine the disabled state for a given option.

    Type Declaration

      • (option: T): boolean
      • Parameters

        • option: T

          The option to test.

        Returns boolean

    getOptionKey?: (
        option: T | AutocompleteFreeSoloValueMapping<FreeSolo>,
    ) => string | number

    Used to determine the key for a given option. This can be useful when the labels of options are not unique (since labels are used as keys by default).

    Type Declaration

      • (option: T | AutocompleteFreeSoloValueMapping<FreeSolo>): string | number
      • Parameters

        • option: T | AutocompleteFreeSoloValueMapping<FreeSolo>

          The option to get the key for.

        Returns string | number

    getOptionLabel?: (
        option: T | AutocompleteFreeSoloValueMapping<FreeSolo>,
    ) => string

    Used to determine the string value for a given option. It's used to fill the input (and the list box options if renderOption is not provided).

    If used in free solo mode, it must accept both the type of the options and a string.

    Type Declaration

      • (option: T | AutocompleteFreeSoloValueMapping<FreeSolo>): string
      • Parameters

        • option: T | AutocompleteFreeSoloValueMapping<FreeSolo>

        Returns string

    (option) => option.label ?? option
    
    groupBy?: (option: T) => string

    If provided, the options will be grouped under the returned string. The groupBy value is also used as the text for group headings when renderGroup is not provided.

    Type Declaration

      • (option: T): string
      • Parameters

        • option: T

          The Autocomplete option.

        Returns string

    handleHomeEndKeys?: boolean

    If true, the component handles the "Home" and "End" keys when the popup is open. It should move focus to the first option and last option, respectively.

    !props.freeSolo
    
    hidden?: boolean
    id?: string

    This prop is used to help implement the accessibility logic. If you don't provide an id it will fall back to a randomly generated one.

    includeInputInList?: boolean

    If true, the highlight can move to the input.

    false
    
    inlist?: any
    inputMode?:
        | "none"
        | "search"
        | "text"
        | "tel"
        | "url"
        | "email"
        | "numeric"
        | "decimal"

    Hints at the type of data that might be entered by the user while editing the element or its contents

    inputValue?: string

    The input value.

    is?: string

    Specify that a standard HTML element should behave like a defined custom built-in element

    isOptionEqualToValue?: (option: T, value: T) => boolean

    Used to determine if the option represents the given value. Uses strict equality by default. ⚠️ Both arguments need to be handled, an option can only match with one value.

    Type Declaration

      • (option: T, value: T): boolean
      • Parameters

        • option: T

          The option to test.

        • value: T

          The value to test against.

        Returns boolean

    itemID?: string
    itemProp?: string
    itemRef?: string
    itemScope?: boolean
    itemType?: string
    lang?: string
    limitTags?: number

    The maximum number of tags that will be visible when not focused. Set -1 to disable the limit.

    -1
    
    ListboxComponent?: JSXElementConstructor<HTMLAttributes<HTMLElement>>

    The component used to render the listbox.

    'ul'
    

    Use slotProps.listbox.component instead. This prop will be removed in a future major release. See Migrating from deprecated APIs for more details.

    ListboxProps?: HTMLAttributes<HTMLUListElement> & {
        ref?: Ref<Element>;
        sx?: SxProps<Theme>;
    }

    Props applied to the Listbox element.

    Use slotProps.listbox instead. This prop will be removed in a future major release. See Migrating from deprecated APIs for more details.

    loading?: boolean

    If true, the component is in a loading state. This shows the loadingText in place of suggestions (only if there are no suggestions to show, for example options are empty).

    false
    
    loadingText?: ReactNode

    Text to display when in a loading state.

    For localization purposes, you can use the provided translations.

    'Loading…'
    
    multiple?: Multiple

    If true, value must be an array and the menu will support multiple selections.

    false
    
    nonce?: string
    noOptionsText?: ReactNode

    Text to display when there are no options.

    For localization purposes, you can use the provided translations.

    'No options'
    
    onAbort?: ReactEventHandler<HTMLDivElement>
    onAbortCapture?: ReactEventHandler<HTMLDivElement>
    onAnimationEnd?: AnimationEventHandler<HTMLDivElement>
    onAnimationEndCapture?: AnimationEventHandler<HTMLDivElement>
    onAnimationIteration?: AnimationEventHandler<HTMLDivElement>
    onAnimationIterationCapture?: AnimationEventHandler<HTMLDivElement>
    onAnimationStart?: AnimationEventHandler<HTMLDivElement>
    onAnimationStartCapture?: AnimationEventHandler<HTMLDivElement>
    onAuxClick?: MouseEventHandler<HTMLDivElement>
    onAuxClickCapture?: MouseEventHandler<HTMLDivElement>
    onBeforeInput?: InputEventHandler<HTMLDivElement>
    onBeforeInputCapture?: FormEventHandler<HTMLDivElement>
    onBlur?: FocusEventHandler<HTMLDivElement>
    onBlurCapture?: FocusEventHandler<HTMLDivElement>
    onCanPlay?: ReactEventHandler<HTMLDivElement>
    onCanPlayCapture?: ReactEventHandler<HTMLDivElement>
    onCanPlayThrough?: ReactEventHandler<HTMLDivElement>
    onCanPlayThroughCapture?: ReactEventHandler<HTMLDivElement>
    onChange?: (
        event: SyntheticEvent,
        value: AutocompleteValue<T, Multiple, DisableClearable, FreeSolo>,
        reason: AutocompleteChangeReason,
        details?: AutocompleteChangeDetails<T>,
    ) => void

    Callback fired when the value changes.

    Type Declaration

      • (
            event: SyntheticEvent,
            value: AutocompleteValue<T, Multiple, DisableClearable, FreeSolo>,
            reason: AutocompleteChangeReason,
            details?: AutocompleteChangeDetails<T>,
        ): void
      • Parameters

        • event: SyntheticEvent

          The event source of the callback.

        • value: AutocompleteValue<T, Multiple, DisableClearable, FreeSolo>

          The new value of the component.

        • reason: AutocompleteChangeReason

          One of "createOption", "selectOption", "removeOption", "blur" or "clear".

        • Optionaldetails: AutocompleteChangeDetails<T>

        Returns void

    onChangeCapture?: FormEventHandler<HTMLDivElement>
    onClick?: MouseEventHandler<HTMLDivElement>
    onClickCapture?: MouseEventHandler<HTMLDivElement>
    onClose?: (event: SyntheticEvent, reason: AutocompleteCloseReason) => void

    Callback fired when the popup requests to be closed. Use in controlled mode (see open).

    Type Declaration

      • (event: SyntheticEvent, reason: AutocompleteCloseReason): void
      • Parameters

        • event: SyntheticEvent

          The event source of the callback.

        • reason: AutocompleteCloseReason

          Can be: "toggleInput", "escape", "selectOption", "removeOption", "blur".

        Returns void

    onCompositionEnd?: CompositionEventHandler<HTMLDivElement>
    onCompositionEndCapture?: CompositionEventHandler<HTMLDivElement>
    onCompositionStart?: CompositionEventHandler<HTMLDivElement>
    onCompositionStartCapture?: CompositionEventHandler<HTMLDivElement>
    onCompositionUpdate?: CompositionEventHandler<HTMLDivElement>
    onCompositionUpdateCapture?: CompositionEventHandler<HTMLDivElement>
    onContextMenu?: MouseEventHandler<HTMLDivElement>
    onContextMenuCapture?: MouseEventHandler<HTMLDivElement>
    onCopy?: ClipboardEventHandler<HTMLDivElement>
    onCopyCapture?: ClipboardEventHandler<HTMLDivElement>
    onCut?: ClipboardEventHandler<HTMLDivElement>
    onCutCapture?: ClipboardEventHandler<HTMLDivElement>
    onDoubleClick?: MouseEventHandler<HTMLDivElement>
    onDoubleClickCapture?: MouseEventHandler<HTMLDivElement>
    onDrag?: DragEventHandler<HTMLDivElement>
    onDragCapture?: DragEventHandler<HTMLDivElement>
    onDragEnd?: DragEventHandler<HTMLDivElement>
    onDragEndCapture?: DragEventHandler<HTMLDivElement>
    onDragEnter?: DragEventHandler<HTMLDivElement>
    onDragEnterCapture?: DragEventHandler<HTMLDivElement>
    onDragExit?: DragEventHandler<HTMLDivElement>
    onDragExitCapture?: DragEventHandler<HTMLDivElement>
    onDragLeave?: DragEventHandler<HTMLDivElement>
    onDragLeaveCapture?: DragEventHandler<HTMLDivElement>
    onDragOver?: DragEventHandler<HTMLDivElement>
    onDragOverCapture?: DragEventHandler<HTMLDivElement>
    onDragStart?: DragEventHandler<HTMLDivElement>
    onDragStartCapture?: DragEventHandler<HTMLDivElement>
    onDrop?: DragEventHandler<HTMLDivElement>
    onDropCapture?: DragEventHandler<HTMLDivElement>
    onDurationChange?: ReactEventHandler<HTMLDivElement>
    onDurationChangeCapture?: ReactEventHandler<HTMLDivElement>
    onEmptied?: ReactEventHandler<HTMLDivElement>
    onEmptiedCapture?: ReactEventHandler<HTMLDivElement>
    onEncrypted?: ReactEventHandler<HTMLDivElement>
    onEncryptedCapture?: ReactEventHandler<HTMLDivElement>
    onEnded?: ReactEventHandler<HTMLDivElement>
    onEndedCapture?: ReactEventHandler<HTMLDivElement>
    onError?: ReactEventHandler<HTMLDivElement>
    onErrorCapture?: ReactEventHandler<HTMLDivElement>
    onFocus?: FocusEventHandler<HTMLDivElement>
    onFocusCapture?: FocusEventHandler<HTMLDivElement>
    onGotPointerCapture?: PointerEventHandler<HTMLDivElement>
    onGotPointerCaptureCapture?: PointerEventHandler<HTMLDivElement>
    onHighlightChange?: (
        event: SyntheticEvent,
        option: T | null,
        reason: AutocompleteHighlightChangeReason,
    ) => void

    Callback fired when the highlight option changes.

    Type Declaration

      • (
            event: SyntheticEvent,
            option: T | null,
            reason: AutocompleteHighlightChangeReason,
        ): void
      • Parameters

        • event: SyntheticEvent

          The event source of the callback.

        • option: T | null

          The highlighted option.

        • reason: AutocompleteHighlightChangeReason

          Can be: "keyboard", "mouse", "touch".

        Returns void

    onInput?: FormEventHandler<HTMLDivElement>
    onInputCapture?: FormEventHandler<HTMLDivElement>
    onInputChange?: (
        event: SyntheticEvent,
        value: string,
        reason: AutocompleteInputChangeReason,
    ) => void

    Callback fired when the input value changes.

    Type Declaration

      • (
            event: SyntheticEvent,
            value: string,
            reason: AutocompleteInputChangeReason,
        ): void
      • Parameters

        • event: SyntheticEvent

          The event source of the callback.

        • value: string

          The new value of the text input.

        • reason: AutocompleteInputChangeReason

          Can be: "input" (user input), "reset" (programmatic change), "clear", "blur", "selectOption", "removeOption"

        Returns void

    onInvalid?: FormEventHandler<HTMLDivElement>
    onInvalidCapture?: FormEventHandler<HTMLDivElement>
    onKeyDown?: (
        event: KeyboardEvent<HTMLDivElement> & { defaultMuiPrevented?: boolean },
    ) => void
    onKeyDownCapture?: KeyboardEventHandler<HTMLDivElement>
    onKeyPress?: KeyboardEventHandler<HTMLDivElement>

    Use onKeyUp or onKeyDown instead

    onKeyPressCapture?: KeyboardEventHandler<HTMLDivElement>

    Use onKeyUpCapture or onKeyDownCapture instead

    onKeyUp?: KeyboardEventHandler<HTMLDivElement>
    onKeyUpCapture?: KeyboardEventHandler<HTMLDivElement>
    onLoad?: ReactEventHandler<HTMLDivElement>
    onLoadCapture?: ReactEventHandler<HTMLDivElement>
    onLoadedData?: ReactEventHandler<HTMLDivElement>
    onLoadedDataCapture?: ReactEventHandler<HTMLDivElement>
    onLoadedMetadata?: ReactEventHandler<HTMLDivElement>
    onLoadedMetadataCapture?: ReactEventHandler<HTMLDivElement>
    onLoadStart?: ReactEventHandler<HTMLDivElement>
    onLoadStartCapture?: ReactEventHandler<HTMLDivElement>
    onLostPointerCapture?: PointerEventHandler<HTMLDivElement>
    onLostPointerCaptureCapture?: PointerEventHandler<HTMLDivElement>
    onMouseDown?: MouseEventHandler<HTMLDivElement>
    onMouseDownCapture?: MouseEventHandler<HTMLDivElement>
    onMouseEnter?: MouseEventHandler<HTMLDivElement>
    onMouseLeave?: MouseEventHandler<HTMLDivElement>
    onMouseMove?: MouseEventHandler<HTMLDivElement>
    onMouseMoveCapture?: MouseEventHandler<HTMLDivElement>
    onMouseOut?: MouseEventHandler<HTMLDivElement>
    onMouseOutCapture?: MouseEventHandler<HTMLDivElement>
    onMouseOver?: MouseEventHandler<HTMLDivElement>
    onMouseOverCapture?: MouseEventHandler<HTMLDivElement>
    onMouseUp?: MouseEventHandler<HTMLDivElement>
    onMouseUpCapture?: MouseEventHandler<HTMLDivElement>
    onOpen?: (event: SyntheticEvent) => void

    Callback fired when the popup requests to be opened. Use in controlled mode (see open).

    Type Declaration

      • (event: SyntheticEvent): void
      • Parameters

        • event: SyntheticEvent

          The event source of the callback.

        Returns void

    onPaste?: ClipboardEventHandler<HTMLDivElement>
    onPasteCapture?: ClipboardEventHandler<HTMLDivElement>
    onPause?: ReactEventHandler<HTMLDivElement>
    onPauseCapture?: ReactEventHandler<HTMLDivElement>
    onPlay?: ReactEventHandler<HTMLDivElement>
    onPlayCapture?: ReactEventHandler<HTMLDivElement>
    onPlaying?: ReactEventHandler<HTMLDivElement>
    onPlayingCapture?: ReactEventHandler<HTMLDivElement>
    onPointerCancel?: PointerEventHandler<HTMLDivElement>
    onPointerCancelCapture?: PointerEventHandler<HTMLDivElement>
    onPointerDown?: PointerEventHandler<HTMLDivElement>
    onPointerDownCapture?: PointerEventHandler<HTMLDivElement>
    onPointerEnter?: PointerEventHandler<HTMLDivElement>
    onPointerLeave?: PointerEventHandler<HTMLDivElement>
    onPointerMove?: PointerEventHandler<HTMLDivElement>
    onPointerMoveCapture?: PointerEventHandler<HTMLDivElement>
    onPointerOut?: PointerEventHandler<HTMLDivElement>
    onPointerOutCapture?: PointerEventHandler<HTMLDivElement>
    onPointerOver?: PointerEventHandler<HTMLDivElement>
    onPointerOverCapture?: PointerEventHandler<HTMLDivElement>
    onPointerUp?: PointerEventHandler<HTMLDivElement>
    onPointerUpCapture?: PointerEventHandler<HTMLDivElement>
    onProgress?: ReactEventHandler<HTMLDivElement>
    onProgressCapture?: ReactEventHandler<HTMLDivElement>
    onRateChange?: ReactEventHandler<HTMLDivElement>
    onRateChangeCapture?: ReactEventHandler<HTMLDivElement>
    onReset?: FormEventHandler<HTMLDivElement>
    onResetCapture?: FormEventHandler<HTMLDivElement>
    onScroll?: UIEventHandler<HTMLDivElement>
    onScrollCapture?: UIEventHandler<HTMLDivElement>
    onSeeked?: ReactEventHandler<HTMLDivElement>
    onSeekedCapture?: ReactEventHandler<HTMLDivElement>
    onSeeking?: ReactEventHandler<HTMLDivElement>
    onSeekingCapture?: ReactEventHandler<HTMLDivElement>
    onSelect?: ReactEventHandler<HTMLDivElement>
    onSelectCapture?: ReactEventHandler<HTMLDivElement>
    onStalled?: ReactEventHandler<HTMLDivElement>
    onStalledCapture?: ReactEventHandler<HTMLDivElement>
    onSubmit?: FormEventHandler<HTMLDivElement>
    onSubmitCapture?: FormEventHandler<HTMLDivElement>
    onSuspend?: ReactEventHandler<HTMLDivElement>
    onSuspendCapture?: ReactEventHandler<HTMLDivElement>
    onTimeUpdate?: ReactEventHandler<HTMLDivElement>
    onTimeUpdateCapture?: ReactEventHandler<HTMLDivElement>
    onTouchCancel?: TouchEventHandler<HTMLDivElement>
    onTouchCancelCapture?: TouchEventHandler<HTMLDivElement>
    onTouchEnd?: TouchEventHandler<HTMLDivElement>
    onTouchEndCapture?: TouchEventHandler<HTMLDivElement>
    onTouchMove?: TouchEventHandler<HTMLDivElement>
    onTouchMoveCapture?: TouchEventHandler<HTMLDivElement>
    onTouchStart?: TouchEventHandler<HTMLDivElement>
    onTouchStartCapture?: TouchEventHandler<HTMLDivElement>
    onTransitionEnd?: TransitionEventHandler<HTMLDivElement>
    onTransitionEndCapture?: TransitionEventHandler<HTMLDivElement>
    onVolumeChange?: ReactEventHandler<HTMLDivElement>
    onVolumeChangeCapture?: ReactEventHandler<HTMLDivElement>
    onWaiting?: ReactEventHandler<HTMLDivElement>
    onWaitingCapture?: ReactEventHandler<HTMLDivElement>
    onWheel?: WheelEventHandler<HTMLDivElement>
    onWheelCapture?: WheelEventHandler<HTMLDivElement>
    open?: boolean

    If true, the component is shown.

    openOnFocus?: boolean

    If true, the popup will open on input focus.

    false
    
    openText?: string

    Override the default text for the open popup icon button.

    For localization purposes, you can use the provided translations.

    'Open'
    
    options: readonly T[]

    A list of options that will be shown in the Autocomplete.

    PaperComponent?: JSXElementConstructor<HTMLAttributes<HTMLElement>>

    The component used to render the body of the popup.

    Paper
    

    Use slots.paper instead. This prop will be removed in a future major release. See Migrating from deprecated APIs for more details.

    part?: string
    PopperComponent?: JSXElementConstructor<PopperProps>

    The component used to position the popup.

    Popper
    

    Use slots.popper instead. This prop will be removed in a future major release. See Migrating from deprecated APIs for more details.

    popupIcon?: ReactNode

    The icon to display in place of the default popup icon.

    <ArrowDropDownIcon />
    
    prefix?: string
    property?: string
    radioGroup?: string
    readOnly?: boolean

    If true, the component becomes readonly. It is also supported for multiple tags where the tag cannot be deleted.

    false
    
    ref?: Ref<unknown>
    rel?: string
    renderGroup?: (params: AutocompleteRenderGroupParams) => ReactNode

    Render the group.

    Type Declaration

      • (params: AutocompleteRenderGroupParams): ReactNode
      • Parameters

        • params: AutocompleteRenderGroupParams

          The group to render.

        Returns ReactNode

    renderInput: (params: AutocompleteRenderInputParams) => ReactNode

    Render the input.

    Note: The renderInput prop must return a TextField component or a compatible custom component that correctly forwards InputProps.ref and spreads inputProps. This ensures proper integration with the Autocomplete's internal logic (e.g., focus management and keyboard navigation).

    Avoid using components like DatePicker or Select directly, as they may not forward the required props, leading to runtime errors or unexpected behavior.

    Type Declaration

      • (params: AutocompleteRenderInputParams): ReactNode
      • Parameters

        • params: AutocompleteRenderInputParams

        Returns ReactNode

    renderOption?: (
        props: HTMLAttributes<HTMLLIElement> & { key: any },
        option: T,
        state: AutocompleteRenderOptionState,
        ownerState: AutocompleteOwnerState<
            T,
            Multiple,
            DisableClearable,
            FreeSolo,
            "div",
        >,
    ) => ReactNode

    Render the option, use getOptionLabel by default.

    Type Declaration

      • (
            props: HTMLAttributes<HTMLLIElement> & { key: any },
            option: T,
            state: AutocompleteRenderOptionState,
            ownerState: AutocompleteOwnerState<
                T,
                Multiple,
                DisableClearable,
                FreeSolo,
                "div",
            >,
        ): ReactNode
      • Parameters

        • props: HTMLAttributes<HTMLLIElement> & { key: any }

          The props to apply on the li element.

        • option: T

          The option to render.

        • state: AutocompleteRenderOptionState

          The state of each option.

        • ownerState: AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">

          The state of the Autocomplete component.

        Returns ReactNode

    renderTags?: (
        value: T[],
        getTagProps: AutocompleteRenderGetTagProps,
        ownerState: AutocompleteOwnerState<
            T,
            Multiple,
            DisableClearable,
            FreeSolo,
            "div",
        >,
    ) => ReactNode

    Render the selected value when doing multiple selections.

    Type Declaration

      • (
            value: T[],
            getTagProps: AutocompleteRenderGetTagProps,
            ownerState: AutocompleteOwnerState<
                T,
                Multiple,
                DisableClearable,
                FreeSolo,
                "div",
            >,
        ): ReactNode
      • Parameters

        • value: T[]

          The value provided to the component.

        • getTagProps: AutocompleteRenderGetTagProps

          A tag props getter.

        • ownerState: AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">

          The state of the Autocomplete component.

        Returns ReactNode

    Use renderValue prop instead

    renderValue?: (
        value: AutocompleteRenderValue<T, Multiple, FreeSolo>,
        getItemProps: AutocompleteRenderValueGetItemProps<Multiple>,
        ownerState: AutocompleteOwnerState<
            T,
            Multiple,
            DisableClearable,
            FreeSolo,
            "div",
        >,
    ) => ReactNode

    Renders the selected value(s) as rich content in the input for both single and multiple selections.

    Type Declaration

      • (
            value: AutocompleteRenderValue<T, Multiple, FreeSolo>,
            getItemProps: AutocompleteRenderValueGetItemProps<Multiple>,
            ownerState: AutocompleteOwnerState<
                T,
                Multiple,
                DisableClearable,
                FreeSolo,
                "div",
            >,
        ): ReactNode
      • Parameters

        • value: AutocompleteRenderValue<T, Multiple, FreeSolo>

          The value provided to the component.

        • getItemProps: AutocompleteRenderValueGetItemProps<Multiple>

          The value item props.

        • ownerState: AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">

          The state of the Autocomplete component.

        Returns ReactNode

    resource?: string
    results?: number
    rev?: string
    role?: AriaRole
    security?: string
    selectOnFocus?: boolean

    If true, the input's text is selected on focus. It helps the user clear the selected value.

    !props.freeSolo
    
    size?: OverridableStringUnion<
        "small"
        | "medium",
        AutocompletePropsSizeOverrides,
    >

    The size of the component.

    'medium'
    
    slot?: string
    slotProps?: {
        chip?: SlotProps<
            ElementType<Partial<ChipProps<"div">>, (keyof IntrinsicElements)>,
            {},
            AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
        >;
        clearIndicator?: SlotProps<
            ElementType<Partial<IconButtonProps>, (keyof IntrinsicElements)>,
            {},
            AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
        >;
        listbox?: SlotProps<
            ComponentType<
                HTMLAttributes<HTMLUListElement> & {
                    ref?: Ref<Element> | undefined;
                    sx?: SxProps<Theme> | undefined;
                },
            >,
            {},
            AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
        >;
        paper?: SlotProps<
            ElementType<Partial<PaperProps>, (keyof IntrinsicElements)>,
            AutocompletePaperSlotPropsOverrides,
            AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
        >;
        popper?: SlotProps<
            ElementType<Partial<PopperProps>, (keyof IntrinsicElements)>,
            AutocompletePopperSlotPropsOverrides,
            AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
        >;
        popupIndicator?: SlotProps<
            ElementType<Partial<IconButtonProps>, (keyof IntrinsicElements)>,
            {},
            AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
        >;
    }

    The props used for each slot inside.

    Type Declaration

    • Optionalchip?: SlotProps<
          ElementType<Partial<ChipProps<"div">>, (keyof IntrinsicElements)>,
          {},
          AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
      >
    • OptionalclearIndicator?: SlotProps<
          ElementType<Partial<IconButtonProps>, (keyof IntrinsicElements)>,
          {},
          AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
      >
    • Optionallistbox?: SlotProps<
          ComponentType<
              HTMLAttributes<HTMLUListElement> & {
                  ref?: Ref<Element> | undefined;
                  sx?: SxProps<Theme> | undefined;
              },
          >,
          {},
          AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
      >

      Props applied to the Listbox element.

    • Optionalpaper?: SlotProps<
          ElementType<Partial<PaperProps>, (keyof IntrinsicElements)>,
          AutocompletePaperSlotPropsOverrides,
          AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
      >
    • Optionalpopper?: SlotProps<
          ElementType<Partial<PopperProps>, (keyof IntrinsicElements)>,
          AutocompletePopperSlotPropsOverrides,
          AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
      >
    • OptionalpopupIndicator?: SlotProps<
          ElementType<Partial<IconButtonProps>, (keyof IntrinsicElements)>,
          {},
          AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, "div">,
      >
    {}
    
    slots?: Partial<AutocompleteSlots>

    The components used for each slot inside.

    {}
    
    spellCheck?: Booleanish
    style?: CSSProperties
    suppressContentEditableWarning?: boolean
    suppressHydrationWarning?: boolean
    sx?: SxProps<Theme>

    The system prop that allows defining system overrides as well as additional CSS styles.

    tabIndex?: number
    title?: string
    translate?: "yes" | "no"
    typeof?: string
    unselectable?: "off" | "on"
    unstable_classNamePrefix?: string

    The prefix of the state class name, temporary for Joy UI

    'Mui'
    
    unstable_isActiveElementInListbox?: (
        listbox: RefObject<HTMLElement | null>,
    ) => boolean

    Temporary for Joy UI because the parent listbox is the document object TODO v6: Normalize the logic and remove this param.

    value?: AutocompleteValue<T, Multiple, DisableClearable, FreeSolo>

    The value of the autocomplete.

    The value must have reference equality with the option in order to be selected. You can customize the equality behavior with the isOptionEqualToValue prop.

    vocab?: string