27 lines
593 B
Vue
27 lines
593 B
Vue
<script setup lang="ts">
|
|
import type { HTMLAttributes } from 'vue'
|
|
import { cn } from '@/lib/utils'
|
|
import { Button } from '@/components/ui/button'
|
|
import { PanelLeft } from 'lucide-vue-next'
|
|
import { useSidebar } from './utils'
|
|
|
|
const props = defineProps<{
|
|
class?: HTMLAttributes['class']
|
|
}>()
|
|
|
|
const { toggleSidebar } = useSidebar()
|
|
</script>
|
|
|
|
<template>
|
|
<Button
|
|
data-sidebar="trigger"
|
|
variant="ghost"
|
|
size="icon"
|
|
:class="cn('h-7 w-7', props.class)"
|
|
@click="toggleSidebar"
|
|
>
|
|
<PanelLeft />
|
|
<span class="sr-only">Toggle Sidebar</span>
|
|
</Button>
|
|
</template>
|