@@ -18,66 +18,47 @@ const { isMobile, state, openMobile, setOpenMobile } = useSidebar()
1818 </script >
1919
2020<template >
21- <div
22- v-if =" collapsible === 'none'"
21+ <div v-if =" collapsible === 'none'"
2322 :class =" cn('flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground', props.class)"
24- v-bind =" $attrs"
25- >
23+ v-bind =" $attrs" >
2624 <slot />
2725 </div >
2826
2927 <Sheet v-else-if =" isMobile" :open =" openMobile" v-bind =" $attrs" @update:open =" setOpenMobile" >
30- <SheetContent
31- data-sidebar =" sidebar"
32- data-mobile =" true"
33- :side =" side"
34- class =" w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [& >button]:hidden"
35- :style =" {
28+ <SheetContent data-sidebar =" sidebar" data-mobile =" true" :side =" side"
29+ class =" w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [& >button]:hidden" :style =" {
3630 '--sidebar-width': SIDEBAR_WIDTH_MOBILE,
37- }"
38- >
31+ }" >
3932 <div class =" flex h-full w-full flex-col" >
4033 <slot />
4134 </div >
4235 </SheetContent >
4336 </Sheet >
4437
45- <div
46- v-else class =" group peer hidden md:block"
47- :data-state =" state"
48- :data-collapsible =" state === 'collapsed' ? collapsible : ''"
49- :data-variant =" variant"
50- :data-side =" side"
51- >
38+ <div v-else class =" group peer hidden md:block" :data-state =" state"
39+ :data-collapsible =" state === 'collapsed' ? collapsible : ''" :data-variant =" variant" :data-side =" side" >
5240 <!-- This is what handles the sidebar gap on desktop -->
53- <div
54- :class =" cn(
55- 'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',
56- 'group-data-[collapsible=offcanvas]:w-0',
57- 'group-data-[side=right]:rotate-180',
58- variant === 'floating' || variant === 'inset'
59- ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'
60- : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]',
61- )"
62- />
63- <div
64- :class =" cn(
65- 'duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex',
66- side === 'left'
67- ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'
68- : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',
69- // Adjust the padding for floating and inset variants.
70- variant === 'floating' || variant === 'inset'
71- ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'
72- : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',
73- props.class,
74- )"
75- v-bind =" $attrs"
76- >
77- <div
78- data-sidebar =" sidebar"
79- class =" flex h-full w-full flex-col text-sidebar-foreground bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow"
80- >
41+ <div :class =" cn(
42+ 'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',
43+ 'group-data-[collapsible=offcanvas]:w-0',
44+ 'group-data-[side=right]:rotate-180',
45+ variant === 'floating' || variant === 'inset'
46+ ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'
47+ : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]',
48+ )" />
49+ <div :class =" cn(
50+ 'duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex',
51+ side === 'left'
52+ ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'
53+ : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',
54+ // Adjust the padding for floating and inset variants.
55+ variant === 'floating' || variant === 'inset'
56+ ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'
57+ : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',
58+ props.class,
59+ )" v-bind =" $attrs" >
60+ <div data-sidebar =" sidebar"
61+ class =" flex h-full w-full flex-col text-sidebar-foreground bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow" >
8162 <slot />
8263 </div >
8364 </div >
0 commit comments