{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/use-refs/index.ts"],"sourcesContent":["import { onBeforeUpdate, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useRefs<T = Element>() {\n  const refs = ref([]) as Ref<T[]>\n  const cache: Array<(el: unknown) => void> = []\n\n  onBeforeUpdate(() => {\n    refs.value = []\n  })\n\n  const setRefs = (index: number) => {\n    if (!cache[index]) {\n      cache[index] = (el: unknown) => {\n        refs.value[index] = el as T\n      }\n    }\n    return cache[index]\n  }\n\n  return [refs, setRefs] as const\n}\n"],"names":[],"mappings":";;AAGO,SAAS,OAAuB,GAAA;AACrC,EAAM,MAAA,IAAA,GAAO,GAAI,CAAA,EAAE,CAAA,CAAA;AACnB,EAAA,MAAM,QAAsC,EAAC,CAAA;AAE7C,EAAA,cAAA,CAAe,MAAM;AACnB,IAAA,IAAA,CAAK,QAAQ,EAAC,CAAA;AAAA,GACf,CAAA,CAAA;AAED,EAAM,MAAA,OAAA,GAAU,CAAC,KAAkB,KAAA;AACjC,IAAI,IAAA,CAAC,MAAM,KAAQ,CAAA,EAAA;AACjB,MAAM,KAAA,CAAA,KAAA,CAAA,GAAS,CAAC,EAAgB,KAAA;AAC9B,QAAA,IAAA,CAAK,MAAM,KAAS,CAAA,GAAA,EAAA,CAAA;AAAA,OACtB,CAAA;AAAA,KACF;AACA,IAAA,OAAO,KAAM,CAAA,KAAA,CAAA,CAAA;AAAA,GACf,CAAA;AAEA,EAAO,OAAA,CAAC,MAAM,OAAO,CAAA,CAAA;AACvB;;;;"}