{"version":3,"file":"useCarousel.mjs","sources":["../../../../../../src/components/va-carousel/hooks/useCarousel.ts"],"sourcesContent":["import { computed, Ref } from 'vue'\n\nexport const useCarousel = (props: {\n  items: any[],\n  infinite: boolean\n}, currentSlide: Ref<number>) => {\n  const goTo = (index: number) => { currentSlide.value = index }\n  const prev = () => {\n    if (props.infinite) {\n      if (currentSlide.value <= 0) {\n        currentSlide.value = props.items.length - 1\n        return\n      }\n    }\n\n    currentSlide.value -= 1\n  }\n  const next = () => {\n    if (props.infinite) {\n      if (currentSlide.value >= props.items.length - 1) {\n        currentSlide.value = 0\n        return\n      }\n    }\n\n    currentSlide.value += 1\n  }\n\n  const doShowDirectionButtons = computed(() => props.items.length > 1)\n  const doShowPrevButton = computed(() => currentSlide.value > 0 || props.infinite)\n  const doShowNextButton = computed(() => currentSlide.value < props.items.length - 1 || props.infinite)\n\n  return {\n    doShowPrevButton,\n    doShowNextButton,\n    doShowDirectionButtons,\n    goTo,\n    prev,\n    next,\n  }\n}\n"],"names":[],"mappings":";AAEa,MAAA,cAAc,CAAC,OAGzB,iBAA8B;AACzB,QAAA,OAAO,CAAC,UAAkB;AAAE,iBAAa,QAAQ;AAAA,EAAA;AACvD,QAAM,OAAO,MAAM;AACjB,QAAI,MAAM,UAAU;AACd,UAAA,aAAa,SAAS,GAAG;AACd,qBAAA,QAAQ,MAAM,MAAM,SAAS;AAC1C;AAAA,MACF;AAAA,IACF;AAEA,iBAAa,SAAS;AAAA,EAAA;AAExB,QAAM,OAAO,MAAM;AACjB,QAAI,MAAM,UAAU;AAClB,UAAI,aAAa,SAAS,MAAM,MAAM,SAAS,GAAG;AAChD,qBAAa,QAAQ;AACrB;AAAA,MACF;AAAA,IACF;AAEA,iBAAa,SAAS;AAAA,EAAA;AAGxB,QAAM,yBAAyB,SAAS,MAAM,MAAM,MAAM,SAAS,CAAC;AACpE,QAAM,mBAAmB,SAAS,MAAM,aAAa,QAAQ,KAAK,MAAM,QAAQ;AAC1E,QAAA,mBAAmB,SAAS,MAAM,aAAa,QAAQ,MAAM,MAAM,SAAS,KAAK,MAAM,QAAQ;AAE9F,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}