Sidebar Provider
poyraz/sidebar-providerFreeComponent
Poyraz Soft Glass Sidebar Provider with container-responsive layout and semantic tokens.
Install it
npx shadcn@latest add https://ui.poyrazavsever.com/r/sidebar-provider.jsonSource
1"use client";23import * as React from "react";45export type SidebarVariant =6 "default" | "collapsible" | "floating" | "mini" | "dark" | "bordered" | "inset";78export interface SidebarContextValue {9 collapsed: boolean;10 setCollapsed: React.Dispatch<React.SetStateAction<boolean>>;11 mobileOpen: boolean;12 setMobileOpen: React.Dispatch<React.SetStateAction<boolean>>;13 variant: SidebarVariant;14}1516const SidebarContext = React.createContext<SidebarContextValue | null>(null);1718export interface SidebarProviderProps {19 children: React.ReactNode;20 variant?: SidebarVariant;21 defaultCollapsed?: boolean;22 defaultMobileOpen?: boolean;23}2425function SidebarProvider({26 children,27 variant = "default",28 defaultCollapsed = false,29 defaultMobileOpen = false,30}: SidebarProviderProps) {31 const [collapsed, setCollapsed] = React.useState(variant === "mini" ? true : defaultCollapsed);32 const [mobileOpen, setMobileOpen] = React.useState(defaultMobileOpen);33 const value = React.useMemo(34 () => ({ collapsed, setCollapsed, mobileOpen, setMobileOpen, variant }),35 [collapsed, mobileOpen, variant],36 );3738 return <SidebarContext.Provider value={value}>{children}</SidebarContext.Provider>;39}4041function useSidebar() {42 const context = React.useContext(SidebarContext);43 if (!context) throw new Error("useSidebar must be used within SidebarProvider");44 return context;45}4647export { SidebarProvider, useSidebar };
What it pulls in
Other registry items
Files it writes
More from poyraz
All 71 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | poyraz | Components | Free | 2 deps | |
| Alertalert | poyraz | Components | Free | 2 deps | |
| Announcement Barannouncement-bar | poyraz | Components | Free | 2 deps | |
| Autocompleteautocomplete | poyraz | Components | Free | 1 dep | |
| Avataravatar | poyraz | Components | Free | 2 deps | |
| Badgebadge | poyraz | Components | Free | 1 dep | |
| Bg Patternbg-pattern | poyraz | Components | Free | no deps | |
| Breadcrumbbreadcrumb | poyraz | Components | Free | 1 dep |
