@@ -6,13 +6,7 @@ import Card from "@mui/material/Card";
66import CardContent from "@mui/material/CardContent" ;
77import TextField from "@mui/material/TextField" ;
88import ClickAwayListener from "@mui/material/ClickAwayListener" ;
9- import React , {
10- ForwardedRef ,
11- forwardRef ,
12- useState ,
13- useRef ,
14- useEffect ,
15- } from "react" ;
9+ import React , { Ref , useState , useRef , useEffect } from "react" ;
1610import {
1711 Controller ,
1812 ControllerProps ,
@@ -47,20 +41,21 @@ type MultipleSelectExtendedInputProps<T extends object> = {
4741) ;
4842
4943const MUIComponents = {
50- List : forwardRef < HTMLDivElement , ListProps > ( function MuiList (
51- { style, children } ,
52- listRef
53- ) {
44+ List : function MuiList ( {
45+ style,
46+ children,
47+ ref,
48+ } : ListProps & { ref ?: Ref < HTMLDivElement > } ) {
5449 return (
5550 < List
5651 style = { { padding : 0 , ...style , margin : 0 } }
5752 component = "div"
58- ref = { listRef }
53+ ref = { ref }
5954 >
6055 { children }
6156 </ List >
6257 ) ;
63- } ) ,
58+ } ,
6459
6560 Item : ( { children, ...props } : ItemProps < unknown > ) => {
6661 return (
@@ -71,14 +66,14 @@ const MUIComponents = {
7166 } ,
7267} ;
7368
74- function MultipleSelectExtendedInputRaw < T extends object > (
69+ function MultipleSelectExtendedInput < T extends object > (
7570 props : MultipleSelectExtendedInputProps < T > & {
7671 name : string ;
7772 value : T [ ] | null ;
7873 onChange : ( value : T [ ] ) => void ;
7974 onBlur : ( ) => void ;
80- } ,
81- ref ?: ForwardedRef < HTMLDivElement | null >
75+ ref ?: Ref < HTMLDivElement | null > ;
76+ }
8277) {
8378 const [ isOpen , setIsOpen ] = useState ( false ) ;
8479 const boxRef = useRef < HTMLInputElement | null > ( null ) ;
@@ -96,7 +91,7 @@ function MultipleSelectExtendedInputRaw<T extends object>(
9691 < div >
9792 < Box mb = { 0.5 } ref = { boxRef } >
9893 < TextField
99- ref = { ref }
94+ ref = { props . ref }
10095 name = { props . name }
10196 value = { props . value ? props . renderSelected ( props . value ) : "" }
10297 onBlur = { props . onBlur }
@@ -188,17 +183,6 @@ function MultipleSelectExtendedInputRaw<T extends object>(
188183 ) ;
189184}
190185
191- const MultipleSelectExtendedInput = forwardRef (
192- MultipleSelectExtendedInputRaw
193- ) as never as < T extends object > (
194- props : MultipleSelectExtendedInputProps < T > & {
195- name : string ;
196- value : T [ ] | null ;
197- onChange : ( value : T [ ] ) => void ;
198- onBlur : ( ) => void ;
199- } & { ref ?: ForwardedRef < HTMLDivElement | null > }
200- ) => ReturnType < typeof MultipleSelectExtendedInputRaw > ;
201-
202186function FormMultipleSelectExtendedInput <
203187 TFieldValues extends FieldValues = FieldValues ,
204188 T extends object = object ,
0 commit comments