frontend/components/ui/select/SelectScrollDownButton.vue
2025-02-09 19:39:05 +01:00

31 lines
803 B
Vue

<script setup lang="ts">
import { cn } from "@/lib/utils";
import { ChevronDown } from "lucide-vue-next";
import {
SelectScrollDownButton,
type SelectScrollDownButtonProps,
useForwardProps,
} from "radix-vue";
import { type HTMLAttributes, computed } from "vue";
const props = defineProps<
SelectScrollDownButtonProps & { class?: HTMLAttributes["class"] }
>();
const delegatedProps = computed(() => {
const { class: _, ...delegated } = props;
return delegated;
});
const forwardedProps = useForwardProps(delegatedProps);
</script>
<template>
<SelectScrollDownButton v-bind="forwardedProps" :class="cn('flex cursor-default items-center justify-center py-1', props.class)">
<slot>
<ChevronDown class="size-4" />
</slot>
</SelectScrollDownButton>
</template>