this repo has no description
1<script setup lang="ts">
2import type { HTMLAttributes } from 'vue'
3import { cn } from '@/lib/utils'
4import { Primitive, type PrimitiveProps } from 'reka-ui'
5import { type SidebarMenuButtonVariants, sidebarMenuButtonVariants } from '.'
6
7export interface SidebarMenuButtonProps extends PrimitiveProps {
8 variant?: SidebarMenuButtonVariants['variant']
9 size?: SidebarMenuButtonVariants['size']
10 isActive?: boolean
11 class?: HTMLAttributes['class']
12}
13
14const props = withDefaults(defineProps<SidebarMenuButtonProps>(), {
15 as: 'button',
16 variant: 'default',
17 size: 'default',
18})
19</script>
20
21<template>
22 <Primitive
23 data-slot="sidebar-menu-button"
24 data-sidebar="menu-button"
25 :data-size="size"
26 :data-active="isActive"
27 :class="cn(sidebarMenuButtonVariants({ variant, size }), props.class)"
28 :as="as"
29 :as-child="asChild"
30 v-bind="$attrs"
31 >
32 <slot />
33 </Primitive>
34</template>