Piplup
@piplup/rhf-adaptersmui-materialHooks

useMuiAutocompleteAdapter

Returns adapter props for building custom MUI Autocomplete integrations with React Hook Form.

Import

import { useMuiAutocompleteAdapter } from "@piplup/rhf-adapters/mui-material";

Usage

import * as React from 'react';import {  Autocomplete,  type AutocompleteValue,  type AutocompleteProps,  type ChipTypeMap,} from '@mui/material';import { type Transform } from '@piplup/rhf-core';import { type FieldPath, type FieldValues } from 'react-hook-form';import {  useMuiAutocompleteAdapter,  type UseMuiAutocompleteProps,} from './adapter';export interface MuiAutocompleteElementProps<  TTransformedValue,  Multiple extends boolean | undefined,  DisableClearable extends boolean | undefined,  FreeSolo extends boolean | undefined,  ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent'],  TFieldValues extends FieldValues = FieldValues,  TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,> extends Omit<      AutocompleteProps<        TTransformedValue,        Multiple,        DisableClearable,        FreeSolo,        ChipComponent      >,      'defaultValue' | 'renderInput' | 'style' | 'value'    >,    Omit<      UseMuiAutocompleteProps<        AutocompleteValue<          TTransformedValue,          Multiple,          DisableClearable,          FreeSolo        >,        Multiple,        TFieldValues,        TName      >,      | 'classes'      | 'composeClassName'      | 'composeHelperText'      | 'multiple'      | 'onBlur'      | 'onChange'      | 'transform'    > {  /**   * Transformation functions for the field's input and output values.   */  transform?: Transform<    AutocompleteProps<      TTransformedValue,      Multiple,      DisableClearable,      FreeSolo,      ChipComponent    >['onChange'],    AutocompleteValue<TTransformedValue, Multiple, DisableClearable, FreeSolo>,    TFieldValues,    TName  >;}function MuiAutocompleteComponent<  TTransformedValue,  Multiple extends boolean | undefined,  DisableClearable extends boolean | undefined,  FreeSolo extends boolean | undefined,  ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent'],  TFieldValues extends FieldValues = FieldValues,  TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,  RefType = unknown,>(  props: MuiAutocompleteElementProps<    TTransformedValue,    Multiple,    DisableClearable,    FreeSolo,    ChipComponent,    TFieldValues,    TName  >,  ref?: React.Ref<RefType>,): React.ReactElement {  const {    classes,    className,    control,    defaultValue,    disabled,    disableOnError,    disableOnIsSubmitting,    error,    errorParser,    helperText,    max,    maxLength,    messages,    min,    minLength,    multiple,    name,    onBlur,    onChange,    pattern,    renderInput,    required,    rules,    shouldUnregister,    style,    title,    transform,    ...rest  } = props;  const adapter = useMuiAutocompleteAdapter(    {      classes,      className,      composeClassName: false,      composeHelperText: true,      control,      defaultValue,      disabled,      disableOnError,      disableOnIsSubmitting,      error,      errorParser,      helperText,      max,      maxLength,      messages,      min,      minLength,      multiple,      name,      onBlur,      onChange,      pattern,      renderInput,      required,      rules,      shouldUnregister,      style,      title,      transform    },    ref,  );  return <Autocomplete {...rest} {...adapter} />;}export const MuiAutocompleteElement = React.forwardRef(  MuiAutocompleteComponent,) as typeof MuiAutocompleteComponent & { displayName?: string };if (process.env.NODE_ENV !== 'production') {  MuiAutocompleteElement.displayName = 'MuiAutocompleteElement';}

Props

Prop

Type

Return value

Prop

Type

On this page