{"version":3,"file":"use-refs.mjs","sources":["../../src/utils/use-refs.ts"],"sourcesContent":["import type { MutableRefObject, Ref, RefCallback } from \"react\";\nimport { useCallback } from \"react\";\n\nfunction applyRef<T>(ref: Ref<T>, value: T) {\n  if (value) {\n    if (typeof ref === \"function\") {\n      ref(value);\n    } else if (ref && \"current\" in ref) {\n      (ref as MutableRefObject<T>).current = value;\n    }\n  }\n}\n\nfunction mergeRefs<T>(value: T, ...refs: Ref<T>[]) {\n  for (const ref of refs) {\n    applyRef(ref, value);\n  }\n}\n\nexport function useRefs<T>(...refs: Ref<T>[]): RefCallback<T> {\n  return useCallback((value: T) => mergeRefs(value, ...refs), [refs]);\n}\n"],"names":[],"mappings":";;AAGA,SAAS,QAAA,CAAY,KAAa,KAAU,EAAA;AAC1C,EAAA,IAAI,KAAO,EAAA;AACT,IAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,MAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AAAA,KACX,MAAA,IAAW,GAAO,IAAA,SAAA,IAAa,GAAK,EAAA;AAClC,MAAC,IAA4B,OAAU,GAAA,KAAA,CAAA;AAAA,KACzC;AAAA,GACF;AACF,CAAA;AAEA,SAAS,SAAA,CAAa,UAAa,IAAgB,EAAA;AACjD,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,IAAA,QAAA,CAAS,KAAK,KAAK,CAAA,CAAA;AAAA,GACrB;AACF,CAAA;AAEO,SAAS,WAAc,IAAgC,EAAA;AAC5D,EAAO,OAAA,WAAA,CAAY,CAAC,KAAA,KAAa,SAAU,CAAA,KAAA,EAAO,GAAG,IAAI,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,CAAA;AACpE;;;;"}