core/app/components/ui/input-group/InputGroupButton.vue

30 lines
767 B
Vue

<script setup lang="ts">
import type { HTMLAttributes } from "vue"
import type { InputGroupButtonVariants } from "."
import type { ButtonVariants } from '@/components/ui/button'
import { cn } from "@/lib/utils"
import { Button } from '@/components/ui/button'
import { inputGroupButtonVariants } from "."
interface InputGroupButtonProps {
variant?: ButtonVariants["variant"]
size?: InputGroupButtonVariants["size"]
class?: HTMLAttributes["class"]
}
const props = withDefaults(defineProps<InputGroupButtonProps>(), {
size: "xs",
variant: "ghost",
})
</script>
<template>
<Button
:data-size="props.size"
:variant="props.variant"
:class="cn(inputGroupButtonVariants({ size: props.size }), props.class)"
>
<slot />
</Button>
</template>