vuestic-ui
Version:
Vue 3 UI Framework
40 lines (39 loc) • 1 kB
JavaScript
import { computed } from "vue";
const useCarousel = (props, currentSlide) => {
const goTo = (index) => {
currentSlide.value = index;
};
const prev = () => {
if (props.infinite) {
if (currentSlide.value <= 0) {
currentSlide.value = props.items.length - 1;
return;
}
}
currentSlide.value -= 1;
};
const next = () => {
if (props.infinite) {
if (currentSlide.value >= props.items.length - 1) {
currentSlide.value = 0;
return;
}
}
currentSlide.value += 1;
};
const doShowDirectionButtons = computed(() => props.items.length > 1);
const doShowPrevButton = computed(() => currentSlide.value > 0 || props.infinite);
const doShowNextButton = computed(() => currentSlide.value < props.items.length - 1 || props.infinite);
return {
doShowPrevButton,
doShowNextButton,
doShowDirectionButtons,
goTo,
prev,
next
};
};
export {
useCarousel as u
};
//# sourceMappingURL=useCarousel.js.map