header-3
fulldev-ui/header-3FreeBlock
fulldev/ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by fulldev/ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.full.dev/r/header-3.jsonSource
1---2import { cn } from "@/lib/utils"3import { Button } from "@/components/ui/button"4import { Header, HeaderContainer, HeaderGroup } from "@/components/ui/header"5import { Icon } from "@/components/ui/icon"6import { Logo, LogoImage, LogoText } from "@/components/ui/logo"7import {8 NavigationMenu,9 NavigationMenuItem,10 NavigationMenuLink,11 NavigationMenuList,12} from "@/components/ui/navigation-menu"13import { Separator } from "@/components/ui/separator"14import {15 Sheet,16 SheetClose,17 SheetContent,18 SheetDescription,19 SheetHeader,20 SheetTitle,21 SheetTrigger,22} from "@/components/ui/sheet"2324type Props = {25 class?: string26 logo: {27 label: string28 href: string29 src?: any30 srcLight?: any31 srcDark?: any32 alt?: string33 }34 navigation: {35 label: string36 href: string37 links?: {38 label: string39 href: string40 }[]41 }[]42 buttons: {43 label: string44 href: string45 icon?: string46 variant?: "default" | "outline" | "secondary" | "ghost"47 }[]48}4950const { class: className, logo, navigation, buttons } = Astro.props51---5253<Header class={cn("border-b", className)}>54 <HeaderContainer class="justify-between">55 <HeaderGroup>56 <Logo href={logo.href}>57 <LogoImage58 src={logo.src}59 srcLight={logo.srcLight}60 srcDark={logo.srcDark}61 alt={logo.alt}62 />63 {logo.label && <LogoText>{logo.label}</LogoText>}64 </Logo>65 </HeaderGroup>66 <HeaderGroup class="ml-auto hidden justify-end gap-1 lg:flex">67 <NavigationMenu class="hidden max-w-none justify-end lg:flex">68 <NavigationMenuList>69 {70 navigation.map((item, index) => (71 <NavigationMenuItem value={`nav-${index}`}>72 <NavigationMenuLink href={item.href}>73 {item.label}74 </NavigationMenuLink>75 </NavigationMenuItem>76 ))77 }78 </NavigationMenuList>79 </NavigationMenu>80 <Separator81 orientation="vertical"82 class="mx-1 hidden h-5 self-center lg:block"83 />84 <slot />85 {86 buttons.map(({ label, icon, ...button }) => (87 <Button88 as="a"89 size={icon && !label ? "icon-sm" : "sm"}90 aria-label={label}91 target={button.href.startsWith("http") ? "_blank" : undefined}92 rel={button.href.startsWith("http") ? "noreferrer" : undefined}93 {...button}94 >95// … truncated
What it pulls in
Other registry items
Files it writes
More from fulldev/ui
All 144 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| article-1article-1 | fulldev/ui | Blocks | Free | no deps | |
| article-2article-2 | fulldev/ui | Blocks | Free | no deps | |
| articles-1articles-1 | fulldev/ui | Blocks | Free | no deps | |
| articles-2articles-2 | fulldev/ui | Blocks | Free | no deps | |
| articles-3articles-3 | fulldev/ui | Blocks | Free | no deps | |
| articles-4articles-4 | fulldev/ui | Blocks | Free | no deps | |
| banner-1banner-1 | fulldev/ui | Blocks | Free | no deps | |
| banner-2banner-2 | fulldev/ui | Blocks | Free | no deps |
