@grafana/ui
Version:
Grafana Components Library
1 lines • 1.1 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,IACH,EAAA;AACA,EAAM,MAAA,SAAA,GAAY,KAAM,CAAA,MAAA,CAAiB,IAAI,CAAA;AAE7C,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAK,IAAA,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACpB,MAAA,IAAI,CAAC,GAAK,EAAA;AACR,QAAA;AAAA;AAGF,MAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,QAAA,GAAA,CAAI,UAAU,OAAO,CAAA;AAAA,OAChB,MAAA;AACL,QAAA,GAAA,CAAI,UAAU,SAAU,CAAA,OAAA;AAAA;AAC1B,KACD,CAAA;AAAA,GACH,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAO,OAAA,SAAA;AACT;;;;"}