Bin
2025-12-17 7c6dc86b52527ce8c7c7ed0aebe48d677972a5b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import type { MutableRefObject } from "react";
 
export default function mergeRefs(...inputRefs: (MutableRefObject<any> | undefined | null)[]) {
  const filteredInputRefs = inputRefs.filter(Boolean) as MutableRefObject<any>[];
 
  if (filteredInputRefs.length <= 1) {
    return filteredInputRefs[0];
  }
 
  return (ref: any) => {
    filteredInputRefs.forEach((inputRef: MutableRefObject<any> | ((ref: MutableRefObject<any>) => void)) => {
      if (typeof inputRef === "function") {
        inputRef(ref);
      } else {
        inputRef.current = ref;
      }
    });
  };
}