this repo has no description
at master 34 lines 907 B view raw
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>