@egose/shadcn-theme 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/chunk-2NMEKWO5.js +38 -0
- package/chunk-2NMEKWO5.js.map +1 -0
- package/chunk-3ONILUYO.mjs +11 -0
- package/chunk-3ONILUYO.mjs.map +1 -0
- package/chunk-4CBX7RQR.mjs +37 -0
- package/chunk-4CBX7RQR.mjs.map +1 -0
- package/chunk-5HXFUN6E.mjs +132 -0
- package/chunk-5HXFUN6E.mjs.map +1 -0
- package/chunk-A6SPGGUA.mjs +31 -0
- package/chunk-A6SPGGUA.mjs.map +1 -0
- package/chunk-B2G2EZ4P.js +11 -0
- package/chunk-B2G2EZ4P.js.map +1 -0
- package/chunk-B5KVOXLO.js +119 -0
- package/chunk-B5KVOXLO.js.map +1 -0
- package/chunk-BBMYITL4.mjs +35 -0
- package/chunk-BBMYITL4.mjs.map +1 -0
- package/chunk-BIIFJJWL.mjs +119 -0
- package/chunk-BIIFJJWL.mjs.map +1 -0
- package/chunk-DDR4LO2B.mjs +27 -0
- package/chunk-DDR4LO2B.mjs.map +1 -0
- package/chunk-DG6G5KP2.js +35 -0
- package/chunk-DG6G5KP2.js.map +1 -0
- package/chunk-HPKA6MRM.js +132 -0
- package/chunk-HPKA6MRM.js.map +1 -0
- package/chunk-JB72ECC3.js +57 -0
- package/chunk-JB72ECC3.js.map +1 -0
- package/chunk-K5LCVJVQ.js +31 -0
- package/chunk-K5LCVJVQ.js.map +1 -0
- package/chunk-PEJ7BU4C.js +27 -0
- package/chunk-PEJ7BU4C.js.map +1 -0
- package/chunk-PICOAWKQ.js +49 -0
- package/chunk-PICOAWKQ.js.map +1 -0
- package/chunk-PZ6OC36F.js +32 -0
- package/chunk-PZ6OC36F.js.map +1 -0
- package/chunk-SIGC6GCN.mjs +32 -0
- package/chunk-SIGC6GCN.mjs.map +1 -0
- package/chunk-TVGM4RRO.mjs +21 -0
- package/chunk-TVGM4RRO.mjs.map +1 -0
- package/chunk-WTKKFZZ4.mjs +57 -0
- package/chunk-WTKKFZZ4.mjs.map +1 -0
- package/chunk-WTTHT7F4.js +21 -0
- package/chunk-WTTHT7F4.js.map +1 -0
- package/chunk-XHNXPJDJ.mjs +49 -0
- package/chunk-XHNXPJDJ.mjs.map +1 -0
- package/chunk-YOSPWY5K.mjs +38 -0
- package/chunk-YOSPWY5K.mjs.map +1 -0
- package/chunk-ZR3EVQAK.js +37 -0
- package/chunk-ZR3EVQAK.js.map +1 -0
- package/components/ui/accordion.d.mts +9 -0
- package/components/ui/accordion.d.ts +9 -0
- package/components/ui/accordion.js +59 -0
- package/components/ui/accordion.js.map +1 -0
- package/components/ui/accordion.mjs +59 -0
- package/components/ui/accordion.mjs.map +1 -0
- package/components/ui/alert-dialog.d.mts +22 -0
- package/components/ui/alert-dialog.d.ts +22 -0
- package/components/ui/alert-dialog.js +143 -0
- package/components/ui/alert-dialog.js.map +1 -0
- package/components/ui/alert-dialog.mjs +143 -0
- package/components/ui/alert-dialog.mjs.map +1 -0
- package/components/ui/alert.d.mts +11 -0
- package/components/ui/alert.d.ts +11 -0
- package/components/ui/alert.js +65 -0
- package/components/ui/alert.js.map +1 -0
- package/components/ui/alert.mjs +65 -0
- package/components/ui/alert.mjs.map +1 -0
- package/components/ui/aspect-ratio.d.mts +6 -0
- package/components/ui/aspect-ratio.d.ts +6 -0
- package/components/ui/aspect-ratio.js +9 -0
- package/components/ui/aspect-ratio.js.map +1 -0
- package/components/ui/aspect-ratio.mjs +9 -0
- package/components/ui/aspect-ratio.mjs.map +1 -0
- package/components/ui/avatar.d.mts +8 -0
- package/components/ui/avatar.d.ts +8 -0
- package/components/ui/avatar.js +57 -0
- package/components/ui/avatar.js.map +1 -0
- package/components/ui/avatar.mjs +57 -0
- package/components/ui/avatar.mjs.map +1 -0
- package/components/ui/badge.d.mts +12 -0
- package/components/ui/badge.d.ts +12 -0
- package/components/ui/badge.js +36 -0
- package/components/ui/badge.js.map +1 -0
- package/components/ui/badge.mjs +36 -0
- package/components/ui/badge.mjs.map +1 -0
- package/components/ui/breadcrumb.d.mts +21 -0
- package/components/ui/breadcrumb.d.ts +21 -0
- package/components/ui/breadcrumb.js +115 -0
- package/components/ui/breadcrumb.js.map +1 -0
- package/components/ui/breadcrumb.mjs +115 -0
- package/components/ui/breadcrumb.mjs.map +1 -0
- package/components/ui/button.d.mts +14 -0
- package/components/ui/button.d.ts +14 -0
- package/components/ui/button.js +11 -0
- package/components/ui/button.js.map +1 -0
- package/components/ui/button.mjs +11 -0
- package/components/ui/button.mjs.map +1 -0
- package/components/ui/calendar.d.mts +10 -0
- package/components/ui/calendar.d.ts +10 -0
- package/components/ui/calendar.js +81 -0
- package/components/ui/calendar.js.map +1 -0
- package/components/ui/calendar.mjs +81 -0
- package/components/ui/calendar.mjs.map +1 -0
- package/components/ui/card.d.mts +10 -0
- package/components/ui/card.d.ts +10 -0
- package/components/ui/card.js +82 -0
- package/components/ui/card.js.map +1 -0
- package/components/ui/card.mjs +82 -0
- package/components/ui/card.mjs.map +1 -0
- package/components/ui/carousel.d.mts +23 -0
- package/components/ui/carousel.d.ts +23 -0
- package/components/ui/carousel.js +206 -0
- package/components/ui/carousel.js.map +1 -0
- package/components/ui/carousel.mjs +206 -0
- package/components/ui/carousel.mjs.map +1 -0
- package/components/ui/chart.d.mts +68 -0
- package/components/ui/chart.d.ts +68 -0
- package/components/ui/chart.js +236 -0
- package/components/ui/chart.js.map +1 -0
- package/components/ui/chart.mjs +236 -0
- package/components/ui/chart.mjs.map +1 -0
- package/components/ui/checkbox.d.mts +6 -0
- package/components/ui/checkbox.d.ts +6 -0
- package/components/ui/checkbox.js +37 -0
- package/components/ui/checkbox.js.map +1 -0
- package/components/ui/checkbox.mjs +37 -0
- package/components/ui/checkbox.mjs.map +1 -0
- package/components/ui/collapsible.d.mts +8 -0
- package/components/ui/collapsible.d.ts +8 -0
- package/components/ui/collapsible.js +14 -0
- package/components/ui/collapsible.js.map +1 -0
- package/components/ui/collapsible.mjs +14 -0
- package/components/ui/collapsible.mjs.map +1 -0
- package/components/ui/command.d.mts +82 -0
- package/components/ui/command.d.ts +82 -0
- package/components/ui/command.js +135 -0
- package/components/ui/command.js.map +1 -0
- package/components/ui/command.mjs +135 -0
- package/components/ui/command.mjs.map +1 -0
- package/components/ui/context-menu.d.mts +29 -0
- package/components/ui/context-menu.d.ts +29 -0
- package/components/ui/context-menu.js +172 -0
- package/components/ui/context-menu.js.map +1 -0
- package/components/ui/context-menu.mjs +172 -0
- package/components/ui/context-menu.mjs.map +1 -0
- package/components/ui/dialog.d.mts +21 -0
- package/components/ui/dialog.d.ts +21 -0
- package/components/ui/dialog.js +28 -0
- package/components/ui/dialog.js.map +1 -0
- package/components/ui/dialog.mjs +28 -0
- package/components/ui/dialog.mjs.map +1 -0
- package/components/ui/drawer.d.mts +26 -0
- package/components/ui/drawer.d.ts +26 -0
- package/components/ui/drawer.js +122 -0
- package/components/ui/drawer.js.map +1 -0
- package/components/ui/drawer.mjs +122 -0
- package/components/ui/drawer.mjs.map +1 -0
- package/components/ui/dropdown-menu.d.mts +29 -0
- package/components/ui/dropdown-menu.d.ts +29 -0
- package/components/ui/dropdown-menu.js +171 -0
- package/components/ui/dropdown-menu.js.map +1 -0
- package/components/ui/dropdown-menu.mjs +171 -0
- package/components/ui/dropdown-menu.mjs.map +1 -0
- package/components/ui/form.d.mts +27 -0
- package/components/ui/form.d.ts +27 -0
- package/components/ui/form.js +123 -0
- package/components/ui/form.js.map +1 -0
- package/components/ui/form.mjs +123 -0
- package/components/ui/form.mjs.map +1 -0
- package/components/ui/hover-card.d.mts +8 -0
- package/components/ui/hover-card.d.ts +8 -0
- package/components/ui/hover-card.js +36 -0
- package/components/ui/hover-card.js.map +1 -0
- package/components/ui/hover-card.mjs +36 -0
- package/components/ui/hover-card.mjs.map +1 -0
- package/components/ui/input-otp.d.mts +37 -0
- package/components/ui/input-otp.d.ts +37 -0
- package/components/ui/input-otp.js +63 -0
- package/components/ui/input-otp.js.map +1 -0
- package/components/ui/input-otp.mjs +63 -0
- package/components/ui/input-otp.mjs.map +1 -0
- package/components/ui/input.d.mts +5 -0
- package/components/ui/input.d.ts +5 -0
- package/components/ui/input.js +9 -0
- package/components/ui/input.js.map +1 -0
- package/components/ui/input.mjs +9 -0
- package/components/ui/input.mjs.map +1 -0
- package/components/ui/label.d.mts +8 -0
- package/components/ui/label.d.ts +8 -0
- package/components/ui/label.js +9 -0
- package/components/ui/label.js.map +1 -0
- package/components/ui/label.mjs +9 -0
- package/components/ui/label.mjs.map +1 -0
- package/components/ui/menubar.d.mts +30 -0
- package/components/ui/menubar.d.ts +30 -0
- package/components/ui/menubar.js +221 -0
- package/components/ui/menubar.js.map +1 -0
- package/components/ui/menubar.mjs +221 -0
- package/components/ui/menubar.mjs.map +1 -0
- package/components/ui/navigation-menu.d.mts +15 -0
- package/components/ui/navigation-menu.d.ts +15 -0
- package/components/ui/navigation-menu.js +123 -0
- package/components/ui/navigation-menu.js.map +1 -0
- package/components/ui/navigation-menu.mjs +123 -0
- package/components/ui/navigation-menu.mjs.map +1 -0
- package/components/ui/pagination.d.mts +32 -0
- package/components/ui/pagination.d.ts +32 -0
- package/components/ui/pagination.js +130 -0
- package/components/ui/pagination.js.map +1 -0
- package/components/ui/pagination.mjs +130 -0
- package/components/ui/pagination.mjs.map +1 -0
- package/components/ui/popover.d.mts +9 -0
- package/components/ui/popover.d.ts +9 -0
- package/components/ui/popover.js +37 -0
- package/components/ui/popover.js.map +1 -0
- package/components/ui/popover.mjs +37 -0
- package/components/ui/popover.mjs.map +1 -0
- package/components/ui/progress.d.mts +6 -0
- package/components/ui/progress.d.ts +6 -0
- package/components/ui/progress.js +37 -0
- package/components/ui/progress.js.map +1 -0
- package/components/ui/progress.mjs +37 -0
- package/components/ui/progress.mjs.map +1 -0
- package/components/ui/radio-group.d.mts +7 -0
- package/components/ui/radio-group.d.ts +7 -0
- package/components/ui/radio-group.js +45 -0
- package/components/ui/radio-group.js.map +1 -0
- package/components/ui/radio-group.mjs +45 -0
- package/components/ui/radio-group.mjs.map +1 -0
- package/components/ui/resizable.d.mts +26 -0
- package/components/ui/resizable.d.ts +26 -0
- package/components/ui/resizable.js +54 -0
- package/components/ui/resizable.js.map +1 -0
- package/components/ui/resizable.mjs +54 -0
- package/components/ui/resizable.mjs.map +1 -0
- package/components/ui/scroll-area.d.mts +7 -0
- package/components/ui/scroll-area.d.ts +7 -0
- package/components/ui/scroll-area.js +48 -0
- package/components/ui/scroll-area.js.map +1 -0
- package/components/ui/scroll-area.mjs +48 -0
- package/components/ui/scroll-area.mjs.map +1 -0
- package/components/ui/select.d.mts +15 -0
- package/components/ui/select.d.ts +15 -0
- package/components/ui/select.js +141 -0
- package/components/ui/select.js.map +1 -0
- package/components/ui/select.mjs +141 -0
- package/components/ui/select.mjs.map +1 -0
- package/components/ui/separator.d.mts +6 -0
- package/components/ui/separator.d.ts +6 -0
- package/components/ui/separator.js +9 -0
- package/components/ui/separator.js.map +1 -0
- package/components/ui/separator.mjs +9 -0
- package/components/ui/separator.mjs.map +1 -0
- package/components/ui/sheet.d.mts +28 -0
- package/components/ui/sheet.d.ts +28 -0
- package/components/ui/sheet.js +28 -0
- package/components/ui/sheet.js.map +1 -0
- package/components/ui/sheet.mjs +28 -0
- package/components/ui/sheet.mjs.map +1 -0
- package/components/ui/sidebar.d.mts +72 -0
- package/components/ui/sidebar.d.ts +72 -0
- package/components/ui/sidebar.js +642 -0
- package/components/ui/sidebar.js.map +1 -0
- package/components/ui/sidebar.mjs +642 -0
- package/components/ui/sidebar.mjs.map +1 -0
- package/components/ui/skeleton.d.mts +5 -0
- package/components/ui/skeleton.d.ts +5 -0
- package/components/ui/skeleton.js +9 -0
- package/components/ui/skeleton.js.map +1 -0
- package/components/ui/skeleton.mjs +9 -0
- package/components/ui/skeleton.mjs.map +1 -0
- package/components/ui/slider.d.mts +6 -0
- package/components/ui/slider.d.ts +6 -0
- package/components/ui/slider.js +31 -0
- package/components/ui/slider.js.map +1 -0
- package/components/ui/slider.mjs +31 -0
- package/components/ui/slider.mjs.map +1 -0
- package/components/ui/sonner.d.mts +7 -0
- package/components/ui/sonner.d.ts +7 -0
- package/components/ui/sonner.js +32 -0
- package/components/ui/sonner.js.map +1 -0
- package/components/ui/sonner.mjs +32 -0
- package/components/ui/sonner.mjs.map +1 -0
- package/components/ui/switch.d.mts +6 -0
- package/components/ui/switch.d.ts +6 -0
- package/components/ui/switch.js +39 -0
- package/components/ui/switch.js.map +1 -0
- package/components/ui/switch.mjs +39 -0
- package/components/ui/switch.mjs.map +1 -0
- package/components/ui/table.d.mts +12 -0
- package/components/ui/table.d.ts +12 -0
- package/components/ui/table.js +115 -0
- package/components/ui/table.js.map +1 -0
- package/components/ui/table.mjs +115 -0
- package/components/ui/table.mjs.map +1 -0
- package/components/ui/tabs.d.mts +9 -0
- package/components/ui/tabs.d.ts +9 -0
- package/components/ui/tabs.js +61 -0
- package/components/ui/tabs.js.map +1 -0
- package/components/ui/tabs.mjs +61 -0
- package/components/ui/tabs.mjs.map +1 -0
- package/components/ui/textarea.d.mts +5 -0
- package/components/ui/textarea.d.ts +5 -0
- package/components/ui/textarea.js +28 -0
- package/components/ui/textarea.js.map +1 -0
- package/components/ui/textarea.mjs +28 -0
- package/components/ui/textarea.mjs.map +1 -0
- package/components/ui/toggle-group.d.mts +15 -0
- package/components/ui/toggle-group.d.ts +15 -0
- package/components/ui/toggle-group.js +55 -0
- package/components/ui/toggle-group.js.map +1 -0
- package/components/ui/toggle-group.mjs +55 -0
- package/components/ui/toggle-group.mjs.map +1 -0
- package/components/ui/toggle.d.mts +15 -0
- package/components/ui/toggle.d.ts +15 -0
- package/components/ui/toggle.js +11 -0
- package/components/ui/toggle.js.map +1 -0
- package/components/ui/toggle.mjs +11 -0
- package/components/ui/toggle.mjs.map +1 -0
- package/components/ui/tooltip.d.mts +9 -0
- package/components/ui/tooltip.d.ts +9 -0
- package/components/ui/tooltip.js +16 -0
- package/components/ui/tooltip.js.map +1 -0
- package/components/ui/tooltip.mjs +16 -0
- package/components/ui/tooltip.mjs.map +1 -0
- package/hooks/use-mobile.d.mts +3 -0
- package/hooks/use-mobile.d.ts +3 -0
- package/hooks/use-mobile.js +8 -0
- package/hooks/use-mobile.js.map +1 -0
- package/hooks/use-mobile.mjs +8 -0
- package/hooks/use-mobile.mjs.map +1 -0
- package/lib/utils.d.mts +5 -0
- package/lib/utils.d.ts +5 -0
- package/lib/utils.js +8 -0
- package/lib/utils.js.map +1 -0
- package/lib/utils.mjs +8 -0
- package/lib/utils.mjs.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/components/ui/sidebar.js","../../../components/ui/sidebar.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/package/dist/components/ui/sidebar.js","sourcesContent":[null,"import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { VariantProps, cva } from \"class-variance-authority\"\nimport { PanelLeft } from \"lucide-react\"\n\nimport { useIsMobile } from \"@/hooks/use-mobile\"\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Separator } from \"@/components/ui/separator\"\nimport { Sheet, SheetContent } from \"@/components/ui/sheet\"\nimport { Skeleton } from \"@/components/ui/skeleton\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\"\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\"\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = \"16rem\"\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\"\nconst SIDEBAR_WIDTH_ICON = \"3rem\"\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\ntype SidebarContext = {\n state: \"expanded\" | \"collapsed\"\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\")\n }\n\n return context\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n }\n>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value\n if (setOpenProp) {\n setOpenProp(openState)\n } else {\n _setOpen(openState)\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile\n ? setOpenMobile((open) => !open)\n : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => window.removeEventListener(\"keydown\", handleKeyDown)\n }, [toggleSidebar])\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\"\n\n const contextValue = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n }\n)\nSidebarProvider.displayName = \"SidebarProvider\"\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\"\n variant?: \"sidebar\" | \"floating\" | \"inset\"\n collapsible?: \"offcanvas\" | \"icon\" | \"none\"\n }\n>(\n (\n {\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n },\n ref\n ) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden text-sidebar-foreground md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\n : \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n )}\n />\n <div\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n : \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"flex h-full w-full flex-col 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\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n }\n)\nSidebar.displayName = \"Sidebar\"\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button>\n>(({ className, onClick, ...props }, ref) => {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"h-7 w-7\", className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeft />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n})\nSidebarTrigger.displayName = \"SidebarTrigger\"\n\nconst SidebarRail = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\">\n>(({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n \"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarRail.displayName = \"SidebarRail\"\n\nconst SidebarInset = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"main\">\n>(({ className, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n \"relative flex min-h-svh flex-1 flex-col bg-background\",\n \"peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarInset.displayName = \"SidebarInset\"\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<typeof Input>,\n React.ComponentProps<typeof Input>\n>(({ className, ...props }, ref) => {\n return (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n \"h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarInput.displayName = \"SidebarInput\"\n\nconst SidebarHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarHeader.displayName = \"SidebarHeader\"\n\nconst SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarFooter.displayName = \"SidebarFooter\"\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n React.ComponentProps<typeof Separator>\n>(({ className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn(\"mx-2 w-auto bg-sidebar-border\", className)}\n {...props}\n />\n )\n})\nSidebarSeparator.displayName = \"SidebarSeparator\"\n\nconst SidebarContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarContent.displayName = \"SidebarContent\"\n\nconst SidebarGroup = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n )\n})\nSidebarGroup.displayName = \"SidebarGroup\"\n\nconst SidebarGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"div\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n \"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\"\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n \"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 after:md:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupAction.displayName = \"SidebarGroupAction\"\n\nconst SidebarGroupContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n))\nSidebarGroupContent.displayName = \"SidebarGroupContent\"\n\nconst SidebarMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n))\nSidebarMenu.displayName = \"SidebarMenu\"\n\nconst SidebarMenuItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n))\nSidebarMenuItem.displayName = \"SidebarMenuItem\"\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:!p-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n } & VariantProps<typeof sidebarMenuButtonVariants>\n>(\n (\n {\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\"\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n }\n)\nSidebarMenuButton.displayName = \"SidebarMenuButton\"\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & {\n asChild?: boolean\n showOnHover?: boolean\n }\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n \"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 after:md:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuAction.displayName = \"SidebarMenuAction\"\n\nconst SidebarMenuBadge = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n \"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n))\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\"\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n showIcon?: boolean\n }\n>(({ className, showIcon = false, ...props }, ref) => {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n }, [])\n\n return (\n <div\n ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-[--skeleton-width] flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n )\n})\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\"\n\nconst SidebarMenuSub = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n \"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n))\nSidebarMenuSub.displayName = \"SidebarMenuSub\"\n\nconst SidebarMenuSubItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ ...props }, ref) => <li ref={ref} {...props} />)\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\"\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<\"a\"> & {\n asChild?: boolean\n size?: \"sm\" | \"md\"\n isActive?: boolean\n }\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\"\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n"]}
|