The DashboardSidebarCollapse component is used to collapse/expand the DashboardSidebar component when its collapsible prop is set.
<template>
<UDashboardSidebarCollapse />
</template>
It extends the Button component, so you can pass any property such as color, variant, size, etc.
<template>
<UDashboardSidebarCollapse variant="subtle" />
</template>
color="neutral" and variant="ghost".header slotYou can put this component in the header slot of the DashboardSidebar component and use the collapsed prop to hide the left part of the header for example:
<template>
<UDashboardGroup>
<UDashboardSidebar collapsible>
<template #header="{ collapsed }">
<Logo v-if="!collapsed" />
<UDashboardSidebarCollapse variant="subtle" />
</template>
</UDashboardSidebar>
<slot />
</UDashboardGroup>
</template>
leading slotYou can put this component in the leading slot of the DashboardNavbar component to display it before the title for example:
<script setup lang="ts">
definePageMeta({
layout: 'dashboard'
})
</script>
<template>
<UDashboardPanel>
<template #header>
<UDashboardNavbar title="Home">
<template #leading>
<UDashboardSidebarCollapse variant="subtle" />
</template>
</UDashboardNavbar>
</template>
</UDashboardPanel>
</template>
| Prop | Default | Type |
|---|---|---|
as |
The element or component this component should render as when not a link. | |
color |
| |
variant |
| |
side |
|
The side of the sidebar to collapse. |
name |
| |
form |
| |
label |
| |
to |
Route Location the link should navigate to when clicked on.
| |
target |
Where to display the linked URL, as the name for a browsing context. | |
trailingSlash |
An option to either add or remove trailing slashes in the | |
autofocus | ||
disabled |
| |
formaction |
| |
formenctype |
| |
formmethod |
| |
formnovalidate |
| |
formtarget |
| |
type |
|
The type of the button when not a link. |
value |
| |
download |
| |
hreflang |
| |
media |
| |
ping |
| |
referrerpolicy |
| |
active |
Force the link to be active independent of the current route. | |
activeColor |
| |
activeVariant |
| |
size |
|
|
square |
Render the button with equal padding on all sides. | |
block |
Render the button full width. | |
loadingAuto |
Set loading state automatically based on the | |
icon |
Display an icon based on the | |
avatar |
Display an avatar on the left side.
| |
leading |
When | |
leadingIcon |
Display an icon on the left side. | |
trailing |
When | |
trailingIcon |
Display an icon on the right side. | |
loading |
When | |
loadingIcon |
|
The icon when the |
ui |
|
export default defineAppConfig({
ui: {
dashboardSidebarCollapse: {
base: 'hidden lg:flex',
variants: {
side: {
left: '',
right: ''
}
}
}
}
})
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
ui: {
dashboardSidebarCollapse: {
base: 'hidden lg:flex',
variants: {
side: {
left: '',
right: ''
}
}
}
}
})
]
})
5cb65 — feat: import @nuxt/ui-pro components