koval-ui
Version:
React components collection with minimalistic design. Supports theming, layout, and input validation.
1 lines • 1.02 kB
Source Map (JSON)
{"version":3,"file":"useLinkRefs.cjs","sources":["../../../../src/internal/hooks/useLinkRefs.ts"],"sourcesContent":["import type {ForwardedRef, MutableRefObject} from 'react';\nimport {useImperativeHandle, useRef} from 'react';\n\n/** This hook allows to merge forwarded ref with component's inner ref. Inner ref has to be created as MutableRefObject. */\nexport const useLinkRefs = <TElement = HTMLElement>(\n outerRef: ForwardedRef<TElement>,\n innerRef: MutableRefObject<TElement | null>\n) => {\n const backupRef = useRef<TElement | null>(null);\n\n const normalizedRef = innerRef ? innerRef : backupRef;\n\n useImperativeHandle<TElement | null, TElement | null>(outerRef, () => normalizedRef.current, [\n normalizedRef,\n ]);\n};\n"],"names":["useLinkRefs","outerRef","innerRef","backupRef","useRef","normalizedRef","useImperativeHandle"],"mappings":"sHAIaA,EAAc,CACvBC,EACAC,IACC,CACK,MAAAC,EAAYC,SAAwB,IAAI,EAExCC,EAAgBH,GAAsBC,EAEUG,EAAAA,oBAAAL,EAAU,IAAMI,EAAc,QAAS,CACzFA,CAAA,CACH,CACL"}