import * as React from 'react'; import { ctw } from '@ballerine/ui'; import { SidebarMenu } from './Sidebar.Menu'; import { SidebarRail } from './Sidebar.Rail'; import { SidebarGroup } from './Sidebar.Group'; import { SidebarInput } from './Sidebar.Input'; import { SidebarInset } from './Sidebar.Inset'; import { useSidebar } from './hooks/useSidebar'; import { SidebarFooter } from './Sidebar.Footer'; import { SidebarHeader } from './Sidebar.Header'; import { SidebarContent } from './Sidebar.Content'; import { SidebarMenuSub } from './Sidebar.MenuSub'; import { SidebarTrigger } from './Sidebar.Trigger'; import { SidebarMenuItem } from './Sidebar.MenuItem'; import { SidebarProvider } from './Sidebar.Provider'; import { SidebarMenuBadge } from './Sidebar.MenuBadge'; import { SidebarSeparator } from './Sidebar.Seperator'; import { SidebarGroupLabel } from './Sidebar.GroupLabel'; import { SidebarMenuAction } from './Sidebar.MenuAction'; import { SidebarMenuButton } from './Sidebar.MenuButton'; import { SidebarGroupAction } from './Sidebar.GroupAction'; import { SidebarMenuSubItem } from './Sidebar.MenuSubItem'; import { SidebarGroupContent } from './Sidebar.GroupContent'; import { SidebarMenuSkeleton } from './Sidebar.MenuSkeleton'; import { Sheet } from '@/common/components/atoms/Sheet/Sheet'; import { SheetContent } from '@/common/components/atoms/Sheet'; import { SidebarMenuSubButton } from './Sidebar.MenuSubButton'; const SIDEBAR_WIDTH_MOBILE = '20rem'; const Sidebar = React.forwardRef< HTMLDivElement, React.ComponentProps<'div'> & { side?: 'left' | 'right'; variant?: 'sidebar' | 'floating' | 'inset'; collapsible?: 'offcanvas' | 'icon' | 'none'; } >( ( { side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }, ref, ) => { const { isMobile, state, openMobile, setOpenMobile } = useSidebar(); if (collapsible === 'none') { return (
{children}
); } if (isMobile) { return (
{children}
); } return (
{/* This is what handles the sidebar gap on desktop */}
); }, ); Sidebar.displayName = 'Sidebar'; export { Sidebar, useSidebar, SidebarMenu, SidebarRail, SidebarGroup, SidebarInset, SidebarInput, SidebarFooter, SidebarHeader, SidebarContent, SidebarTrigger, SidebarMenuSub, SidebarProvider, SidebarMenuItem, SidebarMenuBadge, SidebarSeparator, SidebarGroupLabel, SidebarMenuAction, SidebarMenuButton, SidebarGroupAction, SidebarMenuSubItem, SidebarGroupContent, SidebarMenuSkeleton, SidebarMenuSubButton, };