|
3 | 3 | class="flex h-full flex-col flex-shrink-0 overflow-y-auto overflow-x-hidden border-r border-outline-gray-1 bg-surface-menu-bar transition-all duration-300 ease-in-out p-2" |
4 | 4 | :class="shouldCollapse ? 'w-12' : 'w-60'" |
5 | 5 | > |
6 | | - <SidebarHeader |
7 | | - v-if="props.header" |
8 | | - :isCollapsed="shouldCollapse" |
9 | | - :title="props.header.title" |
10 | | - :subtitle="props.header.subtitle" |
11 | | - :logo="props.header.logo" |
12 | | - :menu-items="props.header.menuItems" |
13 | | - > |
14 | | - <template #logo> |
15 | | - <slot name="header-logo"></slot> |
16 | | - </template> |
17 | | - </SidebarHeader> |
| 6 | + <slot name="header"> |
| 7 | + <SidebarHeader |
| 8 | + v-if="props.header" |
| 9 | + :isCollapsed="shouldCollapse" |
| 10 | + :title="props.header.title" |
| 11 | + :subtitle="props.header.subtitle" |
| 12 | + :logo="props.header.logo" |
| 13 | + :menu-items="props.header.menuItems" |
| 14 | + > |
| 15 | + <template #logo> |
| 16 | + <slot name="header-logo"></slot> |
| 17 | + </template> |
| 18 | + </SidebarHeader> |
| 19 | + </slot> |
18 | 20 |
|
19 | 21 | <SidebarSection |
20 | 22 | v-for="section in props.sections" |
|
24 | 26 | :collapsible="section.collapsible" |
25 | 27 | > |
26 | 28 | <template #sidebar-item="{ item, isCollapsed }" |
27 | | - ><slot name="sidebar-item" :item :isCollapsed ></slot |
| 29 | + ><slot name="sidebar-item" :item :isCollapsed></slot |
28 | 30 | ></template> |
29 | 31 | </SidebarSection> |
30 | 32 |
|
|
34 | 36 | v-bind="{ isCollapsed: shouldCollapse, isMobile }" |
35 | 37 | /> |
36 | 38 | <SidebarItem |
37 | | - v-if="!props.disableCollapse" |
| 39 | + v-if="!props.disableCollapse" |
38 | 40 | :label="shouldCollapse ? 'Expand' : 'Collapse'" |
39 | 41 | :isCollapsed="shouldCollapse" |
40 | 42 | @click="isCollapsed = !isCollapsed" |
@@ -67,7 +69,9 @@ const isCollapsed = defineModel('collapsed', { |
67 | 69 | default: null, |
68 | 70 | }) |
69 | 71 | provide('isSidebarCollapsed', isCollapsed) |
70 | | -const shouldCollapse = computed(() => (isCollapsed.value || isMobile.value) && !props.disableCollapse) |
| 72 | +const shouldCollapse = computed( |
| 73 | + () => (isCollapsed.value || isMobile.value) && !props.disableCollapse, |
| 74 | +) |
71 | 75 |
|
72 | 76 | const breakpoints = useBreakpoints(breakpointsTailwind) |
73 | 77 | const isMobile = breakpoints.smaller('sm') |
|
0 commit comments