{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "header-1",
  "registryDependencies": [
    "@fulldev/button",
    "@fulldev/header",
    "@fulldev/icon",
    "@fulldev/logo",
    "@fulldev/navigation-menu",
    "@fulldev/sheet"
  ],
  "files": [
    {
      "path": "src/components/blocks/header-1.astro",
      "content": "---\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport { Header, HeaderContainer, HeaderGroup } from \"@/components/ui/header\"\nimport { Icon } from \"@/components/ui/icon\"\nimport { Logo, LogoImage, LogoText } from \"@/components/ui/logo\"\nimport {\n  NavigationMenu,\n  NavigationMenuItem,\n  NavigationMenuLink,\n  NavigationMenuList,\n} from \"@/components/ui/navigation-menu\"\nimport {\n  Sheet,\n  SheetClose,\n  SheetContent,\n  SheetDescription,\n  SheetHeader,\n  SheetTitle,\n  SheetTrigger,\n} from \"@/components/ui/sheet\"\n\ntype Props = {\n  class?: string\n  logo: {\n    label: string\n    href: string\n    src?: any\n    srcLight?: any\n    srcDark?: any\n    alt?: string\n  }\n  navigation: {\n    label: string\n    href: string\n    active?: boolean\n    links?: {\n      label: string\n      href: string\n    }[]\n  }[]\n  buttons: {\n    label: string\n    href: string\n    icon?: string\n    variant?: \"default\" | \"outline\" | \"secondary\" | \"ghost\"\n  }[]\n}\n\nconst { class: className, logo, navigation, buttons } = Astro.props\n---\n\n<Header class={cn(\"\", className)}>\n  <HeaderContainer class=\"items-center justify-between gap-4\">\n    <HeaderGroup>\n      <Logo href={logo.href}>\n        <LogoImage\n          src={logo.src}\n          srcLight={logo.srcLight}\n          srcDark={logo.srcDark}\n          alt={logo.alt}\n        />\n        {logo.label && <LogoText>{logo.label}</LogoText>}\n      </Logo>\n    </HeaderGroup>\n    <NavigationMenu class=\"hidden flex-none justify-start lg:flex\">\n      <NavigationMenuList class=\"justify-start\">\n        {\n          navigation.map((item, index) => (\n            <NavigationMenuItem value={`nav-${index}`}>\n              <NavigationMenuLink href={item.href} active={item.active}>\n                {item.label}\n              </NavigationMenuLink>\n            </NavigationMenuItem>\n          ))\n        }\n      </NavigationMenuList>\n    </NavigationMenu>\n    <HeaderGroup class=\"ml-auto hidden flex-1 justify-end lg:flex\">\n      <slot />\n      {\n        buttons.map(({ label, icon, ...button }) => (\n          <Button\n            as=\"a\"\n            size={icon && !label ? \"icon-sm\" : \"sm\"}\n            aria-label={label}\n            target={button.href.startsWith(\"http\") ? \"_blank\" : undefined}\n            rel={button.href.startsWith(\"http\") ? \"noreferrer\" : undefined}\n            {...button}\n          >\n            {icon && <Icon name={icon} />}\n            {label}\n          </Button>\n        ))\n      }\n    </HeaderGroup>\n    <Sheet class=\"lg:hidden\">\n      <SheetTrigger\n        variant=\"ghost\"\n        size=\"icon-sm\"\n        class=\"ml-auto\"\n        aria-label=\"Open menu\"\n      >\n        <Icon name=\"menu\" />\n      </SheetTrigger>\n      <SheetContent side=\"right\" class=\"p-0\">\n        <SheetHeader class=\"sr-only\">\n          <SheetTitle>Menu</SheetTitle>\n          <SheetDescription>Site navigation and actions.</SheetDescription>\n        </SheetHeader>\n        <div class=\"flex h-full flex-col gap-6 px-4 py-12\">\n          <nav aria-label=\"Main navigation\" class=\"flex flex-col gap-1\">\n            {\n              navigation.map((item) => (\n                <SheetClose variant=\"ghost\" class=\"justify-start\">\n                  {item.label}\n                </SheetClose>\n              ))\n            }\n          </nav>\n          <div class=\"mt-auto flex flex-col gap-2\">\n            <slot />\n          </div>\n        </div>\n      </SheetContent>\n    </Sheet>\n  </HeaderContainer>\n</Header>\n",
      "type": "registry:block"
    }
  ],
  "type": "registry:block"
}