UNPKG

vuestic-ui

Version:
1 lines 1.28 kB
{"version":3,"file":"useArrayRefs.mjs","sources":["../../../../src/composables/useArrayRefs.ts"],"sourcesContent":["import { shallowRef, onBeforeUpdate, ComponentPublicInstance } from 'vue'\n\nexport type TemplateRef = HTMLElement | (ComponentPublicInstance & HTMLElement)\n\n/**\n * @usage use setItemRef function as :ref property on v-for construction (or without v-for)\n * @link https://v3.vuejs.org/guide/migration/array-refs.html\n*/\nexport const useArrayRefs = () => {\n const itemRefs = shallowRef<TemplateRef[]>([])\n\n const setItemRef = (el: any) => {\n if (!el) { return }\n\n itemRefs.value.push(el)\n }\n\n const setItemRefByIndex = (index: number) => (el: any) => {\n if (!el) { return }\n\n itemRefs.value[index] = el\n }\n\n onBeforeUpdate(() => {\n itemRefs.value = []\n })\n\n return {\n itemRefs,\n setItemRef,\n setItemRefByIndex,\n }\n}\n"],"names":[],"mappings":";AAQO,MAAM,eAAe,MAAM;AAC1B,QAAA,WAAW,WAA0B,CAAA,CAAE;AAEvC,QAAA,aAAa,CAAC,OAAY;AAC9B,QAAI,CAAC,IAAI;AAAE;AAAA,IAAO;AAET,aAAA,MAAM,KAAK,EAAE;AAAA,EAAA;AAGxB,QAAM,oBAAoB,CAAC,UAAkB,CAAC,OAAY;AACxD,QAAI,CAAC,IAAI;AAAE;AAAA,IAAO;AAET,aAAA,MAAM,KAAK,IAAI;AAAA,EAAA;AAG1B,iBAAe,MAAM;AACnB,aAAS,QAAQ;EAAC,CACnB;AAEM,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}