frontend/components/ui/card/Card.vue

28 lines
553 B
Vue
Raw Normal View History

2024-11-30 02:19:32 +01:00
<script setup lang="ts">
import { cn } from "@/lib/utils";
import { Primitive, type PrimitiveProps } from "radix-vue";
import type { HTMLAttributes } from "vue";
const props = withDefaults(
defineProps<PrimitiveProps & { class?: HTMLAttributes["class"] }>(),
{
as: "div",
},
);
</script>
<template>
<Primitive
:as="props.as"
:as-child="props.asChild"
:class="
cn(
'rounded-lg border bg-card text-card-foreground shadow-sm',
props.class,
)
"
>
<slot />
</Primitive>
</template>