|
@@ -228,8 +228,8 @@ function Sidebar({
|
|
|
className={cn(
|
|
className={cn(
|
|
|
'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[inset-inline,width] duration-200 ease-linear md:flex',
|
|
'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[inset-inline,width] duration-200 ease-linear md:flex',
|
|
|
side === 'left'
|
|
side === 'left'
|
|
|
- ? 'start-0 group-data-[collapsible=offcanvas]:-start-[calc(var(--sidebar-width))]'
|
|
|
|
|
- : 'end-0 group-data-[collapsible=offcanvas]:-end-[calc(var(--sidebar-width))]',
|
|
|
|
|
|
|
+ ? 'inset-s-0 group-data-[collapsible=offcanvas]:-inset-s-[calc(var(--sidebar-width))]'
|
|
|
|
|
+ : 'inset-e-0 group-data-[collapsible=offcanvas]:-inset-e-[calc(var(--sidebar-width))]',
|
|
|
// Adjust the padding for floating and inset variants.
|
|
// Adjust the padding for floating and inset variants.
|
|
|
variant === 'floating' || variant === 'inset'
|
|
variant === 'floating' || variant === 'inset'
|
|
|
? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'
|
|
? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'
|
|
@@ -288,12 +288,12 @@ function SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {
|
|
|
onClick={toggleSidebar}
|
|
onClick={toggleSidebar}
|
|
|
title='Toggle Sidebar'
|
|
title='Toggle Sidebar'
|
|
|
className={cn(
|
|
className={cn(
|
|
|
- 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-end-4 group-data-[side=right]:start-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex',
|
|
|
|
|
|
|
+ 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-inset-e-4 group-data-[side=right]:inset-s-0 after:absolute after:inset-y-0 after:inset-s-1/2 after:w-0.5 hover:after:bg-sidebar-border sm:flex',
|
|
|
'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',
|
|
'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',
|
|
|
'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',
|
|
'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',
|
|
|
'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:start-full hover:group-data-[collapsible=offcanvas]:bg-sidebar',
|
|
'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:start-full hover:group-data-[collapsible=offcanvas]:bg-sidebar',
|
|
|
- '[[data-side=left][data-collapsible=offcanvas]_&]:-end-2',
|
|
|
|
|
- '[[data-side=right][data-collapsible=offcanvas]_&]:-start-2',
|
|
|
|
|
|
|
+ '[[data-side=left][data-collapsible=offcanvas]_&]:-inset-e-2',
|
|
|
|
|
+ '[[data-side=right][data-collapsible=offcanvas]_&]:-inset-s-2',
|
|
|
|
|
|
|
|
// RTL support
|
|
// RTL support
|
|
|
'rtl:translate-x-1/2',
|
|
'rtl:translate-x-1/2',
|
|
@@ -428,7 +428,7 @@ function SidebarGroupAction({
|
|
|
data-slot='sidebar-group-action'
|
|
data-slot='sidebar-group-action'
|
|
|
data-sidebar='group-action'
|
|
data-sidebar='group-action'
|
|
|
className={cn(
|
|
className={cn(
|
|
|
- 'absolute end-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
|
|
|
|
|
+ 'absolute inset-e-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
|
// Increases the hit area of the button on mobile.
|
|
// Increases the hit area of the button on mobile.
|
|
|
'after:absolute after:-inset-2 md:after:hidden',
|
|
'after:absolute after:-inset-2 md:after:hidden',
|
|
|
'group-data-[collapsible=icon]:hidden',
|
|
'group-data-[collapsible=icon]:hidden',
|
|
@@ -563,7 +563,7 @@ function SidebarMenuAction({
|
|
|
data-slot='sidebar-menu-action'
|
|
data-slot='sidebar-menu-action'
|
|
|
data-sidebar='menu-action'
|
|
data-sidebar='menu-action'
|
|
|
className={cn(
|
|
className={cn(
|
|
|
- 'absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
|
|
|
|
|
+ 'absolute inset-e-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
|
// Increases the hit area of the button on mobile.
|
|
// Increases the hit area of the button on mobile.
|
|
|
'after:absolute after:-inset-2 md:after:hidden',
|
|
'after:absolute after:-inset-2 md:after:hidden',
|
|
|
'peer-data-[size=sm]/menu-button:top-1',
|
|
'peer-data-[size=sm]/menu-button:top-1',
|
|
@@ -588,7 +588,7 @@ function SidebarMenuBadge({
|
|
|
data-slot='sidebar-menu-badge'
|
|
data-slot='sidebar-menu-badge'
|
|
|
data-sidebar='menu-badge'
|
|
data-sidebar='menu-badge'
|
|
|
className={cn(
|
|
className={cn(
|
|
|
- 'pointer-events-none absolute end-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none',
|
|
|
|
|
|
|
+ 'pointer-events-none absolute inset-e-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none',
|
|
|
'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',
|
|
'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',
|
|
|
'peer-data-[size=sm]/menu-button:top-1',
|
|
'peer-data-[size=sm]/menu-button:top-1',
|
|
|
'peer-data-[size=default]/menu-button:top-1.5',
|
|
'peer-data-[size=default]/menu-button:top-1.5',
|