( ref: FocusableRef<T, D>, focusableRef?: RefObject<T | null> )
| 47 | } |
| 48 | |
| 49 | export function useFocusableRef<T extends HTMLElement = HTMLElement, D extends HTMLElement = T>( |
| 50 | ref: FocusableRef<T, D>, |
| 51 | focusableRef?: RefObject<T | null> |
| 52 | ): RefObject<D | null> { |
| 53 | let domRef = useRef<D>(null); |
| 54 | useImperativeHandle(ref, () => createFocusableRef<T, D>(domRef, focusableRef)); |
| 55 | return domRef; |
| 56 | } |
| 57 | |
| 58 | export function unwrapDOMRef<T extends HTMLElement>( |
| 59 | ref: RefObject<DOMRefValue<T> | null> |