Files
Caramel-CRM/resources/js/components/ui/sidebar/SidebarMenuButtonChild.vue
T

36 lines
915 B
Vue
Raw Normal View History

2025-10-20 08:57:51 +02:00
<script setup lang="ts">
2026-02-17 10:35:03 +01:00
import type { PrimitiveProps } from "reka-ui"
import type { HTMLAttributes } from "vue"
import type { SidebarMenuButtonVariants } from "."
import { Primitive } from "reka-ui"
import { cn } from "@/lib/utils"
import { sidebarMenuButtonVariants } from "."
2025-10-20 08:57:51 +02:00
export interface SidebarMenuButtonProps extends PrimitiveProps {
2026-02-17 10:35:03 +01:00
variant?: SidebarMenuButtonVariants["variant"]
size?: SidebarMenuButtonVariants["size"]
2025-10-20 08:57:51 +02:00
isActive?: boolean
2026-02-17 10:35:03 +01:00
class?: HTMLAttributes["class"]
2025-10-20 08:57:51 +02:00
}
const props = withDefaults(defineProps<SidebarMenuButtonProps>(), {
2026-02-17 10:35:03 +01:00
as: "button",
variant: "default",
size: "default",
2025-10-20 08:57:51 +02:00
})
</script>
<template>
<Primitive
data-sidebar="menu-button"
:data-size="size"
:data-active="isActive"
:class="cn(sidebarMenuButtonVariants({ variant, size }), props.class)"
:as="as"
:as-child="asChild"
v-bind="$attrs"
>
<slot />
</Primitive>
</template>