{"version":3,"file":"refs.mjs","sources":["../../../../../packages/utils/vue/refs.ts"],"sourcesContent":["import { isFunction } from '../types'\n\nimport type { ComponentPublicInstance, Ref } from 'vue'\n\nexport type RefSetter = (\n  el: Element | ComponentPublicInstance | undefined\n) => void\n\nexport const composeRefs = (\n  ...refs: (Ref<HTMLElement | undefined> | RefSetter)[]\n) => {\n  return (el: Element | ComponentPublicInstance | null) => {\n    refs.forEach((ref) => {\n      if (isFunction(ref)) {\n        ref(el as Element | ComponentPublicInstance)\n      } else {\n        ref.value = el as HTMLElement | undefined\n      }\n    })\n  }\n}\n"],"names":[],"mappings":";;;AAQa,MAAA,WAAA,GAAc,IACtB,IACA,KAAA;AACH,EAAA,OAAO,CAAC,EAAiD,KAAA;AACvD,IAAK,IAAA,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACpB,MAAI,IAAA,UAAA,CAAW,GAAG,CAAG,EAAA;AACnB,QAAA,GAAA,CAAI,EAAuC,CAAA,CAAA;AAAA,OACtC,MAAA;AACL,QAAA,GAAA,CAAI,KAAQ,GAAA,EAAA,CAAA;AAAA,OACd;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA;AACF;;;;"}