Navbar
poyraz/navbarFreeComponent
Poyraz Soft Glass Navbar with container-responsive layout and semantic tokens.
Install it
npx shadcn@latest add https://ui.poyrazavsever.com/r/navbar.jsonSource
1"use client";23import * as React from "react";4import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";5import * as PopoverPrimitive from "@radix-ui/react-popover";6import { cva, type VariantProps } from "class-variance-authority";7import { ChevronDown, ChevronRight, ChevronLeft, Menu, Search, X } from "lucide-react";89import { cn } from "@/lib/utils";10import { useNavbarAutoHide } from "@/components/ui/hooks/use-navbar-auto-hide";1112/* ================================================================== */13/* CONTEXT */14/* ================================================================== */1516interface NavbarContextValue {17 mobileOpen: boolean;18 setMobileOpen: React.Dispatch<React.SetStateAction<boolean>>;19 variant: "default" | "minimal" | "transparent" | "bordered" | "glass";20 containerClassName: string;21}2223const DEFAULT_CONTAINER = "max-w-5xl mx-auto";2425const NavbarContext = React.createContext<NavbarContextValue>({26 mobileOpen: false,27 setMobileOpen: () => {},28 variant: "default",29 containerClassName: DEFAULT_CONTAINER,30});3132const useNavbar = () => React.useContext(NavbarContext);3334/* ================================================================== */35/* NAVBAR ROOT */36/* ================================================================== */3738const navbarVariants = cva("w-full", {39 variants: {40 variant: {41 default: "bg-background text-foreground",42 minimal: "bg-background text-foreground",43 transparent: "bg-transparent text-foreground",44 bordered: "bg-background text-foreground border-b border-border-strong",45 glass:46 "bg-glass text-foreground border-b border-glass-border-outer shadow-[var(--poyraz-glass-shadow)] backdrop-blur-glass",47 },48 },49 defaultVariants: { variant: "default" },50});5152export interface NavbarProps53 extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof navbarVariants> {54 /** Show sticky behavior */55 sticky?: boolean;56 /** Auto-hide when scrolling down, reveal when scrolling up */57 autoHide?: boolean;58 /** Class name applied to inner containers for width constraint */59 containerClassName?: string;60}6162const Navbar = React.forwardRef<HTMLElement, NavbarProps>(63 (64 {65 className,66 variant = "default",67 sticky = false,68 autoHide = false,69 containerClassName,70 children,71 ...props72 },73 ref,74 ) => {75// … truncated
What it pulls in
npm packages
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 |
