@grafana/ui
Version:
Grafana Components Library
1 lines • 1.12 kB
Source Map (JSON)
{"version":3,"file":"useCombinedRefs.mjs","sources":["../../../src/utils/useCombinedRefs.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function useCombinedRefs<T>(\n ...refs: Array<React.MutableRefObject<T | null> | React.ForwardedRef<T | null> | ((instance: T | null) => void)>\n) {\n const targetRef = React.useRef<T | null>(null);\n\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (!ref) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n });\n }, [refs]);\n\n return targetRef;\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,mBACX,IAAA,EACH;AACA,EAAA,MAAM,SAAA,GAAY,KAAA,CAAM,MAAA,CAAiB,IAAI,CAAA;AAE7C,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAA,CAAK,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACpB,MAAA,IAAI,CAAC,GAAA,EAAK;AACR,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,OAAO,QAAQ,UAAA,EAAY;AAC7B,QAAA,GAAA,CAAI,UAAU,OAAO,CAAA;AAAA,MACvB,CAAA,MAAO;AACL,QAAA,GAAA,CAAI,UAAU,SAAA,CAAU,OAAA;AAAA,MAC1B;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,OAAO,SAAA;AACT;;;;"}