mirror of
https://github.com/LukeHagar/better-auth.git
synced 2025-12-08 04:19:25 +00:00
32 lines
869 B
Vue
32 lines
869 B
Vue
<script setup lang="ts">
|
|
import { ArrowLeftIcon } from '@radix-icons/vue'
|
|
import { useCarousel } from './useCarousel'
|
|
import type { WithClassAsProps } from './interface'
|
|
import { cn } from '@/lib/utils'
|
|
import { Button } from '@/components/ui/button'
|
|
|
|
const props = defineProps<WithClassAsProps>()
|
|
|
|
const { orientation, canScrollPrev, scrollPrev } = useCarousel()
|
|
</script>
|
|
|
|
<template>
|
|
<Button
|
|
:disabled="!canScrollPrev"
|
|
:class="cn(
|
|
'touch-manipulation absolute h-8 w-8 rounded-full p-0',
|
|
orientation === 'horizontal'
|
|
? '-left-12 top-1/2 -translate-y-1/2'
|
|
: '-top-12 left-1/2 -translate-x-1/2 rotate-90',
|
|
props.class,
|
|
)"
|
|
variant="outline"
|
|
@click="scrollPrev"
|
|
>
|
|
<slot>
|
|
<ArrowLeftIcon class="h-4 w-4 text-current" />
|
|
<span class="sr-only">Previous Slide</span>
|
|
</slot>
|
|
</Button>
|
|
</template>
|